linux 运维 1

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
  • 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+hctrl+w+l
ctrl+w+jctrl+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的计划任务    
  • 周期性计划任务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
命令
00~5900~231~311~120~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 选项|地址 eg ifconfig 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 删除指定网段的网关记录

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 查看服务对应的端口是否已正常开启

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值