灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:7323回复:0

Linux详解之软件包管理与源

楼主#
更多 发布于:2015-01-03 08:40

文章作者:SunnyProgrammer

包管理与源是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命令


喜欢0 评分0
游客

返回顶部