美文网首页0基础自学linux
0基础自学linux运维-0.6-centos7最小化安装

0基础自学linux运维-0.6-centos7最小化安装

作者: hualinux | 来源:发表于2019-06-18 00:09 被阅读26次

    一、环境说明

    1.1 环境说明:

    我在win7 64位(8G内存)上安装一个Vmware软件,在VM上安装cenots7最新版本

    所需软件:

    Vmware:版本10.0.3 build-1895310,(也可以是virtualbox,个人偏向vm)

    Centos7:使用最新版本,最小化安装,目前最新版本为7.6

    1.2 Vmware软件安装

    我这里使用的是vm虚拟机安装,因为是win7

    64位,所以安装的是vm版本10

    如果是win8/win10建立安装版本10以上

    1.3 centos7镜像下载

    打开centos官网https://www.centos.org

    我在这里选择Minimal ISO即最小化安装,如果需要系统有图形界面的可下载DVD ISO

    在弹出的页面中,是最新的centos ISO下载列表,在列表中选择国内的ISO下载镜像,我这里选择的是阿里,阿里在做镜像做贡献上不错的。


    二、centos7安装

    2.1 建立VM虚拟机

    打开安装好的VM虚拟机,我这里是版本10,如果版本不同可能会有点出入

    Centos7最小化建议最小内存是1.5G,实验一般2G-3G

    2.2 为VM添加网卡及删除多余设备

    2.2.1 安装环回网卡

    为了模拟线上云主机,我这里需要添加多一个网卡在添加网卡之前我安装了一个lookup网卡并配置IP地址为192.168.3.200设置为192.168.3.0网段

    Win7 loopback网卡安装教程:https://jingyan.baidu.com/article/046a7b3eef6d69f9c27fa9ea.html

    如果是win8/win10,它是没有loopback网卡的概念的,可以添加“Microsoft KM-TEST环回适配器”教程如下:

    https://jingyan.baidu.com/article/5552ef47c0ede8518efbc957.html

    如果你觉得麻烦,也可以不添加“环回适配器”,只用NAT网址访问也行。

    或者直接用VM自带的host网卡也行

    2.2.2 配置VM网络地址

    安装完之后配置一个VM网卡地址

    查看我虚拟机VM网络的配置情况,我只留下3个网络,2个桥接,1个NAT,其中:

    NAT用来虚拟机上网,我配置了IP网段为192.168.128.0/24

    桥接环回网卡主要是充当内网使用,我配置了IP网段为192.168.3.0/24

    2.2.3 添加虚拟网卡和删除不必要设备

    为了模拟云主机,我添加多一个网卡充当内网连接使用,并删除不必要的设备,操作如下:

    移除完“打印机”和“USB控制器”后,点“添加”


    2.2 安装centos7

    2.2.1 载入ISO镜像文件

    在“虚拟机设置”中点“CD/DVD(IDE)”à“使用ISO映像文件”,添加刚刚下载的centos 7.6的ios文件,如下图:

    双击界面,进入虚拟机操作:


    2.2.2 选择语言

    接下来会加载一些东西,不用管,等下会弹出一个图形界面如下:


    2.2.3 配置IP地址

    为了模拟云主机环境,外网地址是固定IP地址,内网也是,所以我手工配置一下IP地址

    同理为设置另一块网卡添加静态IP地址:

    这样2个网卡配置完了,配置完之后要检查一下,2个网卡是否处于开机自动打开状态

    一切没问题,点“完成”


    2.2.4 手工分区(可选)

    为了更有针对性,可以选择手工分区,如果不选即使用默认分区,一般分区最少要求

    /:根目录分区

    /boot:相当于win的引导分区,一般300-500M就够了

    Swap:

    虚拟内存,一般需要,特别的情况如k8s  kubeadm特别情况不需要,一般设置为内存

    的1.5-2倍

    /var:

    如果缓存使用很大,在一块盘不够的情况下,需要独立出来,则选择此分区,需要加多

    一块磁盘,如是云环境不建议划分,普通找到/var目录哪个目录大,单独购买独立磁盘

    或对象存储(如阿里对象存储oss),然后挂载,最后再用软连接覆盖/var下具体目录

    /home:

     家目录分区:一般不用单独出来

    所以说我们普通的主要划分:/、/boot、swap分区即可,继续操作:

    同理,也添加其它分区,如下

    在弹出的对话框中选择“接受更改”


    2.2.5 开始安装

    所有都配置完之后,点右下角的“开始安装”,它就会自动进入安装界面

    安装之后最好还是建立一个普通用户,我这里建立一个普通的用户如

    hua密码为123456,因为密码简单所以要多点几次

    最后等待安装完成,最后点“重启”即可

    重启后会进入系统,因linux最小化默认是字符界面是不同有图形的

    可以输入用户名root,密码123456a试下,输入“exit”命令会退出界面

    物理机ping一下是否通,打开命令提示符


    2.3 通过SSH连接centos7

    2.3.1 下载免费xshell

    我们假设centos7放在阿里云中,不能直接点界面输入密码,需要远程ssh连接工具,我这里推荐使用xshell,官网有免费家庭版本,官网链接地址为:

    https://www.netsarang.com/zh/free-for-home-school

    注:ssh这种保存有密码的工具不建议使用文件破解版,一般都会有木马获取敏感信息

    2.3.2 xshell连接centos7

    完成 之后点“连接”,就没连接之前就会弹出一个保存日志的对话框

    发现报警告,解决如下:打开:文件-->属性

    关闭SSH,再重新连接,问题解决:

    #测试是否能正常上网


    2.3.3 设置内网开机启动

    sed -i '/ONBOOT/s/no/yes/'

    /etc/sysconfig/network-scripts/ifcfg-ens33

    grep 'ONBOOT'

    /etc/sysconfig/network-scripts/ifcfg-ens33

    #重启

    shutdown -r now

    #再用xshell登录,查看内网网卡是否自动启动

    ip addr

    三、centos7配置

    为了方便使用需要为centos7做一些简单的配置及修改

    3.1 安装基础软件及基础配置

    3.1.1 centos7安装兼容包(已安装)

    服务器端和客户端同时操作

    #兼容centOS6之前的命令

    yum install -y net-tools

    3.1.2关闭防火墙

    #停止firewall

    IT网,http://www.it.net.cn

    #禁止firewall开机启动

    systemctl stopfirewalld.service

    systemctl disable firewalld.service

    #如果安装了兼容性工具net-tools 可以使用如下命令:

    service firewalld stop

    chkconfig firewalld off

    3.1.3关闭selinux

    一般建议关闭selinux,不然安装你修改一些软件配置路径不符合selinux规范可能会报错

    软件启动不了!!这个是弊大于利的东西。

    #临时关闭:

    setenforce off

    #永久性关闭:

    sed -i's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

    sed -n '/SELINUX=/p'/etc/selinux/config

    #要生效需要重启

    shutdown -r now

    3.1.4时间同步(可选)

    有些软件时间性要求比较强的,如同步类,数据库主从,做实验也最好同步一下时间

    yuminstall ntp -y

    /usr/sbin/ntpdatepool.ntp.org

    echo'#time sync by hua'>>/var/spool/cron/root

    echo'*/5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null2>&1'>>/var/spool/cron/root

    crontab-l

    3.1.5 安装常用软件

    yum install -y vim  lrzsz wget curl man tree rsync

    3.1.6 安装第三方源epel源及remi源

    #安装epel源可以下载比较新版本的软件及部分默认没用的yum软件

    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

    wget

    http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

    rpm --import

    http://rpms.famillecollet.com/RPM-GPG-KEY-remi

    rpm -ih remi-release-7.rpm

    3.1. 7 安装gcc gcc++

    很多软件都是依赖于gcc及gcc++,默认的yum安装版本只有4.x有点低,一般安装5.x以上,操作见“附录一”

    3.1.8 在history命令前添加时间显示

    echo '#by hua '>>

    /etc/bashrc

    echo 'export

    HISTFILESIZE=100000000' >> /etc/bashrc

    echo 'export HISTSIZE=1000000'

    >> /etc/bashrc

    echo 'export

    PROMPT_COMMAND="history -a"' >>/etc/bashrc

    echo 'export

    HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S "' >> /etc/bashrc

    source /etc/bashrc


    3.1.9 修改文件连接数

    #刚安装完系统的时候默认文件连接数为1024个,可以使用命令“ulimit -n”查看

    #这样太小了不够用,所在生产环境一般都会修改此项。阿里云默认的tcp连接数是65535,#过大会报警,这样我们参照大哥的做法,因为一般他们都测试大量测试的。

    cat>>/etc/security/limits.conf<<EOF

    #by hua 2019.5

    * soft nofile 65535

    * hard nofile 65535

    EOF

    tail -5

    /etc/security/limits.conf

    3.2 基础安全设置

    3.2.1禁止root远程登录及修改默认ssh端口

    一般公认的超级用户如win的是administrator,linux的是root是不安全的,

    公认的一些远程登录端口也是不安全的,如win的远程桌面3389,root的ssh 22。

    简单的防范思路是“能修改则修改,不能修改则禁止”,如linux的root一般不建议修改的,所以要实现禁止远程登陆,但不会影响本地登录

    3.2.2 禁止root及修改默认端口操作

    生产环境中一般禁止远程直接用root用户登陆,只能普通用户登陆,登陆之后用su -切到root,操作如下:

    #1.新建立一个普通用户如hua,我刚才在安装的时候建立了,所以不用添加也行

    useradd hua

    #为用户设置密码,设置成功后记得测试登陆一下,免得禁止root后有问题

    passwd 123456

    #2. 修改sshd配置,禁止直接用root登陆,执行如下命令

    cat>>/etc/ssh/sshd_config<<EOF

    #################by hua###2019.5####

    #deny root login

    PermitRootLogin no

    #change the ssh port

    Port 10000

    #deny empty password

    PermitEmptyPasswords no

    #deny DNS

    UseDNS no

    #########################################

    EOF

    #查看是否写入

    tail -10 /etc/ssh/sshd_config

    #重启ssh

    systemctl restart sshd

    #不要关闭原来的xshell窗口,新打开连接看一下

    上面是22端口不能登陆了,修改为10000端口试下,发现一直弹出如下对话框

    上图中说明不能用root直接远程登录了,要改为普通用户,我这里是hua,密码123456

    发现能登录,如下图:

    #如果你要切换到root账号可以执行“su –”命令,然后回车输入root密码即可

    收尾工作

    上面的所有安装之后,为了以后做实验可以重复使用建议创建vm快照,

    为了能让快照可以移到其它电脑的vm上运行,所以建议先关机再创建快照,操作如下:

    #1.关闭centos7,切换到root账号下执行

    shutdown -r now

    #2. 创建vm快照,创建之前把DVD指定的ISO系统文件去掉,如下图所示:

    创建快照:


    附录一、安装gcc 、gcc++

    #1.卸载c和c++,默认4.8.5版本太低了,在这里没有安装

    yum remove -y gcc gcc-c++ -y

    #2.安装一些依赖

    yum install -y glibc  glibc-develcpp libmpc mpfr

    #3.去gcc官方安装新版本的gcc

    #直接https://www.softwarecollections.org/en/搜索“devtoolset”,目前发现是7

    #点版本7会打开链接https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7

    #查看最版本

    #发现最新版本为8了,返回页面devtoolset-7

    #https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7根据说明安装

    #不同的是把版本7改为版本8

    yum install -y centos-release-scl

    yum install -y devtoolset-8-gcc.x86_64 devtoolset-8-gcc-c++.x86_64

    #4.查看gcc和gcc-c++版本

    [root@vm76 ~]# rpm -qa|grep devtoolset

    devtoolset-8-libstdc++-devel-8.2.1-3.el7.x86_64

    devtoolset-8-gcc-8.2.1-3.el7.x86_64

    devtoolset-8-runtime-8.0-2.el7.x86_64

    devtoolset-8-binutils-2.30-47.el7.x86_64

    devtoolset-8-gcc-c++-8.2.1-3.el7.x86_64

    #5. 查看查看gcc和gcc-c++版本bin目录,bin目录都一样

    rpm -ql devtoolset-8-gcc-8.2.1-3.el7.x86_64|grep "bin/gcc"

    rpm -ql devtoolset-8-gcc-c++-8.2.1-3.el7.x86_64|grep "bin"

    #4.设置环境变量

    echo 'exportPATH=$PATH:/opt/rh/devtoolset-8/root/usr/bin'>>/etc/profile

    source /etc/profile

    gcc -v

    g++ -v

    #为了方便记忆c和c++做一个软链接

    ln -s /opt/rh/devtoolset-8/root/usr/bin/gcc /usr/bin/cc

    ln -s /opt/rh/devtoolset-8/root/usr/bin/c++ /usr/bin/c++

    相关文章

      网友评论

        本文标题:0基础自学linux运维-0.6-centos7最小化安装

        本文链接:https://www.haomeiwen.com/subject/glpofctx.html