Linux软件包管理

一 、软件包管理简介

1、软件包分类
源码包 ( 脚本安装包 )
二进制包(RPM包、系统默认包)

2、源码包
源码包的优点是:
开源,如果有足够的能力,可以修改源代 码
可以自由选择所需的功能
软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
卸载方便

源码包的缺点:
安装过程步骤较多,尤其安装较大的软件 集合时(如LAMP环境搭建),容易出现 拼写错误 编译过程时间较长,安装比二进制安装时间长
因为是编译安装,安装过程中一旦报错新手很难解决

3、RPM包

二进制包的优点
包管理系统简单,只通过几个命令就可以 实现包的安装、升级、查询和卸载
安装速度比源码包安装快的多

二进制包缺点
经过编译,不再可以看到源代码
功能选择不如源码包灵活
依赖性,例如我们打游戏会依赖显卡控制,vc++2015,等等一些插件的支持


二 、RPM包管理-rpm命令管理

可在光盘挂载后,在挂载目录下的package包下查看所有的rpm包

1. RPM包命名规则与依赖性

1、RPM包命名原则

httpd-2.2.15-15.el6.centos.1.i686.rpm httpd   
软件包名 2.2.15  
软件版本 15   
软件发布的次数 el6.centos  
适合的Linux平台 
i686   适合的硬件平台 
rpm   rpm包扩展名 

2、RPM包依赖性 (很有可能你下载一个包的时候,会依赖与另一个包,你需要把另一个包页下载,还会有可能产生多依赖,比较复杂)

树形依赖: a->b->c 
环形依赖: a->b->c->a 
模块依赖: 模块依赖查询网站:    www.rpmfind.net 
2. RPM包安装升级与卸载

1、包全名与包名


 包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径 
 包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库 

2、RPM安装

rpm –ivh 包全名 
选项:   -i(install)   安装   -v(verbose) 显示详细信息     -h(hash)  显示进度   --nodeps  不检测依赖性 

3、RPM包升级

rpm  -Uvh  包全名 
选项:   -U(upgrade)   升级 

4、卸载

rpm  -e  包名 
选项:   -e(erase) 卸载   --nodeps  不检查依赖性 
3. rpm命令管理-查询 (重点,yum安装很好用,但是查询只能通过rpm)

1、查询是否安装

[root@localhost ~]# rpm  -q  包名                      # 查询包是否安装
 选项:   -q 查询(query) [root@localhost ~]# rpm –qa # 查询所有已经安装的 RPM 包
 选项:   -a 所有(all) 

2、查询软件包详细信息

[root@localhost ~]#  rpm –qi 包名 
选项:   -i 查询软件信息(information)   -p 查询未安装包信息(package)

3、查询包中文件安装位置

[root@localhost ~]#  rpm –ql 包名 
选项:   -l 列表(list)   -p 查询未安装包信息(package) 

4、查询系统文件属于哪个RPM包

[root@localhost ~]#  rpm –qf 系统文件名 
选项:  -f 查询系统文件属于哪个软件包(file) 

5、查询软件包的依赖性

[root@localhost ~]# rpm –qR 包名 
选项:  -R 查询软件包的依赖性(requires)  -p 查询未安装包信息(package) 

4. rpm命令管理-校验和文件提取

1、RPM包校验

[root@localhost ~]# rpm –V 已安装的包名
选项:
-V 校验指定RPM包中的文件(verify)

验证内容中的8个信息的具体内容如下:
S 文件大小是否改变
M 文件的类型或文件的权限(rwx)是否被改变
5 文件MD5校验和是否改变(可以看成文件内容是否
改变)
D 设备的中,从代码是否改变
L 文件路径是否改变
U 文件的属主(所有者)是否改变
G 文件的属组是否改变
T 文件的修改时间是否改变

文件类型

c 配置文件(config file)
d 普通文档(documentation)
g “鬼”文件(ghost file),很少见,就是该文件不
应该被这个RPM包包含
l 授权文件(license file)
r 描述文件(read me

2、RPM包中文件提取

[root@localhost ~]# rpm2cpio 包全名 | \
cpio -idv .文件绝对路径
rpm2cpio     #将rpm包转换为cpio格式的命令
cpio         #是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

[root@localhost ~]# cpio 选项 < [文件|设备]
选项:
-i:copy-in模式,还原
-d:还原时自动新建目录
-v:显示还原过程

三 、RPM包管理-yum在线管理

1. IP地址配置和网络yum源

1、IP地址配置

[root@localhost ~]# setup
#使用setup工具     (目前 nmtui是CenterOs7版本的网络配置页面)
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0(eth0是网卡名)
把ONBOOT=“no” 改为
ONBOOT=“yes“
#启动网卡
[root@localhost ~]# service network restart
#重启网络服务

2、网络yum源

[root@localhost yum.repos.d]# vi /etc/yum.repos.d/CentOS-Base.repo
 [base] 容器名称,一定要放在[]中
 name 容器说明,可以自己随便写
 mirrorlist 镜像站点,这个可以注释掉
 baseurl 我们的yum源服务器的地址。默认是CentOS官方的yum源服务
器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地
址
 enabled 此容器是否生效,如果不写或写成enable=1都是生效,写成
enable=0就是不生效
 gpgcheck 如果是1是指RPM的数字证书生效,如果是0则不生效
 gpgkey 数字证书的公钥文件保存位置。不用修改
2. yum命令

1、常用yum命令

1)查询
[root@localhost yum.repos.d]# yum list
#查询所有可用软件包列表
[root@localhost yum.repos.d]# yum search 关键字
#搜索服务器上所有和关键字相关的包

