SYJ

个人博客

欢迎来到我的个人博客~


MACOS搭建Linux环境(虚拟机)及zsh配置

[TOC]

  现在在公司需要我进行linux的开发,需要学习一些linux的学习。工欲善其事,必先利其器所以务必先搭建好linux的环境,本人在安装linux的过程中,如何安装及遇到的一些问题在这里做下总结。 本篇介绍两种虚拟机()的安装及zsh的配置。
  

VirtualBox虚拟机安装

  • 首先,在Oracle官网下载Mac版的VirtualBox: MAS OS
  • 下载完成之后打开VirtualBox-x.x.xx-xxxxxx-OSX.dmg文件,然后双击即可开始安装
  • 如果这一步没问题,那么恭喜你安装成功了。(如果在这一步之后就卡在验证环节上了,使用以下命令解决)

    打开终端,进入VirtualBox所在的目录,一般是/Volumes/VirtualBox,然后执行安装命令:

      sudo installer -pkg VirtualBox.pkg -target /
    

    返回信息:

      Password:
      installer: Package name is Oracle VM VirtualBox
      installer: Installing at base path /
      installer: The install was successful.
    

    注意:需要以root权限执行上面的命令,否则会提示如下信息

      VirtualBox$: installer -pkg VirtualBox.pkg -target /
      installer: Must be run as root to install this package.
    

VirtualBox安装CentOS

第一步:安装CentOS

  • 进入官网下载,下载镜像,选择要下载的镜像版本(这里版本根据自己的选择去下载,我用的是DVD ISO,如果只是了解一下学习,可以使用最小化安装)。
  • 选择一个镜像版本下载即可。

第二步:初始化

  • 打开VirtualBox,点击新建。

  • 名称和虚拟机文件存放路径根据自己需要进行设置,类型选择Linux,版本选择Linux(64-bit),点击下一步

  • 分配内存(可以理解为虚拟机最大可占用宿主机的多少内存。),根据自己电脑配置和需要进行设置即可,我选择它推荐的512M,点击下一步

  • 选择第二个现在创建虚拟硬盘即可,点击下一步

  • 选择虚拟硬盘文件类型,默认即可,点击下一步

  • 默认即可,点击下一步

  • 默认即可,点击创建

第三步:启动

  • 点击启动;

  • 选择我们刚才下载好的那个CentOS安装包;

  • 选择好后如下,点击启动;

  • 默认是第二个,但我们选择第一个选项,直接安装CentOS7,不测试这个镜像是否损坏。

  • 稍等一下,我们就会看到语言选择界面,这里以中文为例,点击继续

  • 稍等一下,我们会看到如下界面,提示必须完成带有黄色感叹号的内容,才能进行下一步,我们点击安装位置

  • 如果不需要手动分区,直接点击完成即可。

  • 此时黄色感叹号消失,我们现在点击网络与主机名

  • 这里选择打开以太网,减少后期对网络的配置,点击完成

  • 点击开始安装

  • 点击ROOT密码创建用户

  • 接下来需要耐心地等待安装,差不多要二十分钟,之后点重启

  • 安装完成。

遇到的问题:

在安装的过程中,遇到了无法使用中文和无法设置屏幕分辨率(设置完成之后下次重启还会恢复默认)在这里记录一下解决办法(ps:我并没有完全解决这个问题,之后我就切换成了VMware安装Ubuntu系统,下边会介绍其安装方式);

无法使用中文:
  • 已经在安装CentOS时设置了中文输入法,在“设置”-“区域与语言”选项里也可以看到如下图所示的界面,但在文档中切换后无法使用的问题:

  • 方法:点击输入源向中的“+”,再点击“更多”(即向下的省略号):

  • 接着在最下行的搜索框中输入“China”,选择“汉语(Intelligent Pinyin)”,点击“添加”按钮(我并没有发现这个,所以一直没有很好的解决这个):

  • 完成后,在后续的输入法切换中就可以正常使用了:
centos 7 修改系统屏幕分辨率
  • 获得显示器名称

      $ xrandr
    
  • 获得新添加分辨率的参数

      $ cvt 1440 900
    
  • 增加新的分辨率(–newmode后面的参数就是使用cvt的返回值Modeline后面的部分)

      $ xrandr --newmode "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
    
  • 为当前显示增加这个分辨率

      $ xrandr --addmode VGA1 1440x900_60.00
    
  • 设置分辨率

      $ xrandr --output VGA1 --mode 1440x900_60.00
    
  • 分辨率修改过来了,但是这还没完,要是重新启动系统这个分辨率又没了。还需要编辑/etc/gdm/init/default文件,在最后exit 0的前面增加两条指令即可如下:

      xrandr --newmode "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
      xrandr --addmode VGA1 1440x900_60.00
    	
      exit 0
    

