【one day one linux】linux下的软件包管理工具

Linux 下的软件包管理工具



linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装。



1.软件包的种类

Red Hat和Fedora:redhat最早发行的个人版本的Linux,自从Red Hat 9.0版本发布后,RedHat 公司就不再开发桌面版的 Linux发行套件,Red Hat Linux停止了开发,而将全部力量集中在服务器版的开发上,也就是 Red Hat Enterprise Linux 版。2004年4月30日,Red Hat公司正式停止对Red Hat 9.0版本的支援,标志著Red Hat Linux的正式完结。原本的桌面版Red Hat Linux发行套件则与来自开源社区的 Fedora 计划合并,成为 Fedora Core 发行版本。目前Red Hat分为两个系列:由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux(RHEL),以及由社区开发的免费的Fedora Core。

特点:面向个人桌面应用系统,采用基于rpm/yum管理软件包。

RHEL(Red Hat Enterprise Linux)和CentOS:RHEL是Red Hat企业版,提供商业支持。CentOS是对RHEL重新编译而成,免费而稳定。

特点:面向企业服务器使用,安全稳定,采用基于rpm/yum管理软件包。

Debian和Ubuntu:Debian是社区类Linux的典范,是迄今为止最遵循GNU规范。Ubuntu基于Debian发行版和GNOME桌面环境.它使用Bash作为基础Shell,所以在很多基础命令上,ubuntu与CentOS的差别不是很明显,而ubuntu在桌面界面上要做的更为出色,还有类似的Kunbuntu/Xubuntu等。

特点:面向桌面应用,采用apt-get/dpkg包管理方式。

主要有两个:.deb和.rpm

".deb"包是由Debian社区开发的一种包,"rpm"是来自于Redhat

包类型 使用这种包的linux发行版
Debian Style(.deb) Debian, Ubuntu, Xandros, Linspire等
Red Hat Style(.rpm) Fedora, CentOS, Red Hat Enterprise Linux等

而两种包的管理工具主要分为:

linux发行版 底层工具 上层工具
Debian.Ubuntu dpkg apt-get,
Fedora, Red Hat Enterprise Linux, CentOS rpm yum

从表中可以很容易看出,linux的软件包管理工具分为两个层次的,所以下面介绍下软件包管理工具的一些基本使用。各有好处,根据自己所在的平台来判断使用哪一个。



2.软件包管理工具的使用:安装、升级、查询、卸载

(1)DEB包

一个 DEB 包包含了已压缩的软件文件集以及该软件的内容信息(在头文件中保存),通常表现为以 .deb 扩展名结尾的文件,例如 package.deb 。对其操作,需要使用 dpkg 命令。

DPKG 命令常用参数

DPKG 的常规使用方法为 dpkg -? Package(.rpm), 其中 -? 为安装参数 ( 更多信息,请查阅帮助 $man rpm):

-l   在系统中查询软件内容信息
--info  在系统中查询软件或查询指定 rpm 包的内容信息
-i   在系统中安装 / 升级软件
-r   在系统中卸载软件 , 不删除配置文件
-P   在系统中卸载软件以及其配置文件

DPKG 命令参数使用方法

安装 DEB 包命令
$ sudo dpkg -i package.deb
升级 DEB 包命令
$ sudo dpkg -i package.deb ( 和安装命令相同)
卸载 DEB 包命令
$ sudo dpkg -r package.deb # 不卸载配置文件
或
 $ sudo dpkg -P package.deb # 卸载配置文件
查询 DEB 包中包含的文件列表命令
$ sudo dpkg-deb -c package.deb
查询 DEB 包中包含的内容信息命令
$ dpkg --info package.deb
查询系统中所有已安装 DEB 包
$ dpkg -l package

更友好的包管理软件 - APT

APT

APT 的全称为 Advanced Packaging Tools 。与 YUM 对应,它最早被设计成 DPKG 的前端软件,现在通过 apt-rpm 也支持 rpm 管理。而本节本节将介绍 APT 作为 DPKG 前端的使用。 APT 的主要包管理工具为 APT-GET,通过此工具可满足和上述 YUM 相似的功能要求。

APT 的软件源定义来自 /etc/apt/sources.list 文件:
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution. 

 deb http://cn.archive.ubuntu.com/ubuntu/ hardy main restricted
 deb-src http://cn.archive.ubuntu.com/ubuntu/ hardy main restricted

注意每次手动修改上述文件后,需要使用 sudo apt-get update 来更新系统的源使新的源数据被当前系统识别。

UBUNTU 中 APT 的配置文件位于 /etc/apt/apt.conf.d,其中的多个配置文件依功能分类。

