第二天 系统管理
软件包管理
一 软件包分类
源码包: .tar.gz .tar.bz2
优点:开源、自定义、本机编译,所以效率更高
缺点:编译时间长、一旦报错,解决很困难
二进制包: .rpm
优点:安装速度快,基本不报错
缺点:不再开源、自定义性差、效率没有源码包高、依赖性
建议:
如果软件包是给大量用户访问的,建议安装源码包,因为源码包效率高(LAMP)
如果软件包只是给本机使用的,或者少量用户访问的,建议安装二进制包,因为二进制包简单(例如gcc)
二二进制包安装
(一) rpm命令手动管理二进制包 (挂载光盘)
1包名-版本号-发布次数-适合linux系统-硬件平台.rpm
包全名
包名
2依赖性
3安装 tree
rpm -ivh 包全名(进入光盘目录)
-i 安装-v显示详细信息-h 显示进度
4升级
rpm -Uvh 包全名
5 卸载
rpm -e 包名
(二) yum 命令 二进制包自动化管理,可以自动解决依赖性
yum -y install 包名 安装-y 自动回答yes
yum -y update 包名 升级
yum -y remove 包名 卸载
yum list查询
光盘作为yum源:
1cd /etc/yum.repos.d/让网络yum源不生效
mv CentOS-Base.repo CentOS-Base.repo.bak
2mount /dev/sr0 /mnt/cdrom
3vim /etc/yum.repos.d/CentOS-Media.repo让光盘yum源生效
baseurl=file:///mnt/cdrom/指定yum源位置
gpgcheck=1rpm验证
enabled=1yum源文件生效
yum -y install httpd 安装RPM包的Apache
RPM包安装的Apache,启动方法:
1) /etc/rc.d/init.d/httpd start
2) service httpd start
RPM包安装的Apache的网页位置:
/var/www/html/
yum -y install gcc (gcc是c语言编译器,不装gcc,源码包不能安装)
三源码包安装
安装之前解决的问题:
已经安装了RPM包的Apache,是否可以在安装一个源码包的Apache
可以,因为安装位置不同。
RPM包是安装在作者认为合理的位置,默认位置
源码包是手工指定安装位置,一般安装在/usr/local/apache2/
但是,只能启动1个,因为80端口只有一个
实际服务器,只允许安装一个,Apache建议安装源码包
我这里安装2个,是为了教学对比
Winscp上传,xshell的lrzsz上传工具(rz上传,sz下载)
1远程传输工具传输apache到linux。
httpd-2.2.29.tar.gz
2安装
1) 解压
2) cd 解压目录
3) 查看安装文档
INSTALLREADME
4)编译前准备
./configure --prefix=/usr/local/apache2
功能:
1检测系统环境,生成Makefile
2定义软件选项
5)编译
make
6)编译安装
make install
报错判断:
第一:安装过程是否停止
第二:注意error warning no 等错误报警
3启动
/usr/local/apache2/bin/apachectl start (测试)
默认网页位置:
/usr/local/apache2/htdocs/index.html
4卸载
直接删除安装目录
用户与用户组管理
用户信息文件:/etc/passwd查看系统中有哪些用户
影子文件: /etc/shadow查看哪些用户有密码
组信息文件: /etc/group查看系统中有哪些用户组
1添加用户
useradd 用户名
2设定密码
passwd 用户名
3删除用户
userdel -r 用户名
-r 连带家目录一起删除
4添加组
groupadd 组名
5删除组
groupdel 组名
6把已经存在的用户加入组
gpasswd -a 用户名 组名用户加入组
gpasswd -d 用户名 组名把用户从组中删除
7su - 用户名 切换用户身份
进程管理
进程管理三个主要任务:
判断服务器健康状态70/90内存/CPU占比安全范围
查看所有正在运行的进程合法进程占用资源
非法进程占用资源
强制终止进程
一进程查看
1ps aux查看当前系统所有运行的进程
-a 显示前台所有进程
-u显示用户名
-x显示后台进程
user: 用户名
pid: 进程id
%CPU cpu占用百分比
%MEM 内存占用百分比
command进程本身
2pstree 查看进程树
-p查看PID
3top
第一行:系统当前时间 系统持续时间 登录用户1,5,15分钟之前的平均负载
第二行:进程总数
第三行:CPU占用率%id空闲百分比
第四行:内存使用:
操作命令M内存排序
PCPU排序
q退出
4进程管理终止进程
ps aux 组合使用
kill PID结束单个进程
-9 强制
pstree 查看进程树
pkill -9 进程名结束一类进程
服务管理
服务分类
1) RPM包安装的服务
chkconfig --list查看到的服务,都是RPM包安装的服务
2) 源码包安装的服务
只要安装到/usr/local/目录下的服务都是源码包服务
(一)系统默认安装的服务
1确定服务分类
chkconfig --list查看RPM包安装的服务的自启动状态
服务管理:
RPM包安装的服务
启动:
1) /etc/rc.d/init.d/httpd start|stop|restart
2) service httpd start|stop|restart
自启动
1)chkconfig 服务名 on|off
2)vi /etc/rc.local
/etc/rc.d/init.d/httpd start
源码包安装的服务
启动
/usr/local/apache2/bin/apachectl start|stop
自启动
vi /etc/rc.local
/usr/local/apache2/bin/apachectl start
服务的运行级别:
0 关机
1 单用户
2 不完全的字符界面(不包含NFS服务)
3 字符界面
4 未分配
5 图形界面
6 重启
三计划任务
前提:crond 服务必须启动
crontab -e 编辑定时任务
* * * * * 命令
第一个:一小时中第几分钟0-59
第二个:一天中第几个小时0-23
第三个:一个月中第几天1-31
第四个:一年第几个月1-12
第五个:一周中星期几1-7
10 * * * * 命令
10 * 31 * * 命令
10 9 1 1 * 命令
5 3 * 5,7,10 * 命令
*/10 * * * * 命令
5 5 * * 1-3 命令
5 5 10 * 5 命令日期和星期,指的都是天,不建议在同一个任务里出现
0 5 * * * 命令
5 5 * * * /bin/cp –r /root/bbs /tmp
备份文件/目录 /bin/cp -r /root/bbs /tmp
crontab -l查看系统定时任务
crontab -r 删除定时任务
注意事项:
选项都不能为空,必须填入,不知道的值使用通配符*表示任何时间
每个时间字段都可以指定多个值,不连续的值用,间隔,连续的值用-间隔
间隔固定时间执行书写为*/n格式
命令应该给出绝对路径
星期几和第几天不能同时出现
最小时间范围是分钟,最大时间范围是月
补充命令:
date 查看系统时间
date -s 20170426
date -s 05:05:20