VirtualBox安装Ubuntu

在这个系统我没有安装,点击这个链接按照这个步骤进行安装该就是OK的.

VMware虚拟机安装

介绍在macOS系统下使用VMware Fusion虚拟机安装Ubuntu 18.04.2的方法,虚拟机我们选用VMware Fusion 11.5.1版(官网最新版)。

安装VMware:

  • 下载VMware,不过这个需要激活,所以我找到了一个可以免费下载的破解版本,可以直接点击下载

  • 安装VMware Fusion,下载完成后双击VMware-Fusion(.dmg文件);

  • 继续双击,按照要求输入电脑权限密码,安装非常简单,直接配置下去就行,关于注册码,可以用我那个链接下载下来的,里边有获取注册码的方法;

VMware安装Ubuntu:

第一步:下载Ubuntu镜像

进入官网下载,下载镜像,选择要下载的镜像版本(这里版本根据自己的选择去下载,我用的是Ubuntu Desktop版本)。

第二步:初始化VMware虚拟机

  • 打开安装好的VMware–点击创建自定虚拟机–继续:

  • 接下来选择Linux — Ubuntu 64,继续:

  • 指定引导固件选择传统BIOS,继续:

  • 选择新建虚拟磁盘,继续:

  • 虚拟机的配置已经完成,出现下图点击完成:

  • 到了这个页面,设置保存的name,选择好存储路径,点击存储继续下去:

  • 出现下图后正常,点击箭头所指工具符号:

  • 在Ubuntu 64配置中选择CD/DVD:

  • 打开CD/DVD后 ,点击上下选择键–选择一个光盘或者光盘映像–选择上面下载的Ubuntu 18.04.2镜像文件(.iso)(注意自己下载后保存的路径)打开–然后勾选连接CD/DVD驱动器 – 关闭即可:

  • 此时点击上面菜单栏里的虚拟机–重新启动即可,如下图所示:

第四步:进入Ubuntu 18.04.2安装界面

  • 拉到最下面选择中文(简体)– 安装Ubuntu:

  • 键盘布局–汉语–汉语–继续,如下图标识:

  • 软件一般都装一下比较好,选择后继续,同时选择的多加载的就慢一点:

  • 选择清除整个磁盘并安装Ubuntu –现在安装,当然,你也可以自己创建分区,或调整分区,包括大小:

  • 将改动写入磁盘,点击继续:

  • 选择Ubuntu18.04.2系统的时区设置,根据你所在的地方选择,如果你在国内,那就选择北京或者上海,点击继续:

  • 设置用户名和密码页,请务必记住所设置的用户名及密码,计算机名取一个你喜爱的名字即可:

  • 进入自动安装界面,等待一会儿:

  • 安装完成,如下图,点击下图中的现在重启:

  • 第一次进入Ubuntu 界面,进入工具栏,把连接CD/DVD驱动器的勾去掉(在VMware Fusion虚拟机中操作),按回车,这个界面可能不会出现,如下所示:

  • 成功进入到Ubuntu 18.04.2系统桌面

  • 安装成功

第五步:安装VMware Tools

  • 在启动的虚拟机界面,点击VMware设置栏 虚拟机 ,点击安装VMware Tools,我这个已经安装,所以是重新安装;

  • 在linux的文件管理器里打开光驱的界面,复制VMwareTools-10.2.5-8068393.tar.gz到桌面

  • 在桌面上右键,单击打开终端

  • 输入cd 桌面/,按下Enter,之后输入tar zxpf VMwareTools-10.2.5-8068393.tar.gz,按下Enter

  • 输入cd vmware-tools-distrib/,按下Enter

  • 输入sudo ./vmware-install.pl,按下Enter

  • 输入密码,注意在linux的终端里输入密码默认是不显示的

  • 之后一直点Enter就可以了

  • 安装完成,在上边显示按钮上可以设置屏幕分辨率,在设置里设置文件共享等操作了。

zsh终端配置