2)安装
[root@localhost yum.repos.d]# yum –y install 包名
选项:
install 安装
-y 自动回答yes

3)升级
[root@localhost yum.repos.d]# yum -y update 包名
选项:
update 升级
-y 自动回答yes

4)卸载
[root@localhost yum.repos.d]# yum -y remove 包名
选项:
remove 卸载
-y 自动回答yes

2.YUM软件组管理命令

[root@localhost ~]# yum grouplist
#列出所有可用的软件组列表
[root@localhost ~]# yum groupinstall 软件组名
#安装指定软件组,组名可以由grouplist查询出来
[root@localhost ~]# yum groupremove 软件组名
#卸载指定软件组
3. 光盘yum源搭建

光盘yum源搭建步骤

1)挂载光盘
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/

2)让网络yum源文件失效
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mv CentOS-Base.repo \
CentOS-Base.repo.bak
[root@localhost yum.repos.d]# mv CentOS-Debuginfo.repo \
CentOS-Debuginfo.repo.bak
[root@localhost yum.repos.d]# mv CentOS-Vault.repo \
CentOS-Vault.repo.bak

3)修改光盘yum源文件
[root@localhost yum.repos.d]# vim CentOS-Media.repo
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom
#地址为你自己的光盘挂载地址
# file:///media/cdrom/
# file:///media/cdrecorder/
#注释这两个不存在的地址
gpgcheck=1
enabled=1
#把enabled=0改为enabled=1,让这个yum源配置文件生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

四 、源码包管理

1. 源码包和RPM包的区别

1、区别

安装之前的区别:概念上的区别
安装之后的区别:安装位置不同

2、RPM包安装位置

是安装在默认位置中

RPM包默认安装路径
/etc/配置文件安装目录
/usr/bin/可执行的命令安装目录
/usr/lib/程序所使用的函数库保存位置
/usr/share/doc/基本的软件使用手册保存位置
/usr/share/man/帮助文件保存位置

3、源码包安装位置

 安装在指定位置当中,一般是   /usr/local/软件名/

4、安装位置不同带来的影响

RPM包安装的服务可以使用系统服务管
理命令(service)来管理,例如RPM包安
装的apache的启动方法是:
 /etc/rc.d/init.d/httpd start
 service httpd start

而源码包安装的服务则不能被服务管理命
令管理,因为没有安装到默认路径中。所
以只能用绝对路径进行服务的管理,如:
 /usr/local/apache2/bin/apachectl start
2. 源码包安装过程

1、安装准备

安装C语言编译器
下载源码包
 http://mirror.bit.edu.cn/apache/httpd/

2、安装注意事项

源代码保存位置:/usr/local/src/
软件安装位置:/usr/local/
如何确定安装过程报错:
 安装过程停止
 并出现error、warning或no的提示

3、源码包安装过程

下载源码包
解压缩下载的源码包
进入解压缩目录
./configure 软件配置与检查
	1 定义需要的功能选项。
	2 检测系统环境是否符合安装要求。
	3 把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑。
make 编译
  make clean
make install 编译安装

4、源码包的卸载

不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件。

五 、脚本安装包

1、脚本安装包

脚本安装包并不是独立的软件包类型,常见
安装的是源码包。
是人为把安装过程写成了自动安装的脚本,
只要执行脚本,定义简单的参数,就可以完
成安装。
非常类似于Windows下软件的安装方式。

2、Webmin的作用( 安装webmin作为脚本安装包的例子)

Webmin 是一个基于 Web 的 Linux 系统管
理界面。您就可以通过图形化的方式设置
用户帐号、Apache、DNS、文件共享等服
务。

3、Webmin安装过程

下载软件
 http://sourceforge.net/projects/webadmin/files/
webmin/
解压缩,并进入加压缩目录
执行安装脚本












-------------------------------------已经到底了,=。=一起学习加油,喜欢LinuxC/C++方向可以关注一下-----------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值