when i run tasksel,system give me following report,what‘s me

发表于:2007-06-21来源:作者:点击数: 标签:
Diablo2问: when i run tasksel,system give me following report,what's means? root@debian:~# tasksel No tasks found on this system. Did you update your available file? carlos回答并解释: try: dselect - update 刚才手头有点事,现在来解释一下

   
  Diablo2问:

when i run tasksel,system give me following report,what's means?


>>root@debian:~# tasksel
>>No tasks found on this system.
>>Did you update your available file?



carlos回答并解释:

try: dselect -> update


刚才手头有点事,现在来解释一下原因

实际上apt-get与dselect使用的是不同的文件来保存package信息
apt : /var/lib/apt/lists/
dselect/dpkg/tasksel : /var/lib/dpkg/

再来解释一下dselect更新的流程:
运行dselect
选择update
程序分析/etc/apt/sources.list
自动连网寻找list中对应的Packages/Sources/Release列表文件,如果有更新则下载之,存入/var/lib/apt/lists/目录
系统自动执行dpkg --merge-avail {Packagefile},将更新的包信息存入/var/lib/dpkg/available文件中
返回dselect初始界面,选择Select 回车
程序会去比较/var/lib/dpkg/available与available-old的区别,标示出最近更新过以及新加入的包

apt-get的更新过程:
执行apt-get update
程序分析/etc/apt/sources.list
自动连网寻找list中对应的Packages/Sources/Release列表文件,如果有更新则下载之,存入/var/lib/apt/lists/目录
返回

可以看出,dselect的更新过程实际上就是apt-get update的扩展
/var/lib/apt/lists/只存放了包列表,格式跟ftp.debian.org上的一样
/var/lib/dpkg/则是将上面的文件组合并修改成dpkg需要的格式,这个目录里还保存了包的状态(install/purge/remove...),包内的文件列表,deb包的安装卸载脚本等等很多内容

另外,无论是用什么方法下载的deb软件包都会存放在/var/cache/apt/archives/里 (各位自己手动下载的除外 ;-)

apt-get的功能主要是用于下载软件
而dselect则更侧重于管理软件

等同于目前redhat中很流行的apt-rpm/synaptic
apt-rpm就是debian apt的移植版本
synaptic就类似于dselect的图形界面(当然,debian中也有synaptic... rh那个依然是从咱们这儿移植的)
rpm的功能就类似于dpkg (but... 功能比dpkg差太多)

原文转自:http://www.ltesting.net