文章目录
linux软件包管理
一、软件包管理——rpm命令管理
1、linux软件安装
windows中的软件包都不能用,手动安装的时候注意下载的包
1)软件包分类:
- 直接开放源代码的包,大部分是C语言写的)
脚本安装包(可以看见源代码,但是没有经过编译,安装速度慢)
- 二进制包(RPM包(centos中)、系统默认包)
经过编译的包(安装快,但是看不到源代码)
2)源码包优点:
- 开源
- 自由选择需要的功能
- 软件是编译安装,更加适合自己的系统,更加稳定,效率更高
- 卸载方便
3)源码包安装缺点:
- 安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境),容易出现拼写错误
- 编译过程时间较长,安装比二进制安装时间长
- 因为是编译安装,安装过程一旦报错,新手很难解决
4)RPM包:二进制包的优点
- 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
- 安装速度比源码安装快得多
5)缺点:
- 经过编译,不再可以看到源代码
- 功能选择不如源代码包灵活
- 依赖性复杂
2、RPM包管理-rpm命令管理
1)RPM包命名规则
httpd-2.2.15.e16.centos.1.i686.rpm
RPM名称部分 | 含义 |
---|---|
httpd | 软件包名 |
2.2.15 | 软件版本 |
15 | 软件发布的次数 |
e16.centos | 适合的linux平台 |
i686 | 适合的硬件平台 |
rpm | rpm包的扩展名 |
2)RPM包依赖性
树形依赖:a->b->c
环形依赖:a->b->c->a
模块依赖:模块依赖查询网站
3、RPM安装
1)RPM安装简介
包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径
包名:操作已经安装的软件包的时候,使用包名,是搜索/var/lib/rpm中的数据库
2)RPM安装文件:
rpm -ivh 包全名
-i(install) 安装
-v(verbose)显示详细信息
-h(hash)显示进度
-nodeps 不检测依赖性
3)RPM包升级
rpm -Uvh
U(upgrade)升级
4)RPM包卸载
rpm -e 包名
选项
-e(erase)卸载
–nodeps 不检查依赖性
4、RPM包校验
rpm -V 已安装的包名
-V 校验指定RPM包中的文件 verify
验证内容中的8个具体内容如下:
S——文件的大小是否改变
M——文件的类型或者权限(rwx)是否改变
5—— 文件的MD5校验和是否改变(文件内容是否改变)
D ——设备的中,从代码是否改变
L—— 文件的路径是否改变
U——文件的属从(所有者)是否改变
G——文件的属组是否改变
T——文件的修改时间是否改变
5、RPM文件提取
rpm2cpio 包全名|cpio -idv .文件绝对路径
(.文件绝对路径
表示提取文件)
rpm2cpio——将rpm包转换为cpio格式
cpio——标准工具,用于创建软件档案文件和从档案文件中提取文件
cpio 选项 <[文件|设备]>
-i ——copy-in 模式 ,还原
-d——还原时自动创建目录
-v ——显示还原过程
例子:
1、查询ls属于哪个软件包
rpm -qf /bin/ls
2、移动ls命令造成误删除假象
mv /bin/ls /tmp/
3、提取RPM包中ls命令到当前的/bin/ls下
rpm2cpio /mnt/cdrom/Packages/coreutiles-(按tab自动弹出版本) | cpio -idv ./bin/ls
4、把ls命令复制到/bin/目录 ,修复文件的丢失
cp /root/bin/ls /bin/
二、软件包管理——yum在线管理
1、 IP地址配置和网络yum源
1)IP地址配置
setup工具配置,没有setup的参考
https://blog.csdn.net/wuyanshen2012/article/details/77532167
还可以使用命令来修改相关配置:
vi /etc/sysconfig/network-scripts/ifcfg-eth3
修改其中的onboot=yes
添加ipv4信息
添加gateway信息
添加dns信息
然后就使用网络重启
service network restart
systemctl start network.service
2)网络yum源(一般不需要更改)
vi /etc/yum.repos.d/CentOS-Base.repo
[base]——容器名称,一定放在[]中
name——容器说明
mirrorlist——镜像站点
baseurl——我们的yum源服务器地址。默认为centos官方的yum源服务器,是可以使用的,如果慢可以改变为其他的yum源地址
enabled——此容器是否生效,不写不着写为enable=1都是生效,谢伟enable=0表示不生效
gpgkey——数字证书的公钥文件保存位置。不用修改
2、yum命令
1)常用yum命令
①查询
yum list
查询所有可用软件包列表
yum search 关键字
搜索服务器上所有和关键字相关的包
②安装
yum -y install 包名
install 安装
-y 自动回答yes
③升级
yum -y update 包名
update ——升级
-y——自动回答yes0
④卸载(尽量不要卸载,避免系统错误)
yum -y remove 包名
remove——卸载
-y——自动回答yes
2)yum软件组管理命令
① yum group list
列出所有可用软件组列表
② yum groupinstall 软件组名
安装指定软件组,组名可以由grouplist查询
如果组名中有空格号,软件组名需要用双引号括起来
③ yum groupremove 软件组名
卸载指定软件组
3、光盘yum源搭建
1)挂载光盘
mount /dev/cdrom /mnt/cdrom/
2)让网络yum源失效(就是给这些文件改名,使其不生效,不要删除避免以后还要使用远程yum源)
cd etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
mv CentOS-Vault.repo CentOS-Vault.repo.bak
3)修改光盘yum源文件
vi CentOS-Media.repo
baseurl写上自己的光盘挂载点,注释掉其他的挂载点,免得报错
4、源码包的安装管理
1)源码包和RPM包的区别
区别:
①安装前的区别:概念上的区别
②安装之后的区别:安装位置的不同
RPM包安装在系统的默认安装路径之中
默认安装路径:
/etc/ 配置文件安装目录
/usr/bin/ 可执行命令安装目录
/usr/lib/ 程序所使用的函数库保存位置
/usr/share/doc 基本的软件使用手册保存位置
/usr/share/man 帮助文件保存位置
源码包——人工指定安装位置
安装在指定位置当中,一般是
/usr/local/软件名/
③安装位置不同带来的影响
RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法是
/etc/rc.d/init.d/httpd stat
service httpd stat
源码包安装的服务不能被服务器管理命令管理,没有安装到默认的路径之中,所以只能够使用绝对路径进行服务的管理如
/usr/local/apache2/bin/apachectl start
2)源码包的安装过程
① 安装C语言编译器
② 下载源码包
http://mirror.bit.edu.cn/apache/httpd
③安装注意事项
源代码保存位置: /usr/local/src/
软件安装位置:/usr/local/
如何确定安装过程报错:
安装过程停止
出现error/warning/no的提示
④安装过程:
- 下载源码包,上面的网站中任意一个,使用xfpt工具将其传输到虚拟机上
- 解压缩下载的源码包
tar -zxvf httpd-2.4.46.tar.gz
- 进入解压缩目录
cd httpd-2.4.46.tar.gz
- ./configure 软件配置与检查
定义需要的功能选项
检查系统环境是否符合安装要求
把定义好的功能选项和检测系统环境的信息都写入到Makefile文件之中,用于后续的编辑
- make 编译
如果安装报错,不需删除文件,到现在文件还没有真正写入到文件夹之中,执行make clean即可
- make install
⑤ 源码包的卸载
不需要卸载命令,直接删除安装目录即可
不会遗留任何垃圾文件
5、软件的脚本安装包(通常是源码包)
有人将安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数就可以完成安装
类似于windows下软件的安装方式
安装webmin
webmin的作用(这个nb,好用,简单、方便)
基于web的Linux系统管理界面,可以通过图形化的方式设置用户账号、Apache、DNS、文件共享等服务
安装方法:
- 下载软件 http://sourceforge.net/projects/webadmin/files/webmin/
- 解压缩->进入软件包之中
- 执行安装脚本