设为首页 收藏本站
查看: 510|回复: 0

[经验分享] Linux软件包管理及yum仓库

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-28 08:28:04 | 显示全部楼层 |阅读模式
  • RHEL5使用的软件包管理器一般有两个:

1、     RPM包管理器;2、YUM包管理器。
RPM全称是Red HatPackage Manager(Red Hat包管理器)。
在Linux操作系统中,软件包的安装其实是文件的拷贝,即把软件所用的各个文件拷贝到特定目录。当然RPM安装软件包,也不例外。但RPM更“先进”一些,因为它在安装前,还会执行检查软件包的依赖(Dependency)、检查软件包的冲突(Conflicts)。最后才将软件包里面的相关文件解出并存放到相应位置。

  • 在RedhatLinux中,其rpm包的命名规则为:

软件名-版本号-释出号.体系号.rpm
例: zsh-4.2.6-1.i386.rpm
zsh为软件名;
4.2.6为版本号 (4为主版本号、2为次版本号、6为修订版本号) ;
1为释出号(发布号);
rpm为扩展名
  • 通过RPM来安装软件包的指令与语法如下:

rpm   <选项><软件包名>

安装选项
-i 安装一个以前从未安装过的软件包。
例如:rpm  –i   zsh-4.2.6-1.i386.rpm

其它配用选项
-v  将安装过程打印在屏幕上;
-h  以hash字符“#”显示安装进度条;

  • 通过RPM来卸载软件包的指令与语法如下:

rpm    <选项><软件名>
卸载选项
-e 卸载一个已经安装过的软件包。
例如:rpm  –e   zsh
注意
rpm对一个未安装的软件包进行操作,参数为软件包名。
rpm对一个已经安装过的软件包进行操作,参数为软件名。

  • 通过RPM来升级软件包的指令与语法如下:

rpm    <选项><软件包名>
升级选项
-U 对一个已经安装的旧版本软件包进行升级(如果以前没有安装过此包则安装它)。
-F  对一个已经安装的旧版本软件包进行升级。
其它配用选项
--force 强制执行,它与-Uvh组合使用可重新安装某个已经安装的软件包当中丢失的文件。

  • 通过RPM来查询的指令与语法如下:

rpm    <选项><软件名|软件包名|文件名>
查询选项
–q  软件名:查询某一个RPM包是否已安装
–qi  软件名:查询某一个RPM包的详细信息
–ql  软件名:列出某RPM包中所包含的文件
–qf  文件名:查询某文件属于哪一个RPM包
–qa :列出当前系统所有已安装的包
–qip 软件包:列出未安装RPM包的详细信息
–qlp 软件包:列出未安装RPM包中的文件

  • 通过RPM来卸载软件包的指令与语法如下:

rpm    <选项><软件名>
卸载选项
-e 卸载一个已经安装过的软件包。
例如:rpm  –e   zsh
注意
rpm对一个未安装的软件包进行操作,参数为软件包名。
rpm对一个已经安装过的软件包进行操作,参数为软件名。

  • 通过RPM来升级软件包的指令与语法如下:

rpm    <选项><软件包名>
升级选项
-U 对一个已经安装的旧版本软件包进行升级(如果以前没有安装过此包则安装它)。
-F  对一个已经安装的旧版本软件包进行升级。
其它配用选项
--force 强制执行,它与-Uvh组合使用可重新安装某个已经安装的软件包当中丢失的文件。

  • 通过RPM来查询的指令与语法如下:

rpm    <选项><软件名|软件包名|文件名>
查询选项
–q  软件名:查询某一个RPM包是否已安装
–qi  软件名:查询某一个RPM包的详细信息
–ql  软件名:列出某RPM包中所包含的文件
–qf  文件名:查询某文件属于哪一个RPM包
–qa :列出当前系统所有已安装的包
–qip 软件包:列出未安装RPM包的详细信息
–qlp 软件包:列出未安装RPM包中的文件

  • 从互联网上下载的软件包,我们应该对下载的软件包进行检查。

