Linux虚拟机环境初始化设置

在我们实际的工作中一台物理机会分割成多台虚拟机,无论是测试环境还是生产环境都是部署在虚拟机上。应用服务则是在虚拟机上运行的,即使使用容器技术也是在虚拟机上面部署容器。

以下介绍如何快速初始化Linux虚拟机设置。

版本:CentOS7.5 +

安装过程略,建议选择最小安装。


基础组件安装

  • 修复主机名,笔者这里改成centos-linux

    hostnamectl set-hostname centos-linux
    
  • 查看Linux系统时区

    date -R
    

    +0800表示东八区,如果时区不正确则使用以下命令指定时区。

    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
  • 如果安装虚拟机时选择的是英文,则系统区域语言默认为LANG=en_US.UTF-8

    # 查看区域语言设置
    locale
    

    修改区域语言LANG="zh_CN.UTF-8"

    # 修改区域语言设置
    vi /etc/locale.conf
    

    然后重启系统使用 reboot 或者 shutdown -r now 命令均可。

    重启后再次查看区域语言为zh_CN

  • 备份yum源然后更换为阿里云的源,提升下载速度。

    # 备份源
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    
    # 下载阿里云CentOS.repo
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
  • 安装常用开发运维组件包

    请根据自身需要选择性安装。

      # 安装常用的开发组件
    yum groups install "Development Tools"
    
    # 安装wget下载工具
    yum install -y wget
    
    # 安装telnet工具
    yum install -y telnet
    
    # 安装vim编辑器
    yum install -y vim
    
    # 查询句柄占用
    yum install -y lsof
    
    # 安装文件树形图
    yum install -y tree
    
    # 安装net-tools
    yum install -y net-tools
    
    # 安装监控服务器(例如:iostat, mpstat, pidstat等等)
    yum install -y sysstat
    
    # 安装系统信息统计工具
    yum install -y dstat
    

    以上是常用组件的安装。因为设置阿里源速度相较之前快了很多。

  • 关闭防火墙

    # 查看防火墙状态
    systemctl status firewalld.service
    
    # 关闭防火墙
    systemctl stop firewalld.service
    
    # 撤销开机启动
    systemctl disable firewalld.service
    
  • 关闭安全增强

    # 设置SELinux的运行模式
    setenforce 0
    
    # 设置SELINUX=disabled
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    
  • 系统升级

    # 
    yum -y update
    
  • 清理缓存

    # 清理本地缓存
    yum clean all
    
    # 清理插件缓存
    yum clean plugins
    
    # 构建缓存
    yum makecache
    
  • 重启

    # 重启系统:以下任意命令皆可。
    
    reboot
    
    shutdown -r now
    

<font color=red>注:目前完成基础组件的安装,建议备份虚拟机镜像。需要时可直接拷贝镜像副本,后续以此虚拟机为基础扩展不同需求。</font>


Linux升级内核

某些应用对Linux内核有要求,低版本下运行可能会存在问题例如docker、k8s等。因此根据自身需要觉得是否升级Linux内核。

  • 查看版本号

    # 查看内核版本
    uname -r
    
    # 查看发行版本
    cat /etc/redhat-release
    
    78771CBE-A19D-4D7A-94E3-F2D8F6347D95.jpg

    目前系统内核版本为3.10.0

  • 启用ELRepo仓库

    # 导入ELRepo仓库的公共密钥
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    
    # 安装ELRepo仓库的yum源(CentOS 7)
    rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
    
  • 查看待升级版本

    yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
    

    这里观察到4.4根5.7两个版本,注意 kernel-ltkernel-ml 的区别。

    lt=long-term

    ml=mainline

    笔者选择kernel-lt版本,即4.4版本升级。

  • 升级Linux内核

    # 升级内核
    yum --enablerepo=elrepo-kernel install -y kernel-lt
    
  • 查看内核

    awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
    
  • 设置开机从新内核启动

    # 设置系统启动默认使用内核,0则是上图中的编号
    grub2-set-default 0 
    
  • 重启系统

    # 重启系统
    reboot
    
  • 查看内核版本

    # 查看内核版本
    uname -r
    

    重启系统内核版本为我们升级指定的版本。

至此完成Linux内核升级工作,备份虚拟机镜像。


JAVA环境安装

  • 查找是否安装过java如果存在则删除

    # 查找java
    which java
    

    提示:/usr/bin/which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)表示没有找到java运行组件。

    # 查找关键字java
    rpm -qa | grep java
    
    # 查找关键字jdk
    rpm -qa | grep jdk
    

    删除含有 open-jdk 字样的组件,如果按照笔者上述步骤安装理论上不存在。

    <font color=red>注:类似上面三个不要删除,切记!</font>

    如果存在含有 open-jdk 字样的组件则使用以下命令删除。

    # 删除指定xxxxx组件
    rpm -e --nodeps xxxxx
    
  • 查找openjdk

    # 查找openjdk1.8
    yum search java-1.8.0-openjdk
    

    java-1.8.0-openjdk.x86_64java-1.8.0-openjdk-devel.x86_64 就是我们需要安装的组件。

  • 安装openjdk

    # 安装 JRE
    yum install -y java-1.8.0-openjdk.x86_64
    
    # 安装 JDK
    yum install -y java-1.8.0-openjdk-devel.x86_64
    

    安装完成目录结构如下所示——

    # 以树形结构展示文件层级
    tree -d . -L 2
    
  • 配置环境变量

    # 编辑profile
    vim /etc/profile
    

    添加如下配置

    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin
    

    保存profile完成java环境变量配置。

  • 验证openjdk配置

    java -version
    javac -version
    

至此完成Linux虚拟机下JAVA环境的搭建工作,备份虚拟机镜像。


Docker环境安装

注:以下内容建议在 基础组件的Linux虚拟机 前提下安装——

  • 清理之前安装的Docker

    yum remove docker \
      docker-client \
      docker-client-latest \
      docker-common \
      docker-latest \
      docker-latest-logrotate \
      docker-logrotate \
      docker-selinux \
      docker-engine-selinux \
      docker-engine
    
  • 安装必要的工具

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    
  • 添加软件源(阿里云)

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  • 安装docker-ce版

    yum install -y docker-ce
    
  • 安装docker compose(非必要)

    # 下载docker-compose
    curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    # 赋权
    chmod +x /usr/local/bin/docker-compose
    
  • 启动docker并设置开机启动

    # 启动docker
    systemctl start docker.service
    
    # 设置为开机启动
    systemctl enable doceker.service
    
  • 添加镜像加速

    例如阿里云镜,可以自行去阿里云创建镜像加速连接。

    # 编辑docker配置文件
    vim /etc/docker/daemon.json
    

    添加如下内容——

    # 可以添加多个镜像仓库例如阿里云。
    # 例如xxxxx替换为阿里云地址,可以自行去阿里云创建连接。
    {
      "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com/"]
    }
    
  • 测试docker

    # 测试docker
    docker run hello-world
    

至此完成Linux虚拟机下docker环境的搭建工作,备份虚拟机镜像。

目前已经拥有了四个Linux虚拟机副本,测试或生产环境使用只需要复制相应的虚拟机副本便可,节省了大量时间提高了生产效率。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容