31 Oct - 3 Nov
1.2 无人职守自动安装Linux操作系统
- 通常采用“通过网络方式安装并结合自动应答文件,实现无人职守自动安装部署操作系统”。这种方法需要提前部署一台包含DHCP, TFTP, NFS等服务的安装服务器。
- 安装部署流程: 客户端首先在BIOS中设置通过网络启动,客户端启动后,就会通过发送广播包的方式寻找DHCP服务器。如果找到了DHCP服务器,就会向该服务器申请获得包括IP地址在内的网络参数等。并通过DHCP服务器确定TFTP(简单文件共享服务)的位置。然后客户端就可以从TFTP服务器上将启动文件下载至本机并运行。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段.
TFTP(简单文件共享服务),存放了可供客户端启动的启动文件。
1.2.2 PXE简介
无光盘网络启动的无人职守安装,这里需要PXE技术。
PXE是基于客户端/服务器模式的一种技术,其核心功能就是让客户端通过网络从远端服务器下载启动镜像,从而实现网络启动。整个过程中,客户端要求服务器分配IP地址,再用TFTP协议下载位于服务器上的启动镜像到本机内存中并执行,由这个启动文件完成客户端基本软件的配置。
1.2.3 Kickstart技术
PXE技术只能实现从网络启动,读取安装程序进入安装界面。剩下的步骤比如语言设置,系统管理员密码,网络参数等还需要我们手动配置。为了实现这些步骤的自动配置,我们还需要Kickstart技术。
kickstart技术的核心是“自动应答文件”(kickstart文件),即将本来在安装过程中需要我们手动设置的语言,密码,网络参数等通过读取自动应答文件实现自动设置。
如何生成Kickstart文件: 1 手动编辑;2 通过system-config-kickstart图形工具;3 通过Redhat的安装程序Anaconda自动生成。
安装system-config-kickstart图形工具
yum -y install system-config-kickstart
运行:system-config-kickstart
1.2.4 配置安装服务器
配置安装服务器的DHCP, TFTP, NFS服务。
- 1 DHCP服务
- DHCP服务器主要实现在企业内部网络为客户端分配IP地址等网络参数。当客户端选择从网络启动后,就会发送广播数据包寻找DHCP服务器,进而从DHCP获得IP地址,然后才能通过TFTP共享读取启动文件。
- 安装DHCP服务:’yum -y install dhcp’
- 查看DHCP配置文件:
cat /etc/dhcp/dhcpd.conf
# 还有些额外的配置:
next-server xxx.xx.xx.xx
filename "Example.Name"
其中subnet指定为哪个网段分配参数,range设置为客户端分配的IP地址区间,这里我们分配从10.5.5.26到10.5.5.30之间的IP地址。domain-name-servers设置为客户端分配的DNS服务器地址,routers设置为客户端分配的网关地址。next-server设置的是TFTP服务器的地址,filename设置的是在该TFTP文件服务器上共享的启动文件名称。
2 TFTP服务
- 安装TFTP服务:
yum -y install tftp-server
- 查看配置文件 :
cat /etc/xinetd.d/tftp
, 把disable修改为no来启动TFTP服务,另外该配置文件中server_args的值定义了共享的目录,也就是共享文件要放置的目录路径。 - TFTP适合传输小且简单的PXE启动文件。
安装部署TFTP服务器的时候:把安装光盘中的启动镜像文件和启动配置文件放在TFTP共享目录”pxelinux.cfg”.
#在/etc/xinetd.d/tftp里,设置TFTP服务器共享目录的路径 server_args = -s /var/lib/tftpboot
将客户端所需启动文件复制到TFTP服务器
...(其他部分省略)... cp /media/isolinux/isolinux.cfg\ > /var/lib/tftpboot/pxelinux.cfg/default
- 安装TFTP服务:
3 NFS 服务
- NFS是Network File System的简写,即网络文件系统,客户端通过网络访问NFS文件系统就像访问自己的本地磁盘一样方便。
- 当客户端从网络启动正式进入安装界面后,还要读取CentOS光盘中的系统文件,以完成最后的安装。这些文件就通过NFS共享给网络用户。如,使用NFS读取kickstart文件;系统安装过程中所需的安装文件(光盘里面的内容)通过NFS共享读取。
- 配置文件例子:
#cat /etc/exports /media 172.16.0.0/255.255.0.0(ro)
该配置文件例子中编写了共享一个/media目录,后面IP地址表示仅172.16.0.0网络可以访问该共享目录,ro表示客户端访问的权限为只读(read only)
启动客户端,安装部署系统
- 在所有客户端主机的BIOS中,将第一启动方式设置为PXE网络启动。设置完成后,重启所有客户端计算机即可完成大规模集中安装部署操作系统。
Tips
如果忘记了root用户的密码,就需要进入单用户模式:
在出现GRUB引导程序时,按e键可以编辑GRUB引导参数,选择以kernel开始的行按e键进行编辑,在kernel行末尾加入single后按回车键,按b键启动系统并进入单用户模式(single user mode)。修改密码:
passwd root
shutdown -r now
Refer:
http://www.cnblogs.com/xiaoluo501395377/archive/2013/05/19/3087664.html
第二章 命令工具
常用命令
pwd
cd
ls (-alt)
touch
mkdir (-p)
cp (-r)
rm -f
mv
find
du
cat
more
less
head
tail
wc
grep
echo
gzip
bzip2
tar (-xzf)/(-czf)
- 可以通过history命令显示所有的命令记录,如果想执行编号为XX的历史命令,可以通过
!XX
来调用该命令。 - 查找常用命令储存位置:通过
which
命令可以找到常用命令的储存位置,如输入which find
, 系统将返回find命令的实际储存位置/bin/find
vim:
- 在普通模式下输入ZZ,即可实现保存并退出文档。
- 多窗口编辑
ctrl+w+h | ctrl+w+l |
---|---|
ctrl+w+j | ctrl+w+k |
:close #关闭当前窗口
:split second.txt #水平分隔窗口并打开新文件second.txt
:vsplit #垂直分隔可以使用vsplit
- 执行shell命令: 在vim 编辑过程中想执行一条shell命令而不像退出vim编辑器,可以通过
:!{command}
- 自动补齐: 如果需要输入的内容在前面的行中已经出现过,那么可以实现自动补齐功能:输入相同内容的前若干个字母,然后再使用快捷键CTRL+N.
2.3 账户与安全
useradd
groupadd
id
passwd
usermod
userdel
groupdel
账户与组文件解析
- 账户信息被保存在
/etc/passwd
中。 - 账户密码文件被保存在
/etc/shadow
中。 - 组账户信息文件被保存在
/etc/group
中。 组账户密码文件被保存在
/etc/gshadow
中。- 可以用
gpasswd 组名
的方式为组设置 密码 - 用
gpasswd -A 账户名称 组账户名称
添加组管理员
- 可以用
chmod 修改文件或目录权限
- chown 修改文件或目录的所有者与所属组
ACL访问控制权限
- 设置文档的ACL权限:
setfacl
- 查看文档的ACL权限:
getfacl
分区
- 更新分区表:
partprobe /dev/sdb
- 修改分区表类型 :
parted /dev/sdc mklabel gpt
2.5.5 源码编译安装软件
1 解压缩
2 运行configure脚本,这脚本通常用来指定安装路径、开启关闭软件的特定功能等。可以通过./configure --help
查看软件支持的功能选项。有些软件没有提供configure脚本,则可以直接执行make编译步骤
3 运行make命令进行编译
4 通过make install
根据配置阶段指定的令和功能将软件以特定的方式安装到指定位置
修改系统时间
通过date -s "2017-11-3 12:11"这种格式修改系统时间
, 并通过命令hwclock -w更新写入CMOS时间
2.5.7 服务管理
1 通过主程序管理服务
/usr/local/apache2/bin/apachectl start
2 通过service管理服务
如果通过RPM或者YUM安装,则应用程序一般会在/etc/init.d/目录下创建对应脚本,我们可以通过系统提供的service命令
service sshd start
service sshd stop
service sshd status
3 开机启动服务
通过chkconfig命令来管理开机启动项:chkconfig 指令 [服务名称] [on|off]
查看所有系统服务的运行级别信息:chkconfig --list
2.6 计划任务
一次性计划任务at
- 使用at之前需要确保atd服务是开启的,否则服务不会被执行(使用
service atd start
开启服务,并用checkconfig atd on
确保该服务开机启动) - 用法: at 时间
at 23:11 #指定将在当天23点11分执行计划任务 at > tar -cjf log.tar.bz2 /var/log #计划任务内容 at > shutdown -h now #计划任务内容 at > <EOT> #可输入多条命令,输入完毕后按CTRL+D退出
at -l #查看计划任务 at -c 1 #查看编号为1的计划任务的具体内容 at -d 1 #删除编号为1的计划任务
- 使用at之前需要确保atd服务是开启的,否则服务不会被执行(使用
周期性计划任务cron
- 使用cron之前确保crond服务是开启的,使用
service crond start
开启服务,并使用chkconfig crond on
确保服务开机启动。 - crontab [-u 用户] [-l|-r|-e]
-u for user(current user as default)
-l for list
-r for remove
-e for edit
- 使用cron之前确保crond服务是开启的,使用
分 | 时 | 日 | 月 | 周 | 命令 |
---|---|---|---|---|---|
00~59 | 00~23 | 1~31 | 1~12 | 0~7 | “-“时间段, “,”若干不连续时间,”*”所有的时间,”/”间隔时间 |
crontab -e
23 23 * * 5 tar -czf log.tar.bz2 /var/log
00 */3 * * * who #每隔三小时整点检查用户登录情况
00 10 * * 3,5 free | mail -s "Mem" admin@xx.com
2.7 性能监控
监控CPU使用情况: uptime
当前时间14:59, 系统已经运行了1天11小时,目前有3个用户登录,CPU负载是最近一分钟,五分钟,十五分钟的情况。数值越大CPU越忙。监控内存及swap的使用情况:free
- 监控磁盘使用情况:df -h
- 监控网络使用情况:ifconfig和netstat
- ifconfig 用来查看网卡接口信息
- netstat用来打印网络连接、路由表、网络接口统计等信息。
netstat -nutlp
,netstat -s
- 监控进程使用情况
- ps
- top
2.8 网络配置
linux可以通过两种方式为系统设置网络参数。一种是通过命令设置的方式:方便快捷,设置后可以立刻生效;但是重启计算机后所有设置均失效。第二种通过修改系统配置文件来实现,优点是设置后可以永久保存,计算机重启后仍有效;但是设置不会立刻生效,需要重启计算机或相关服务才可以生效。
- 命令行设置网络参数
- 网络接口参数—ifconfig命令
ifconfig interface 选项|地址
egifconfig eth0 192.168.0.31 netmask 255.255.255.0
查看eth0网卡接口信息:ifconfig eth0
关闭/开启eth0网卡接口:ifconfig eth0 down|up
- 主机名参数 hostname
hostname
#查看主机名称
hostname mycomputer
#设置主机名称
hostname -i
#查看本机IP信息 - 路由参数—route
route
查看当前路由表
route add default gw 192.168.0.254
添加默认网关为192.168.0.254
route del -net 172.16.0.0/16
删除指定网段的网关记录
- 网络接口参数—ifconfig命令
How to change hostname for a server?
1 >hostname newhostname
2 vim /etc/sysconfig/network to modify hostname
3 vim /etc/hosts to modify localhost
2.8.3 网络故障排错
1 ping
2 traceroute
3 nslookup 检查本地设置的DNS服务器工作是否正常
4 dig 查询域名与IP地址之间的对应关系
5 netstat 查看服务对应的端口是否已正常开启