通过RPM来检查软件包的指令与语法如下:
rpm    <选项><软件包名>
检查选项
-K 检查RPM包的GPG签名
注意
在检查之前应该先导入红帽官方的GPG KEY文件。
GPG KEY文件在官方的安装光盘上与系统中都有。
rpm -import/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

  • 当一个软件包被安装后,用户可以对其进行检验,以检测软件是否被用户修改过。

通过RPM来校验软件包的指令与语法如下:
rpm    <选项><软件名>
校验选项
-V 校验软件;-Va 校验所有软件
校验出被修改地方
S 文件大小;M 文件权限与类型;5 MD5求和;U 文件的所属用户;G 文件的所属组;T 更改时间

  • 在Linux中,使用的软件都是开源的,用户可以得到软件的源代码,经过编译后再进行安装。

源代码包里的文件往往会含有很多源代码文件,比如头文件*.h、c代码源文件*.c、C++代码源文件*.cc、*.cpp等;
安装过程
tar    zvxf    xxx.tar.gz (解压)
cd xxx
./configure (配置) ----./configure --help(查看configure选项)
make (编译)
make install (安装)
make uninstall (卸载)

  • yum是Yellow dog Updater Modified的简称

yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以通过http或ftp共享出来,也可以是本地软件池。
在软件仓库中包括了所有RPM包的头信息(header)描述,比如依赖性等。
客户端在第一次安装的时候就会去下载header文件并加以分析,这样才能自动地从服务端下载相关软件,并一条龙地完成安装任务。
yum客户端的配置文件放在本地的/etc/yum.repos.d/*.repo
配置文件的格式为
[仓库名1]
                   name=仓库描述
       baseurl=仓库位置
                   enabled=0/1(0:不激活配置;1:激活此配置)
            gpgcheck=0/1(0:安装前不对RPM包检测1:返之)
                   gpgkey=GPG文件的位置
[BASE]
name=Red Hat Enterprise Linux Server
baseurl=ftp://192.168.0.254/pub/rhel6/dvd
    enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

  • A.  通过yum来安装软件

语法:yum <选项><软件名|组名>
安装选项
install  <软件名> 安装指定的安装包package
localinstall  <软件包> 本地安装软件包
groupinstall  <组名>组安装
补充说明
install是客户端从远程仓库中下载软件并安装
localinstall 是安装一个本地已经下载来的的软件包。
groupinstall 如果仓库为软件包分了组,则可以通过安装此组来完成安装这个组里面的所有软件包。

  • B.  通过yum来升级软件

语法:yum<选项>[软件包|软件名|组名]
升级选项
update 更新全部可以更新的软件包
update <软件名> 更新指定程序包package
check-update 检查系统中可以被升级的软件包。
groupupdate <组名> 升级组group1 里面的软件包。

  • C.  通过yum来卸载软件

语法:yum<选项><软件名|组名>
卸载选项
remove  <软件名> :卸载软件包package1
erase <软件名> :卸载软件包package1
groupremove <组名>:卸载组group1里面所包括的软件包。

  • D.  通过yum来查询软件

语法:yum<选项>[软件包|软件名|组名]
查询选项
info <软件名> :显示安装包信息
list :显示所有已经安装和仓库中可以安装的程序包
list <软件名> :显示指定软件包安装情况
grouplist :显示仓库中有哪些组
deplist <软件名> :查看程序package1依赖情况
groupinfo <组名> :显示程序组group1信息
search <关键字>:查找软件包


插入光盘
cd/misc/cd/Package
rpm –ivhvsftpd-2.0.5-10.el5.i386.rpm
rpm –ivhcreaterepo-0.4.4-2.fc6.noarch.rpm
cp    –rvf  /misc/cd/*   /var/ftp/pub/
service  vsftpd restart
chkconfig vsftpdon
createrepo  /仓库目录


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-41569-1-1.html 上篇帖子: Xmanager连接Centos6.3的远程桌面 下篇帖子: CentOS修改远程连接端口号 软件包 Linux 仓库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表