Ubuntu的apt软件包管理机制

Debian/Ubuntu采用的是deb软件包,通常用dpkg(package manager for Debian)工具进行管理,一般是没有网络功能的。一般我们会用apt(Advanced Package Tool)这个更加强大的工具对系统上所有的deb软件报进行管理。对应RHEL/CentOS/Fedora中的使用yum管理系统中的rpm(Redhat Package Management)。上面提到的deb或者rpm包都是已经预先编译了的二进制包。而通常以tar.gz或者tar.bz2打包压缩的是另一个对系统软件包管理(安装或者更新)的机制,这是最原始的源码包机制,至今许多发布的开源软件还是用这这种方式,因为这种方式对系统的限制最小,但是采用源码的方式的缺点就是管理麻烦。对于新手来说可能说是噩梦,因为要结合系统上的许多命令find,xargs,sed,awk等进行管理。

 

这里只是谈谈apt的包管理机制。主要分为两部分,软件包安装部分和更新部分。

主要的配置文件:/etc/apt/apt.conf,这里面通常没有什么内容。通常如果apt下载需要代理的时候,会在这个文件当中写入如下内容:

Acquire::http::proxy "http://hostname:port/";
Acquire::ftp::proxy "ftp://hostname:port/";
Acquire::https::proxy "https://hostname:port/";
而目录/etc/apt/apt.conf.d就是/etc/apt/apt.conf的规划目录,包括一些配置的子项。

 

主要的数据记录文件:/etc/apt/sources.list,这里通常记录的你的软件包的安装和更新源的位置。

对于Ubuntu,主要有四种形式的软件供你选择使用,分别列举如下:

main: Canonical-supported Open Source software 主要的,支持最好的开源软件,我们安装软件的时候,大部分都是从这个分支获取的。

universe: Community-maintained Open Source software 社区维护的开源软件,这里也占据了我们安装软件的一大部分。

restricted: Proprietary drivers for devices 一般是由设备生产商专有的设备驱动软件,一般我们安装好了系统后的显卡驱动就是从这里获取的。

multiverse: Software restricted by copyright or legal issue 受版权或者法律保护的相关软件

一般上面四个分支,我们都会写入到sources.list当中。

 

还有一部分就是软件的更新部分。对于上面的每个分支,都有四种类型的更新,分别如下:

security: Important security updates 重要的安全更新

updates: Recommended updates 建议的一般更新

proposed: Pre-released updates 推荐的一般更新,比上面那个要次要一点

backports: Unsupported updates 不支持的更新,这种更新通常还存在一些bug

一般上面四种更新,我们只要前面两种即可。后两个一般不采用。

 

对于目录/etc/apt/sources.list.d/下面也是一些数据记录文件,你可以自行添加一些软件源上去,这就是我们通常说的第三方源。比如你安装了Google Chrome浏览器,这个目录下通常就会有一个关于Chrome的更新源地址。

 

介绍了上面的部分,再看看围绕apt那几个管理工具。

1.查询软件包,我们一般会使用apt-cache。

$ apt-cache search ibus-pinyin

# 查询ibus-pinyin输入法

$ apt-cache policy ibus-pinyin

# 查询更加详细的信息

$ apt-cache show package-names

$ apt-cache showpkg package-names

$ apt-cache depends package-names

$ apt-cache rdepends package-names

# 查看软件包之间的依赖关系

更多请参考man apt-cache

 

2.安装或者更新软件包

$ apt-get install package-names

$ apt-get update

# 更新源中的软件包数据

$ apt-get upgrade

# 更新系统上面的符合条件的所有软件包

 

3.和系统中的文件结合的工具

$ apt-file update

# 和apt-get udpate 的效果是一致的

$ apt-file search filename

# 根据某个文件查找其对应的deb包,这个在想获取某个工具的源码的时候非常有效

 

4.另外两个工具

aptitude:控制台下apt的接口

synaptic:GUI界面的apt管理工具

关于图形界面的apt管理工具,还有Ubuntu Software Center

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值