第二章 CentOS安装步骤... 18
第一节 下载... 18
第二节 分区参考... 18
第三节 安装... 19
I Step 1:引导... 19
II Step 2:配置... 20
III Step 3:登录... 23
第四节 正确关机... 24
第五节 vi基本操作... 24
第六节 网络连接... 25
I 启用网卡... 26
II 静态IP设置... 27
III 添加第二张网卡... 27
第七节 SSHd. 29
I 帐号限制... 30
II SSH Client 30
第八节 时间很重要... 30
I 时区与时间... 30
II NTP. 31
第九节 源yum... 33
I $ yum –help. 34
第十节 创建用户 35
第一章 CentOS安装步骤
CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise
Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise
Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。
第一节
下载
http://isoredirect.centos.org/centos/7/isos/x86_64/【从阿里云下载DVD版】
CentOS 7.4.1708
发行说明:https://wiki.centos.org/zh/Manuals/ReleaseNotes/CentOS7
第二节
分区参考
swap |
交换分区/虚拟内存【物理内存的1.5倍,超过3G为1倍,16G止】 |
/boot |
引导计算机所必须的文件【设置位200~512MB,最大1G即可】 |
/ |
根目录 |
/home |
这里面包含各个用户的主文件夹。 |
/opt |
这里存放用户级的应用程序 |
/usr |
存放大多数用户都可以访问的应用程序,需要足够大。 |
举例 |
/usr<=>C:\Windows /usr/lib<=>C:\Windows\System32 /usr/local<=>C:\Progrem /opt<=>D:\Software |
/var |
存放经常变动的文件,像日志文件,数据库文件等。 |
/tmp |
存放系统运行时产生的临时文件,一般定期清理或开机清理。 |
/data |
自定义 |
第三节
安装
I
Step
1:引导
上图:环境检查,不建议跳过。
下图:选择语言。
II
Step
2:配置
初次安装后附注:在这一步,设置好时区、时间、IP地址、主机名、分区划分、安装类型(最小安装/Gnome桌面)
时间与类型
Root密码
III
Step
3:登录
GNOME桌面
最小安装
第四节
正确关机
不管是Linux还是Windows,也不管是家用PC或企业服务器,都不应当使用断电方式关机。
关机前应做的:
s 谁在线:who、w
s 联网状态:netstat -a
s 后台进程:ps -aux
s 将内存中未写入硬盘的数据写入硬盘:sync
命令 |
说明 |
shutdown now |
立即关机 |
shutdown |
1 min 后关机 |
shutdown +2 |
2 min 后关机 |
shutdown 10:01 |
10:01关机 |
shutdown +2 “the machine will |
2min 后关机,并通知在线者 |
shutdown -r now |
立即重新启动 |
Exit |
用户退出:logout |
ps -ef| grep kill -9 pid |
安全剔除用户: 得到用户登录相应的进程号pid后kill |
第五节
vi基本操作
进入vi时,处于命令模式。 需要按 在插入模式下,按ESC切换到命令模式: 删除/复制/粘贴/修改 x:删除光标后面字符,X:删除光标前面字符;6x/6X:删除光标后、前6个字符。 dd:删除光标整行,6dd:删除光标及向下6行。 yw:复制光标到行尾的字符,6yw:复制光标后6个字符; yy:复制整行,3yy:复制光标及向下3行。 p:粘贴到光标的位置 r:修改光标所在的字符(但不进入插入模式); R:修改光标位置至到行尾(进入到修改模式,直到按ESC回到命令模式) u:误编辑恢复,按一次恢复一次。 光标移动 行首:^,行尾:$,首行:0,尾行:G,第5行首:5g; 光标上下页:ctrl+f/b 光标上下半页:ctrl+d/u Ctrl+G 显示当前光标所在行的行号及总行数,再输入数字11回车,光标会向下移11行。 将光标移到第11行:11G 在命令模式下,按“:”键进入命令行模式,光标移动左下角最后一行,可以输入命令:(以回车结束) 15:定位到第15行,显示行号命令:set ?aa:在文件中查找aa字符,回车后按n。取消搜索高亮:noh w !ls:执行bash的ls命令 |
永久显示行号的方法:echo ‘set nu’ >> ~/.vimrc
全局配置文件:/etc/vimrc
第六节
网络连接
测试网络是否通:Ping
-c 3 www.baidu.com
显示网卡IP信息:ip add show
查看网卡配置:ls /etc/sysconfig/network-scripts/
cat
/etc/sysconfig/network-scripts/ifcfg-接口名
将 ONBOOT值改为 yes后, #开机启用本配置,可以看出网卡默认是禁用的。
重启机器:sudo shutdown -r now
或重启网络服务: sudo
service network restart
I
启用网卡
ip link show |
显示网络接口信息 |
Cat /etc/resolv.conf DNS服务器 |
ip link set eth0 upi |
开启网卡 |
|
ip link set eth0 down |
关闭网卡 |
|
ip link set eth0 promisc on |
开启网卡的混合模式 |
|
ip link set eth0 promisc offi |
关闭网卡的混个模式 |
|
ip link set eth0 txqueuelen 1200 |
设置网卡队列长度 |
|
ip link set eth0 mtu 1400 |
设置网卡最大传输单元 |
|
ip addr show |
显示网卡IP信息 |
|
ip route list |
查看路由信息 |
II
静态IP设置
Sudo vi
/etc/sysconfig/network-scripts/ifcfg-ens32
修改内容:
BOOTPROTO=static
#dhcp改为static
ONBOOT=yes
#开机启用本配置
新增行:
IPADDR=192.168.174.131
#静态IP
GATEWAY=192.168.174.2
#默认网关
NETMASK=255.255.255.0
#子网掩码
DNS1=192.168.174.2 #DNS
配置
III
添加第二张网卡
需要手动创建接口配置文件
Sudo vi
/etc/sysconfig/network-scripts/ifcfg-ens34
第七节
SSHd
http://blog.****.net/a351945755/article/details/22661411
yum list installed | grep openssh-server
若没有安装openssh-server,通过输入
yum install openssh-server
安装vim(可以分颜色显示内容):sudo yum install vim
检查是否已运行中
CentOS 7.4默认就是运行的。
查看22端口是否开放 netstat |
查看sshd服务是否在运行 systemctl |
sshd systemctl |
[sauser@centos ~]$ sudo cat
/etc/ssh/sshd_config|grep -v ^#
[sudo] sauser 的密码:
HostKey
/etc/ssh/ssh_host_rsa_key
HostKey
/etc/ssh/ssh_host_ecdsa_key
HostKey
/etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTHPRIV
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
#使用用户名密码来作为连接验证
ChallengeResponseAuthentication
no
GSSAPIAuthentication
yes
GSSAPICleanupCredentials
no
UsePAM yes
X11Forwarding yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC
LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME
LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL
LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp/usr/libexec/openssh/sftp-server
I
帐号限制
PermitRootLogin no #禁止root登录ssh,SSHd重启后生效。
AllowUsers #允许仅指定的用户可通过SSH登录,多个用户以空格隔开
AllowGroups #允许仅指定的用户组成员可通过SSH登录,多个用户以空格隔开
DenyUsers #禁止ssh的用户,多个用户以空格隔开
DenyGroups #禁止ssh的用户组,多个用户以空格隔开
AllowUsers
root@1.2.3.4 ctos@2.3.4.5 #仅允许root/ctos二个用户从各自特定IP连接SSH。
II
SSH
Client
Windows 10 OpenSSH Client (Beta):管理可选功能,不推荐!
PuTTY: https://www.putty.org
服务器5+推荐:
X shell Free License
Home &
school users:https://www.netsarang.com/download/free_license.html
第八节
时间很重要
I
时区与时间
查看系统时区:
[root@centos
liang]# ls -l /etc/localtime
lrwxrwxrwx. 1 root root 35
1月 22
14:38 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai
修改系统时区:
ls /usr/share/zoneinfo/* #先找到时区文件,是文件不是目录,只有Shanghai没有Beijing。
ln -sf /usr/share/zoneinfo/Asia/Shanghai
/etc/localtime
#修改时区文件
修改日期与时间:
date --set 20120523 //设置为2012-05-23 00:00:00
date --set 01:01:01 //设置时间,但不改日期
date --set '20120523 01:01:01' //设置日期与时间
date
-d
具有强大的时间格式化和计算能力
date -u 查看UTC时间
date -R 以rfc-2822格式输出时间<星期 日期 时间
时区>
zdump
Hongkong 查看Hongkong时间
不要忘记同步到硬件:
clock –systohc #把系统时间设置成硬件时间
II
NTP
前提:网络正常,开放UDP/123端口(netstate -n)
rpm -q ntp 或 yum
list installed ntp 查看有没有安装ntp
访问http://www.pool.ntp.org/查找位置最近的服务器。
ntpdate cn.pool.ntp.org #手动更新本机时间,开启了ntp后使用ntpd来自动同步时间
/etc/ntp.conf
driftfile
/etc/ntp/drift #系统时间与BIOS事件的偏差记录
restrict
ipaddress mask netmask [选项]
#控制相关权限,也叫NTP安全设置
选项 |
描述 |
default |
ipaddress可以是default指所有的IP |
ignore |
关闭所有的NTP联机服务 |
otrust |
客户端除非通过认证,否则该客户端来源将被视为不信任子网 |
nomodify |
客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。 |
noquery |
不提供客户端的时间查询,用户端不能使用ntpq,ntpc等命令来查询ntp服务器 |
notrap |
不提供trap远端登陆 拒绝为匹配的主机提供模式6控制消息陷阱服务。陷阱服务是ntpdq控制消息协议的子系统,用于远程事件日志记录程序。 |
nopeer |
用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟。 不与其他同一层的NTP服务器进行时间同步 |
kod |
访问违规时发送KoD包。【阻止“Kiss |
restrict-6 |
表示IPV6地址的权限设置。 |
注:默认情况小15分钟后才会与上层NTP服务器进行时间校对。 |
|
restrict 192.168.0.0 mask #允许192.168.0.1-192.168.0.254使用本机NTP服务 restrict 192.168.0.0 mask #禁止本机向192.168.0.1-192.168.0.254提供NTP服务 restrict 127.0.0.1 restrict -6 ::1 确保localhost有足够权限且没有任何限制 |
|
默认的配置是没有没有限制任何对像,只是限制了功能。 |
Server< ntp server address>
[选项]
选项 |
描述 |
prefer |
最高优先服务器,只此服务器不可用时,才向其他服务器查询时间 |
iburst |
当一个远程NTP服务器不可用时,向它发送一系列的并发包进行检测。 |
burst |
当一个远程NTP服务器可用时,向它发送一系列的并发包进行检测。 |
NTPd
[root@centos liang]#
systemctl disable ntpd.service
Removed symlink
/etc/systemd/system/multi-user.target.wants/ntpd.service.
[root@centos liang]#
systemctl enable ntpd.service
Created symlink from
/etc/systemd/system/multi-user.target.wants/ntpd.service to
/usr/lib/systemd/system/ntpd.service.
systemctl
status ntpd.service
systemctl start
ntpd.service
systemctl stop
ntpd.service
systemctl
restart ntpd.service
ntpstat #查看ntp服务器有无和上层ntp连通
ntpq -p #查看ntp服务器与上层ntp的连通
watch
-n 5 -d ntpq -p
watch命令以周期性的方式执行给定的指令,指令输出以全屏方式显示。
-n:指定指令执行的间隔时间(秒,默认2秒);
-d:高亮显示指令输出信息不同之处;
对外提供NTP服务
firewall-cmd --zone=public --add-service=ntp
--permanent
firewall-cmd –reload
firewall-cmd --list-service
systemctl start ntpd.service
systemctl enable ntpd.service
第九节
源yum
查看当前的源:yum
repolist 或 yum repolist all
网易163源:http://mirrors.163.com/.help/centos.html
sudo mv /etc/yum.repos.d/CentOS-Base.repo
/etc/yum.repos.d/CentOS-Base.repo.backup
sudo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
sudo yum clean all #清除缓存数据
sudo yum makecache #更新缓存数据
sudo yum upgrade # sudo yum update
I
$ yum
–help
yum whatprovides ifconfig #查看ifconfig在哪个包里
已加载插件:fastestmirror
Usage: yum [options]
COMMAND
List of Commands:
check 检查 RPM
数据库问题
check-update 检查是否有可用的软件包更新
clean 删除缓存数据
clean
[headers|packages|metadata|dbcache|plugins|expire-cache|all]
deplist 列出软件包的依赖关系
distribution-synchronization
已同步软件包到最新可用版本
downgrade 降级软件包
erase 从系统中移除一个或多个软件包
fs Acts on
the filesystem data of the host, mainly for removing docs/lanuages for minimal
hosts.
fssnapshot Creates filesystem snapshots, or lists/deletes current
snapshots.
groups 显示或使用、组信息
help 显示用法提示
history 显示或使用事务历史
info 显示关于软件包或组的详细信息
install 向系统中安装一个或多个软件包
list 列出一个或一组软件包
load-transaction
从文件名中加载一个已存事务
makecache 创建元数据缓存
provides 查找提供指定内容的软件包
reinstall 覆盖安装软件包
repo-pkgs 将一个源当作一个软件包组,这样我们就可以一次性安装/移除全部软件包。
repolist 显示已配置的源
search 在软件包详细信息中搜索指定字符串
shell 运行交互式的 yum shell
swap Simple way to swap packages, instead of using shell
update 更新系统中的一个或多个软件包
update-minimal Works like upgrade,
but goes to the 'newest' package match which fixes a problem that affects your
system
updateinfo Acts on repository update information
upgrade 更新软件包同时考虑软件包取代关系
version 显示机器和/或可用的源版本。
Options:
-h, --help 显示此帮助消息并退出
-t, --tolerant 忽略错误
-C, --cacheonly 完全从系统缓存运行,不升级缓存
-c [config file], --config=[config file] 配置文件路径
-R [minutes], --randomwait=[minutes] 命令最长等待时间
-d [debug level], --debuglevel=[debug level] 调试输出级别
--showduplicates 在 list/search 命令下,显示源里重复的条目
-e [error level], --errorlevel=[error level] 错误输出级别
--rpmverbosity=[debug level name] RPM 调试输出级别
-q, --quiet 静默执行
-v, --verbose 详尽的操作过程
-y, --assumeyes 回答全部问题为是
--assumeno 回答全部问题为否
--version 显示 Yum
版本然后退出
--installroot=[path] 设置安装根目录
--enablerepo=[repo] 启用一个或多个软件源(支持通配符)
--disablerepo=[repo] 禁用一个或多个软件源(支持通配符)
第十节
创建用户
[root@localhost ~]# adduser sauser
[root@localhost ~]# passwd sauser
更改用户 sauser 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# usermod -G wheel -a ctos
安装类型为GNOME时,会要求创建一个默认加入wheel组用户,具有完全的sudo权限。