一般在刚装上ubuntu系统之后需要添加源,添加所在地区的源会比较快的,关于这个直接百度就可以了。

APT 常用命令

更新源索引
$ sudo apt-get update   #一般在安装软件和更新源之后需要执行这条命令。
安装指定软件
$ sudo apt-get install package-name
下载指定软件的源文件
$ sudo apt-get source package-name
将系统中所有软件升级到最新版本
$ sudo apt-get upgrade
将操作系统连同所有软件升级到最新版本
$ sudo apt-get dist-upgrade
卸载指定软件
$ sudo apt-get remove package-name

更多有关 APT 的信息,请查阅 http://www.debian.org/doc/manuals/apt-howto/index.en.html 。

(2)RPM包

RPM 包的安装 / 升级 / 查询 / 卸载

一个 RPM 包包含了已压缩的软件文件集以及该软件的内容信息(在头文件中保存),通常表现为以 .rpm 扩展名结尾的文件,例如 package.rpm 。对其操作,需要使用 rpm 命令。下面介绍 rpm 工具的参数和使用方法,并以 IBM Lotus Notes 在 RHEL 5.2 安装为例做具体说明。

RPM 命令常用参数

RPM 的常规使用方法为 rpm -? package.rpm,其中 -? 为操作参数 ( 更多信息,请查阅帮助 $man rpm):

-q 在系统中查询软件或查询指定 rpm 包的内容信息
-i 在系统中安装软件
-U 在系统中升级软件
-e 在系统中卸载软件
-h 用 #(hash) 符显示 rpm 安装过程
-v 详述安装过程
-p 表明对 RPM 包进行查询,通常和其它参数同时使用,如:
-qlp 查询某个 RPM 包中的所有文件列表
-qip 查询某个 RPM 包的内容信息

RPM 命令参数使用方法

以上参数有些需要组合使用,比如说 rpm -h package.rpm 是没有意义的,但 rpm -ih package.rpm 即表示安装 package 并用 # 符显示安装进度。

安装 RPM 包
# rpm -ivh package.rpm
升级 RPM 包命令
# rpm -Uvh package.rpm
卸载 RPM 包命令
# rpm -ev package
查询 RPM 包中包含的文件列表命令
# rpm -qlp package
查询 RPM 包中包含的文件列表命令
# rpm -qlp package
查询 RPM 包中包含的内容信息命令
# rpm -qip package
查询系统中所有已安装 RPM 包
# rpm -qa

更友好的包管理软件 - YUM

YUM

YUM 基于 RPM 包管理工具,能够从指定的源空间(服务器,本地目录等)自动下载目标 RPM 包并且安装,可以自动处理依赖性关系并进行下载、安装,无须繁琐地手动下载、安装每一个需要的依赖包。此外,YUM 的另一个功能是进行系统中所有软件的升级。如上所述,YUM 的 RPM 包来源于源空间,在 RHEL 中由 /etc/yum.repos.d/ 目录中的 .repo 文件配置指定,如 rhel-debuginfo.repo 的内容:

rhel-debuginfo.repo

[rhel-debuginfo]
 name=Red Hat Enterprise Linux 5Client - i386 - Debug
 baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Client/en/os/i386/Debuginfo/
 enabled=0
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
YUM 的系统配置文件位于 /etc/yum.conf,内容如:

[main]
 cachedir=/var/cache/yum
 keepcache=1
 debuglevel=2
 pkgpolicy=newest
 logfile=/var/log/yum.log
 distroverpkg=redhat-release
 tolerant=1
 exactarch=1
 obsoletes=1
 gpgcheck=1
 plugins=1
 exclude= firefox gftp

配置文件用来定义用户期望的 yum 行为,比如,gpgcheck? 表明安装时不进行 gpg 验证,exclued=firefox gftp 表明进行系统全软件升级时不升级 firefox 和 gftp 。

YUM 常用命令

安装指定软件 :
# yum -y install package-name
列出系统中已安装软件
# yum list
列出系统中可升级的所有软件
# yum check-update
升级系统中可升级的所有软件
# yum update
升级指定软件
# yum update package-name
在升级过程中接受所有互动问答
# yum -y update
卸载指定软件
# yum remove package-name

更多有关 YUM 的信息,请查阅 http://fedoraproject.org/wiki/Tools/yum 。

 


参考博客:

软件包管理

Linux 平台上的软件包管理

时间: 2024-10-14 04:48:44

【one day one linux】linux下的软件包管理工具的相关文章

[Linux] ubuntu下yarn依赖管理工具的安装和使用