zsh安装

  • 查看支持的shell工具

      cat /etc/shells
    
  • 为什么要使用zsh? 为什么使用zsh,在这里就不用说了,用过的人不必讲,网上也有很多讲zsh的好处,可以去查看及与bash的区别;

  • 安装zsh Mac OS本身自带zsh,所以不用安装;在linux上,需要进行安装zsh: centOS:

      sudo yum -y install zsh **Ubuntu:**
    
      sudo apt-get -y install zsh
    
  • 由于自己配置zsh比较麻烦,这边有大神已经给我们配置好了,我们只需拿来使用就行了,这个工具叫oh My Zsh,执行下边命令即可安装:

      sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    
  • 这个命令之前必须安装git

    yum -y install git 
    或者
    apt-get -y install git
    
  • 这个配置需要在普通用户和超级用户都要安装一遍,MAC一般不需要root用户,但是linux必须都要安装一遍;可以通过sudo -i进入root用户;

  • 安装完成之后,应该变成这个样子(网上截图):

  • 查看是否已经存在oh-my-zsh文件:

      ls -la ~ | grep oh
    	
      lrwxr-xr-x    1 syj   staff        19 12 19  2016 .oh-my-zsh -> dotfiles/.oh-my-zsh
      drwxr-xr-x    4 syj   staff       128  1 21  2019 .oh_my_wechat
    
  • 先用chsh -s /bin/zsh选择为默认的shell,用echo $SHELL查看当前的shell工具(应该返回这个):

      /bin/zsh
    

zsh配置

  • ~/.zshrc文件中,ZSH.THEME="robbyrussell"这一行即是设置主题的,robbyrussell就是主题名称,你可以把它换成别的名称,怎么知道有哪些名称可以换呢?执行命令ls -l ~/.oh-my-zsh/themes出来的都是主题,但要注意主题名称不包括. zsh-theme后缀,至于每个主题的样式是怎样的,你可以查看该项目的WIKI Oh My Zsh Themes注意设置后用source ~/.zshrc重新加载一下。

  • 修改zsh主题 这个是zsh的语法,可以输入命令cd ~/.oh-my-zsh/themes进入themes的目录,使用语法编辑themes;比如说我使用的agnoster.zsh-theme主题,我就给他修改成这样:

       prompt_ context() {
        if [ [ "$USER" != "$DEFAULT_ USER" I -n "$SSH_CLIENT" ]] ; then
      prompt_ segment 001 white "%B%n%b"
      fi
      } **解释一下: 001, white, ”%B%n%b”分别是三个参数,按顺序分别表示:背景色,前景色(文字颜色),文字。%n表示当前用户名(切换到root, %n就是root) ,%n被大写的%B和小写的%b包起来,表示加粗(Bold粗体); **
    
  • 显示背景色

          spectrum_bls
    
  • 显示前景色

          spectrum_ls
    
  • 配置powerline vim使用powerline之后可以在每个模式的时候的下边都会有个状态栏显示每个状态,还有文件名等,非常的方便,可以下边这个演示。

zsh使用powerline的演示,主要是不同用户颜色不-样,然后如果是git目录会显示当前分支(其实git是 否有文件可以add,commit等等都会显示不同的状态的) ;

  • 安装powerline 为了避免多用户使用多份powerine,我们把powerline脚本放在/usr/local下,就像我们安装软件也放在那下边一-样。powerline是开源的,代码就在github.上,所以我们直接把它clone下来即可:

      git clone https://github.com/powerline/powerline.git /usr/local/powerline
    
  • 本身powerline是python脚本,如果出现报错python目录错误,重新安装一下python就好。

  • 我们刚刚git clone的文件下有个/usr/local/powerline/scripts目录,一些命令需要会被powerline调用;所以我们在.zshrc添加一行命令(别忘了source一下):

      export PATH=/usr/local/powerline/scripts:$PATH
    
  • 安装powerline字体 下载fonts

    git clone https://github.com/powerline/fonts.git 进入目录

    cd fonts 安装

    ./install.sh

  • 执行成功就可以把fonts目录删了
  • 然后执行: linux:

      wget -O ~/.local/share/fonts/PowerlineSymbols.otf https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf   mac:
    
      wget -O ~/Library/Fonts/PowerlineSymbols.otf https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf
    
  • 然后把字体文件对应的配置文件下载到字体配置文件目录中(这一步mac不用做,Linux要做):

      wget -O /etc/fonts/conf.d/10-powerline-symbols.conf https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf
    
  • 强制刷新字体缓存(这一步mac不用做,Linux要做):

      fc-cache -vf ~/.local/share/fonts/
    
  • 使用powerline 在.zshrc文件下边导入下边命令,之后source一下( . 后有个空格):

      . /usr/local/powerline/powerline/bindings/zsh/powerline.zsh
    
  • 安装zsh-autosuggestions、autojump支持、zsh-syntax-highlighting

      git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
    	
      git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
    
      macOS:		
      brew install autojump
      CentOS:
      sudo yum -y install autojump
      Ubuntu:
      sudo apt-get install autojump
    

之后再.zshrc文件的plugins=()加入以下代码,保存退出,source一下,之后退出终端就可以使用了:

	plugins=(
	  git 
	  autojump 
	  zsh-syntax-highlighting
	  zsh-autosuggestions
	) * 更多zsh命令可以执行查找。也可以看这篇[文章](https://www.xiebruce.top/590.html#MacLinuxshell),感谢作者。 

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