系统管理
- 一、网络管理
- 1. 网络状态查看
- 2. 网络和路由配置
- 3. 网络故障排除
- 4. 网络服务管理
- 二、软件管理
- 1. 软件包管理器
- 2. rpm包和rpm命令
- 3. yum仓库
- 4. 源代码编译安装
- 5. 内核升级
- 6. grub配置文件
- 三、进程管理
- 1. 进程的概念与进程查看
- 2. 进程的控制命令
- 3. 进程的通信方式--信号
- 4. 守护进程的系统日志
- 5. 服务管理工具systemctl
- 6. SELinux简介
- 四、内存和磁盘管理
一、网络管理
1. 网络状态查看
(1)net-tools
ifconfig
网络接口命名修改:
网卡命名规则受biosdevname
和net.ifnames
两个参数影响,编辑/etc/default/grub
文件,增加biosdevname=0 net.ifnames=0
,更新grub
,# grub2-mkconfig -o /boot/grub2/grub.cfg
,重启,# reboot
mii-tool eth0
:查看网卡物理连接情况
route
:查看网关,使用-n
参数不解析主机名
netstat
(2)iproute2
ip
ss
2. 网络和路由配置
(1)网络配置命令
ifconfig <接口> <IP地址> [netmask 子网掩码]
ifup <接口>
ifdown <接口>
(2)添加网关
route add default gw <网关ip>
route add -host <指定ip> gw <网关ip>
route add -net <指定网段> netmask <子网掩码> gw <网关ip>
:给网段指定网关
route del default gw 网关地址
:删除默认网关
route add default gw 网关地址
:添加默认网关
route add -host <ip地址> gw <网关ip>
:给ip地址指定网关
(3)ip命令
3. 网络故障排除
ping
traceroute
:-w
目标主机超时等待时间;在追踪的过程中,中间的主机不支持追踪会显示*号;
mtr
:比traceroute
显示的内容更丰富
nslookup
:将域名解析成ip地址
telnet
:检查服务端口是否畅通
tcpdump
:tcpdump -i any -n port 80
抓任意网卡,80端口的数据包,不解析域名以ip地址的方式显示;tcpdump -i any -n host <ip地址>
捕获某个主机的包;tcpdump -i any -n host 10.0.0.1 and port 80 -w /tmp/file
将捕获的数据保存到文件中;
netstat
:-n
不解析域名以ip地址的方式显示;-t
显示tcp协议的内容;-p
显示对应进程;-l
显示监控中的服务器的Socket。
ss
4. 网络服务管理
网络服务管理程序分为两种,分为Sysv和systemd:
service network start|stop|start
chkconfig -list network
chkconfig --level 2345 network off
:关闭network服务
chkconfig --level 2345 network on
:开启network服务
systemctl list-unit-files NetworkManager.service
systemctl start|stop|restart NetworkManager
systemctl enable|disable NetworkManager
nslookup
:查看使用的dns
网卡配置文件:
/etc/sysconfig/network-scripts
网络配置文件的目录
ifcfg-etn0
/etc/hosts
二、软件管理
1. 软件包管理器
包管理器是方便软件安装、卸载,解决软件依赖关系的重要工具:
Centos、RedHat
使用yum包管理器,软件安装包格式为rpm
Debian、Ubuntu
使用apt包管理器,软件安装包格式为deb
2. rpm包和rpm命令
rpm命令常用参数:
-q
查询软件包;
-a
查询所有包;
-i
安装软件包;
-e
卸载软件包;
rpm -qa
查询所有已经安装的软件包;
rpm -q 软件包名
查询此软件包是否安装;
3. yum仓库
rpm包的问题:需要自己解决依赖关系;软件包来源不可靠。
yum的配置文件:/etc/yum.repos.d/CentOS-Base.repo
下载配置文件:wget -O /etc/yum.repos.d/CentOS-Base.repo
yum命令常用选项:
install
安装软件包;
remove
卸载软件包;
list|greouplist
查看软件包;
update
升级软件包;
yum makecache
建立缓存;
yum remove 安装包
卸载安装包;
yum list
查看已经安装的软件包;
yum update
升级当前系统中所有的软件包;
4. 源代码编译安装
--prefix
指定安装目录
-j2
使用两个逻辑cpu进行编译
5. 内核升级
yum install epel-release -y
扩展yum源
源代码编译安装内核:
6. grub配置文件
grub
是什么?
grub
配置文件/etc/default/grub
、/etc/grub.d
、/boot/grub2/grub.cfg
、grub2-mkconfig -o /boot/grub2/grub.cfg
;
grep ^menu /boot/grub2/grub.cfg
过滤出启动项里的menu中有哪些内核;
grub2-set-default 0
设置引导第一个内核;
grub2-editenv list
查看引导内核;
使用单用户进入系统(忘记root密码),在启动界面,按e键进入编辑页面,在linux16行尾加single,如果是centos7版本,加rd.break;
关闭selinux
exit
退出,重启
三、进程管理
1. 进程的概念与进程查看
进程–运行中的程序,从程序开始运行到终止的整个生命周期是可管理的:
C程序的启动是从main函数开始的,int main(int agrc,char *argv[]),终止的方式并不唯一,分为正常终止和异常终止,正常终止也分为从main返回,调用exit等方式,异常终止分为调用abort、接收信号等。
进程的查看命令:
ps
:-e
显示所有进程;ps -e|more
分页显示所有进程,-L
LWP显示进程中的线程;-f
全格式显示进程信息;
pstree
top
:按1
显示每个逻辑cpu的情况;按s
调整top的更新时间,默认每3秒更新一次;-p
进程id;
进程也是树形结构,进程和权限有着密不可分的关系。
2. 进程的控制命令
(1)调整优先级
nice
范围从-20到19,值越小优先级越高,抢占资源就越多;nice -n 10 脚本
调整脚本的nice值;
renice
重新设置优先级;renice -n 15 pid
调整运行进程的nice值;
echo $$
显示当前进程的pid;
(2)进程的作业控制
jobs
:查看当前后台运行的进程;
&符号
:./脚本 &
将脚本在后台运行;
fg 后台运行进程的编号
:将后台运行的进程调回到前台;
bg 后台运行进程的编号
:将进程在后台运行;
./进程 ctrl+z
将前台程序调回后台,并且是停止状态;
3. 进程的通信方式–信号
信号是进程间通信方式之一,典型用法是:终端用户输入中断命令,通过信号机制停止一个程序的运行。使用信号的常用快捷键和命令:
kill -l
:
SIGINT
通知前台进程组终止进程ctrl+c
;
SIGKILL
立即结束程序,不能被阻塞和处理kill -9 pid
;
4. 守护进程的系统日志
使用nohup
与&
符号配合运行一个命令,nohup
命令使进程忽略hangup
(挂起)信号。例子:nohup tail -f /var/log/mesages &
将tail -f命令放到后台运行,即使关闭终端进程也不会结束。
守护进程(daemon)和一般进程有什么差别呢?
使用screen
命令:
screen
进入screen
环境;
ctrl+a d
退出(detached)screen环境;
screen -ls
查看screen的会话;
screen -r sessionid
恢复会话;
5. 服务管理工具systemctl
服务(提供常见功能的守护进程)集中管理工具:
service
的启动脚本放在/etc/init.d
目录中;
systemctl
的启动脚本放在/usr/lib/systemd/system
目录中,常见操作
systemctl start|stop|restart|reload|enable|disable 服务名称
,软件包安装的服务单元/usr/lib/systemd/system
,服务级别在/lib/systemd/system
;
查看当前的运行级别,systemctl get-default
;
设置运行级别,systemctl set-default multi-user.target
;
6. SELinux简介
MAC(强制访问控制)与DAC(自主访问控制)
查看SELinux的命令:
getenforce
/usr/sbin/sestatus
ps -Z and ls -Z and id -Z
关闭SELinux:
setenforce 0
/etc/selinux/sysconfig
四、内存和磁盘管理
内存和磁盘使用率查看
内存:
free
top
磁盘:
fdisk
——-l
查看当前的磁盘分区信息(主要是分区表信息)
df
du
du与ls的区别
ext4文件系统
Linux支持多种文件系统,常见的有:ext4
、xfs
、NTFS
(需安装额外软件)。
ext4
文件系统基本结构比较复杂,超级快、超级块副本、i节点(inode)、数据块(datablock)。
setfacl -m u:用户名:r 文件名
给文件赋予特殊的用户权限,用ls -l
查看文件权限,会出现一个+号,使用getfacl
可以查,看详细的权限信息。将-m
改为-x
为收回权限。
磁盘的分区与挂载
常用命令:
fdisk
:命令n
新建分区;命令d
删除分区;命令w
保存退出。
mkfs
:格式化
parted
:如果硬盘大于2T,则不能使用fdisk进行分区,而是使用parted进行分区使用方法parted 硬盘
。
mount
:挂载磁盘。
常见配置文件:
/etc/fstab
:mount命令是将磁盘进行临时挂载,重启之后挂载消失,可以编辑/etc/fstab
文件进行永久挂载,文件中第一个字段表示要挂载的设备,第二个字段指定要挂在的目录,第三个字段挂载时的文件系统,第四个字段读写时的权限,后两个字段与磁盘配额有关。
用户磁盘配额
xfs文件系统的用户磁盘配额quota
mkfs.xfs /dev/sdb1
mkdir -p /mnt /disk1
mount -o uquota,gquota /dev/sdb1 /mnt/disk1
:-o
指定挂载选项,用于控制文件系统的行为,uquota和gquota分区在挂载时支持用户磁盘配合和组磁盘配额。
chmod 1777 /mnt/disk1
:更改目录权限,给目录加上SBIT
权限,使目录更安全。
xfs_quota -x -c 'report -ugibh' /mnt/disk1
:查看磁盘配额。
xfs_quota -x -c 'limit -u isoft=5 ihard=10 user1' /mnt/disk1
:配置磁盘配额,设置inode软限制和硬限制。
交换分区(虚拟内存)的查看与创建
软件RAID的使用
逻辑卷管理
系统综合状态查看