Linux之软件包管理

来源:互联网 发布:淘宝开朗爸的店怎么样 编辑:程序博客网 时间:2024/05/13 06:48

上一篇提到了update这个命令,说它是更新了列表。。。。

那/etc/apt/source.list 和 /var/lib/apt/list 这两个目录有什么区别呢????

首先/etc/apt/source.list这个文件指定apt查找或者安装某个软件包时候要搜索的仓库,里面每一行定义一个仓库。仓库里面有存放着一组软件包及其相关信息,包括用来描述每个软件包的头部信息,包之间的依赖关系。。。

Ubuntu仓库里面的软件包可划分为下面几个类别:

1)main              ubuntu支持的开源软件

2)universe    社区维护的免费开源软件

3)multiverse    存在版权限制和法律问题的软件

4)restricted       专有设备驱动程序

5)backports      较新的ubuntu发行中有的但较早发行中没有的软件包


如果在source.list搜索中出现了:

Enable:unable to locate package XXX

说明在source.list定义的任何一个仓库中都不包含该软件,如果没有使用ubuntu最新版本,也许可能在新的版本中有,可以尝试着启动source.list文件中启动backports仓库。

source.list 文件定义仓库的格式如下:

type URL respository category-list

type = deb           #可执行文件的软件包

type = deb-src     #源码文件包

URL                     #指定仓库的位置,通常是一个网址

respository           #apt要搜索的仓库的名称

category-list         #软件包类别(main,universe,multiverse多个的话用空格符隔开)


deb http://ubuntu.cn99.com/ubuntu/ xenial universe

上面这一行来自source.list的文件,他的含义是让apt搜索http://ubuntu.cn99.com/ubuntu/的xenial仓库,查找包含可执行文件的deb软件包。可接受的软件包类别为universe。若把deb替换为deb-src,apt会以同样的方式搜索源文件包,通过命令apt-get source下载源码包。


而如果想添加新的源:

1.打开终端输入 sudo gedit /etc/apt/source.list

2.可把下面的代码复制进去

#台湾源 
deb http://tw.archive.ubuntu.com/ubuntu/ precise main universe restricted multiverse 
deb-src http://tw.archive.ubuntu.com/ubuntu/ precise main universe restricted multiverse 
deb http://tw.archive.ubuntu.com/ubuntu/ precise-security universe main multiverse restricted 
deb-src http://tw.archive.ubuntu.com/ubuntu/ precise-security universe main multiverse restricted 
deb http://tw.archive.ubuntu.com/ubuntu/ precise-updates universe main multiverse restricted 
deb-src http://tw.archive.ubuntu.com/ubuntu/ precise-updates universe main multiverse restricted 
  www.2cto.com  
#网易 Ubuntu 11.10 源(速度很快) 
deb http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse 
deb-src http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse 
deb http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted 
deb-src http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted 
deb http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted 
deb http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted 
deb-src http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted 
deb http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted 
deb-src http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted 
deb-src http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted 
  www.2cto.com  
3.通知ubuntu启用新的更新源 sudo apt-get update


apt本地软件包索引和apt缓存

其实update更新的内容就是/var/lib/apt/list中的内容,该目录下存放着本地软件包索引及其相关文件。对于/etc/apt/source.list列出的每个仓库,这个目录都有一个文件列出这个仓库中的每个软件包的最新版本信息。apt可用这些文件来判断系统中的软件包以及缓存中的软件包是否是最新的版本。当source.list添加新的源时候,可使用update命令来同步/var/lib/apt/list目录下的索引和仓库中的相关信息,好让apt能够下载添加新的仓库中的软件包。


apt的缓存放在/var/cache/apt/archives目录中,里面是最近下载的deb文件。默认情况下,apt的cron脚本对这个目录的大小以及这个目录中的文件的有效期有一定的限制。

0 0
原创粉丝点击