系统管理
- 一、网络管理
- 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分页显示所有进程,-LLWP显示进程中的线程;-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的使用
逻辑卷管理
系统综合状态查看



















