Linux系统中软件包仓库管理与配置

一、RPM软件包管理
软件包分类:
源码包
脚本安装包
二进制包(RPM包、系统默认包)

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

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

RPM包:
(Red Hat Package Manager)本意是Red Hat 软件包管理,二进制包以及源码包两种

RPM源码包:
*.src.rpm结尾的这类软件包是包含了源代码的rpm包,使用rpm-ivh来进行安装,生成源程序和SPEC文件,能够直接生成RPM包

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

二进制包的缺点:
1.经过编译,不可以再看到源码
2.功能选择不如源码包灵活
3.依赖性

RPM包命名原则
例:httpd-2.2.15-15.el6.centos.1.i686.rpm
httpd 软件包名
2.2.15 软件版本号(主版本.次版本.修正号)
15 软件发布的次数
el6.centos 适合的Linux平台
i686 适合的硬件平台
rpm rpm包扩展名

RPM包依赖性:
树形依赖:a->b->c
环形依赖:a->b->c->a (解决改依赖的关键:是先找出所有的依赖性,再一次性安装)

包全名与包名
包全名:操作的包是没有安装的软件包时,使用包全名。
包名: 操作已经安装的软件包时,使用包名。 其实是搜索/var/lib/rpm/中的数据库。

1.RPM安装:
rpm -ivh 包全名
选项:
-i(install) 安装
-v(verbose) 显示详细信息
-h(hash) 显示进度

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

3.卸载 :
rpm -e 包名
选项:
-e(erase ) 卸载
–nodeps 不检查依赖性
若有依赖关系:先卸载后安装的rpm

4.查询是否安装:
rpm -q 包名
选项:
-q 查询(query)
rpm –qa 查询所有已经安装的RPM包
-a 所有(all)

5.查询软件包详细信息:
rpm –qi 包名(已安装的软件信息)
选项:
-i 查询软件信息(information)

6.查询包中文件安装位置:
rpm –ql 包名
选项:
-l 列表(list)

7.查询系统文件属于哪个RPM包:
rpm –qf 系统文件名
选项:
-f 查询系统文件属于哪个软件包(file)

8.查询软件包的依赖性:
rpm –qRp 全包名
repoquery –requires –resolve 包 名 (查询某个包的依赖)

二、YUM仓库配置**

yum 使用中心仓库的概念来自动计算各种安装包的 依赖关系,能够自动查询并安装用户请求安装的软 件包所依赖的其他软件包
• 中心仓库repository的配置:yum通过指定网络中的软件包更 新源或者软件包服务器来实现对yum中心仓库的定义,中心仓 库repository配置文件在/etc/yum.repo.d目录中
• 全局管理man的配置:yum通过对下载的软件包的存储目录、 软件包是否保存、日志记录等进行定义,实现Linux系统yum 命令全局管理的配置,全局管理man的配置文件在 /etc/yum.conf目录中

*****yum 可以通过相关命令选项来进行软件包的安装:
yum + [命令选项] + 软件包
• 搜索命令:yum search 关键字
• 安装命令:yum install packages
• 升级命令:yum update packages
• 查询命令:yum info / list packages
• 卸载命令:yum remove/erase packages
• 清理缓存命令:yum clean packages

****************************************三个重要的目录***********************************
1. /etc/yum.repos.d
                    <1>: CentOS-Base.repo:
                              默认使用yum去安装软件包时的配置文件,该目录默认的是使用网
                              络源 (必须要联网)
                    <2>: CentOS-Media.repo:
                              该目录使用本地源

注:
<1>:第一步
如果要使用本地源的话,必须要将网络源目录改名,这样就找不到网络源目录,就
可以使用本地源了。
例如:
#mv CentOS-Base.repo CentOS-Base.repo.bck
<2>:第二步

      1.将图片中的enable=0改为enabled=1
      2.在baseurl=.......
         最后加上该目录路径:
                file:///media/CentOS_6.5_Final/

***************************上述内容非常重要***************************

三、源码包的安装

源码包安装位置:
安装在指定位置当中,一般是 /usr/local/软件名/

安装位置不同带来的影响
1.RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如 RPM包安装的 apache的启动方法是:
<1> /etc/rc.d/init.d/httpd start
***<2>service httpd start
2.而源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝 对路径进行服务的管理,如:
<1>/usr/local/apache2/bin/apachectl start

1、安装准备
安装C语言编译器
下载源码包

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

3、源码包安装过程 (./configure:检查配置参数)
下载源码包
解压缩下载的源码包
进入解压缩目录

1.make 编译
2.make clean
3. make install 编译安装

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

你可能感兴趣的:(Linux系统中软件包仓库管理与配置)