Yarn 对你的代码来说是一个包管理器, 你可以通过它使用全世界开发者的代码, 或者分享自己的代码.Yarn 做这些快捷.安全.可靠,所以你不用担心什么.通过Yarn你可以使用其他开发者针对不同问题的解决方案,使自己的开发过程更简单. 使用过程中遇到问题,你可以将其上报或者贡献解决方案.一旦问题被修复, Yarn会更新保持同步.代码通过 包(package) (或者称为 模块(module)) 的方式来共享. 一个包里包含所有需要共享的代码,以及描述包信息的文件,称为 package.json

linux下系统软件包管理(rpm、yum、源码包安装)

1. rpm工具rpm全称为Redhat Package Manager,红帽软件包管理工具,设计理念是开放的,不仅仅是在RedHat平台上,在SUSE上也是可以使用的. rpm包名字构成由-和.分成了若干部分,如abrt-cli-2.0.8-15.el6.centos.i686.rpm,abrt-cli是包名,2.0.8-15是版本号,el6指的是redhat企业版6,centos指的是这是在centos上用的,i686指的是平台类型.有些rpm包并没有写具体的平台而是noarch,这代表这个

Linux详解之软件包管理与源

包管理与源是Linux学习中不可缺少的部分,同时也令很多初学者倍感困惑.本文整理了一些Linux相关的包管理与源方面的材料,希望对大家有帮助. Linux中的软件包主要分为RPM软件包及DEB软件包两类,其中Redhat Linux等系统使用RPM软件包,Ubuntu Linux等系统使用Deb软件包.本文主要侧重介绍Ubuntu Linux的包管理方法. 首先要介绍几个概念和理解: (1)安装就是把软件送到一个特定的位置,并且配置好其周边环境,使之能够正确运行. (2)Deb包就是一个压缩起来

linux软件包的安装之----rpm软件包管理工具

程序语言开发的程序:系统调用:库,动态库(开发时指向的库) 程序:只要Windows上开的程序所指向的库遵循POSIX规范将源码拿到linux上编译时没问题的,运行应该也没有问题,能否运行还要看依赖的库文件是否存在:因为linux.Windows的ABI不同,Windows上编译好的程序无法在linux上正常运行,即使程序源码遵循POSIX规范. API:POSIX(可移植os规范) ABI:应用二进制接口 linux发行商:32bit:i386,预先编译好以后提供给用户二进制程序 64bit:

[Linux] Ubuntu下的文件比较工具--meld

在ubuntu中需要比较文件的差异,于是安装meld apt-get install meld 安装完后,在/usr/bin/下找到meld,然后发送到桌面上, 或者在命令行执行meld命令 打开后选择:file->new ,打开文件选择界面,输入两个文件的路径,后即可看到两个文件的差异情况. 界面很不错奥. 转载请注明:http://blog.csdn.net/shanzhizi [Linux] Ubuntu下的文件比较工具--meld

mac pro下安装brew软件包管理工具

Homebrew简称brew,OSX上的软件包管理工具,在Mac终端可以通过brew安装.更新.卸载软件. 1.打开终端直接输入下面指令回车: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 注意:如果当前的用户是管理员,需要对权限进行许可,在执行上面的指令前先执行:sudo chmod -R g+w /usr/local 2.在1中指令回车后会提示&qu

rpm——软件包管理工具

  一.软件包管理简介 1.软件包组成 我们都在windows系统中安装过软件,基本就是用鼠标点击下一步,因而有些人认为安装软件是一件非常容易的事,无论是在何种操作系统上.然而,事实并非如此.在Linux系统上安装软件的方法完全不同于在Windows上安装,至少不会是简单的用鼠标点击下一步就行了.要想在Linux系统上安装软件包,首先要了解软件包的组成. 软件包由二进制程序.库文件.配置文件.帮助文件等重要部分组成. 软件包的安装目录如下: 二进制程序: 默认:/bin, /sbin, /usr

Mac Pro 安装 Homebrew 软件包管理工具

Linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red hat有 yum,Ubuntu有 apt-get. Mac os 中没有类似的东东,不过有第三方库支持:Homebrew.Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,可以说Homebrew就是mac下的apt-get.yum神器. Homebrew安装 1.首先要安装 xcode,在 AppStore 中通过搜索关键字 xcode 找到软

用户管理,目录权限,定时任务及软件包管理工具

linux用户管理 linux有几种用户身份,好比qq群 1.QQ群主,想干嘛就干嘛,想踢人就踢人------等于linux的root用户,权利最大 2.QQ群管理员,群主给与他的比较大的权限--------等于linux命令加上sudo,默认以root去执行命令 3.渣渣用户,QQ群里的小白,权利特别低--------等于linux的普通用户,用于保证服务器安全,防止删除等危险操作 UID,GID UID 用户的id号,root是0,普通用户从1000开始 GID,是用户组的ID号 linux