Linux详解之软件包管理与源


包管理与源是Linux学习中不可缺少的部分,同时也令很多初学者倍感困惑。本文整理了一些Linux相关的包管理与源方面的材料,希望对大家有帮助。

Linux中的软件包主要分为RPM软件包及DEB软件包两类,其中Redhat Linux等系统使用RPM软件包,Ubuntu Linux等系统使用Deb软件包。本文主要侧重介绍Ubuntu Linux的包管理方法。

首先要介绍几个概念和理解:

(1)安装就是把软件送到一个特定的位置,并且配置好其周边环境,使之能够正确运行。

(2)Deb包就是一个压缩起来的可以安装的软件包。

(3)源是提供软件下载的站点,不同的源提供的软件可能不同。

(4)Ubuntu建立本地数据库,记录软件包之间的依赖关系。

(5)软件包管理工具的作用是提供在操作系统中安装、升级、卸载需要的软件的方法,并提供对系统中所有软件状态信息的查询。

如果能够理解上面的几点,就可以对包管理有一个基本的认识。Ubuntu中使用的是Deb软件包,在/etc/apt/sources.list配置文件中保存了提供deb软件包下载的站点,即源。由于该软件包间可能存在依赖关系,一旦安装的软件包多至一定数量,手工的安装与卸载将会非常繁琐且容易出错。为了解决这一问题,出现了很多高级软件包管理工具,如apt-get、aptitude、yum、synaptic等。以apt-get为例,该工具会建立本地数据库,记录软件包之间的依赖关系。当要安装某软件包时,会从源中搜索并下载到本地,同时还会检查该软件包依赖的所有其他包,并安装系统中尚未安装的依赖包;删除则采用类似的方式,从而简化了包管理过程。值得注意的是,这些高级包管理工具最终都是调用dpkg来完成的。

另外,要介绍几个包管理中常用到的命令,详细用于可使用man command或command --help了解并学习。

(1)dpkg

是“debian package”的简写,是Debian软件包管理器的基础。

(2)apt-get

用于从远程获取软件包以及处理复杂的软件包关系。

apt-get update:在修改源后,需要运行该命令,此外也需要定期运行该命令以确保本机的软件包列表是最新的。

apt-get upgrade:用以更新软件包

apt-get dist-upgrade:将系统升级到新版本。

apt-get source:下载源代码。

(3)apt-cache

apt-cache search string:在软件包列表中搜索字符串

apt-cache showpkg:显示软件包信息

(4)alien

可完成rpm软件包与deb软件包之间的转换。

alien -to-deb:转换为deb软件包

alien -to-rpm:转换为rpm软件包

最后,还有介绍几种初学者常遇到问题的解决方案。

(1)怎样安装tar文件?

一般情况下,这里面保存了软件的源代码,需要先用tar命令解压并进行编译,最后安装。

解压根据文件打包格式使用相应命令,然后进入到解压出的目录,

一般依次执行./configure

make

sudo make install

即可完成安装。

(2)怎样安装下载好的deb软件包?

sudo dpkg -i package.deb或者

sudo alien -i package.deb

(3)怎样在Ubuntu中安装rpm软件包?

首先,要使用alien将rpm包转换为deb包。

sudo alien --to-deb package.rpm

接着按照deb软件包安装方式进行安装。

(4)怎样查询本机已安装的软件包?

使用dpkg -l | more命令

相关内容