目录
====================================
第37天 第9周 20180903 周1
授课老师-徐亮伟 学生-邢永胜
第2阶段,综合架构,第1天。
====================================
全新安装CentOS7.5
可以到这里下载镜像https://mirrors.aliyun.com/centos/7.5.1804/isos/x86_64/
配置虚拟机
此步骤几乎全是点击下一步的操作,按如下图操作即可。
CentOS7.5内核版本时3.x系列,这里也可以选择其它 Linux 3.x 内核
安装时在图形化界面安装,选择2G内存,成功安装后可以重新调整成1G内存。
到这里时可以点击自定义硬件,把不需要的硬件移除,并配置好镜像光盘路径。
调整网卡名称
本节非常关键,也是安装CentOS7.5唯一需要上心操作的地方了,配置好虚拟机之后点击,开启
虚拟机,在如下界面停住。
按TAB
键,按一下空格,添加net.ifnames=0
,如下图红色部分所示所示。
这里的net.ifnames=0
是网卡命名规则,CentOS6与CentOS7默认的网卡命名规则如下:
CentOS6
net.ifnames=0
biosdevname=1
CentOS7
net.ifnames=1
biosdevname=1
也就是说一共有三种命名规则,默认,net.ifnames和biosdevname,其中biosdevname这种
规则只适用与戴尔服务器,是根据戴尔服务器BIOS来命名网卡名称的,对与一般机器其开启(1)
还是关闭(0),对网卡名称无影响。net.ifnames命名规则比较复杂,会根据机器的各种参数生成
网卡名称,在CentOS7中通常是ensxxxxx
。
因此我们可以看到在CentOS7中net.ifnames默认是开启的,如果我们不给它手动关闭
net.ifnames=0
,就会导致我们装完系统网卡名称是ensxxx
这种,关闭之后采用系统就采用
默认的网卡命名规则,也就是固定eth0, eth1
这种形式,便于我们后续管理。
编辑完毕之后,按一下回车,此时系统会自动加载到语言选择界面,期间不要再按其它按键,接着
按下面的图走。
配置时区,分区,关闭安全工具
接下来就会进入一个安装总结面板,如下图所示,在里面可以调整时区,分区,网络配置等。
首先把时区调整为中国上海,如下图所示。
配置分区,选择自动分区即可。
关闭KDUMP,这是一个磁盘安全工具,用不上。
关闭SECURITY POLICY,这是安全策略,暂时也用不上。
配置网络参数
此步骤就非常关键了,决定了我们装完后的系统能不能正常访问互联网,首先确定虚拟网络编辑器
里的NAT配置,我的如下:
点击网络配置里的Configure
,进入网络配置面板,选择IPv4菜单,配置成如下形式:
网卡名称是eth0
如果不是,说明前面编辑内核时没有正确输入net.ifnames=0
,关机重来。
其中子网掩码也可配置成24
,IP地址注意不要和已有的机器重复,DNS服务器可以逗号分隔配
置多个,虚拟机的DNS也可配置成网关地址10.0.0.254
。
配置完成后保存,返回上一层检查效果,如下图所示。
配置root账户密码
全部确认选择完毕后,点击开始安装,会进入到配置界面,在这里配置root密码为123456
,
不需要创建普通用户。
最后安装成功的界面如下,点击完成配置。
再点击重启,之后不要动,会自动选择第1个菜单,接着进入系统登录界面,ip a s
看一下IP
地址,ping baidu.com
确下网络,无误后可以poweroff
关机,把内存调整回1G内存。
最小化全新安装CentOS7基础优化
配置yum源
把系统自带的源移动到别处,也可以直接删了。
mkdir -p /tmp/repo-bak
mv /etc/yum.repos.d/* /tmp/repo-bak/
配置阿里云基础yum源和epel源
cd /etc/yum.repos.d/
curl http://mirrors.aliyun.com/repo/Centos-7.repo -o Centos-7.repo
curl http://mirrors.aliyun.com/repo/epel-7.repo -o epel-7.repo
CentOS7默认没有wget,curl的-o参数表示下载到的文件保存的路径和名称。
阿里云镜像 https://opsx.alibaba.com/mirror
安装常用软件
yum install net-tools vim tree htop iotop iftop
iotop lrzsz sl wget unzip telnet nmap nc psmisc
dos2unix bash-completion sysstat rsync nfs-utils -y
lrzsz - 用作上传下载
bash-completion - 参数也支持自动补全,该功能需要重新连接Xshell生效。
关闭防火墙
取消其开机自启
systemctl disable firewalld
关闭当前正在运行的防火墙
systemctl stop firewalld
写成下面的也一样
systemctl disable firewalld.service
systemctl stop firewalld.service
关闭SELinux
sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
setenforce 0
c命令表示把当前行的内容替换为什么什么,当然编辑配置文件修改也是一样的
优化ulimit
echo '* - nofile 65535' >> /etc/security/limits.conf
最大默认打开的文件数是1024,这里改成了65535
历史命令记录改为1万条
sed -i '/^HISTSIZE=/c HISTSIZE=10000' /etc/profile
把命令提示符改为绿色
echo "export PS1='\e[32m[\u@\h \W]\\$ \e[0m'" >> /etc/profile
source /etc/profile
$符号在这里需要两个撬棍,进行转义
添加vim配置文件
[root@as4k ~]# cat ~/.vimrc
set tabstop=4
set shiftwidth=4
set expandtab " 使用空格替换TAB
set nocompatible " 关闭兼容模式(无需兼容vi)
set showcmd " 输入的命令显示出来,看的清楚些
hi MatchParen ctermbg=Black guibg=lightblue
" Must Exists
添加一个普通用户oldboy
useradd oldboy
echo '123456' | passwd --stdin oldboy
CentOS7与CentOS6区别
关于自动补全
CentOS6和CentOS7都支持对选项和参数的自动补全,都需安装:
yum install bash-completion -y
需要重新连接Xshell或执行bash
命令,高级自动补全才能生效。
修改主机名
CentOS6修改主机名三步走:临时,永久,配置解析。临时重连生效,永久重启生效。
# hostname oldboy-xingyongsheng
# vim /etc/sysconfig/network
# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=oldboy-xingyongsheng
# vim /etc/hosts
# tail -1 /etc/hosts
10.0.0.210 oldboy-xingyongsheng
CentOS7修改主机名:hostnamectl命令
# hostname as4k
# bash
# hostnamectl set-hostname as4k
# cat /etc/hostname
as4k
可以看到CentOS7永久修改主机名直接使用hostnamectl
命令,主机名配置文件也变成了
/etc/hostname
时区修改
这个不常用,这里给出CentOS7下的修改方法。
查看时区
timedatectl list-timezones
修改时区
timedatectl set-timezone "America/Punta_Arenas"
timedatectl set-timezone "Asia/Shanghai"
系统文件目录结构
centos6 cetos7
bin -> usr/bin
sbin -> usr/sbin
lib -> usr/lib
网卡的默认命名规则
CentOS6
eth0,Start Number is 0
CentOS7
eno1: o = On bord
ens1: s = PCI
en = Ether Net
Start Number is 1
在全新安装CentOS7系统时,指定net.ifnames=0
,可以让7采用6的命名规则。
运行级别与目标(Runlevel and Target)
SysVinit Systemd
halt 0 runlevel0.target,poweroff.target
Single user mode 1 runlevel1.target,rescue.target
Multiuser, without NFS 2 runlevel2.target,multi-user.target
Full multiuser mode 3 runlevel3.target,multi-user.target
X11 5 runlevel5.target,graphical-user.target
reboot 6 runlevel6.target,reboot.target
Centos6
查看 - runlevel
临时修改 - runlevel 5
永久修改 - vim /etc/inittab
CentOS7
查看 - systemctl get-default
修改 - systemctl set-default runlevel5.target
服务管理
示例1 - CentOS7查看网卡状态
systemctl status network
示例2 - CentOS7重启网卡
systemctl restart network
示例3 - CentOS7查看所有服务启动状态
systemctl list-unit-files
示例4 - CentOS7开机不自启
systemctl disable crond
示例5 - CentOS7开机自启
systemctl enable crond
示例6 - CentOS7检查是否开机自启
systemctl is-enabled crond
OR
systemctl list-unit-files | grep crond
systemctl语法
systemctl [OPTIONS...] COMMAND [NAME...]
重点新知
查询某个命令属于哪个包(之前未安装该包)
yum provides yum-config-manager
yum provides *tree*
CentOS7查看网卡(设备)的连接状态
nmcli device
gzip和gunzip配合快速压缩解压
极简搭建本地yum仓库的方法
- 在虚拟机中装载光盘
- mount /dev/cdrom /mnt/
将原有的yum文件备份
cd /etc/yum.repos.d/
gzip *编写对应的repo文件
[root@centos7 yum.repos.d]$ cat /etc/yum.repos.d/oldboy.repo
[local]
name=This is local yum repo
baseurl=file:///mnt
这里面的local
和name=xxx,都是简单的标识,file:///mnt
,其中file://
是协议,
第3个斜线(/)表示根目录下的,mnt目录即我们刚才挂载的目录。
效果
yum remove tree -y
yum install tree -y
测试完毕后删除oldboy.repo,恢复在线yum源
\rm /etc/yum.repos.d/oldboy.repo
gunzip *
扩展阅读
redhat官方更新介绍
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/migration_planning_guide/index
RHEL7/CentOS7 vs RHEL6/CentOS6
https://cmdref.net/os/linux/note/rhel7-vs-rhel6.html