ubuntu软件安装工具dpkg的使用入门

系统安装、升级讨论
回复
xlai
帖子: 27
注册时间: 2007-03-09 23:27
送出感谢: 0
接收感谢: 0

ubuntu软件安装工具dpkg的使用入门

#1

帖子 xlai » 2010-01-24 10:59

ubuntu系统管理员需要知道如何管理更新。大型网络的管理员还要知道如何在本地作一个软件镜

像。ubuntu是开发在debian的基础之上的,所以很多技巧及命令都是可以相同的。
当今各类linux发行版使用着各种各样的软件库。在ubuntu中,配置更新的软件库地址文件

是/etc/apt/sources.list。软件更新也可以使用landscape。Canonical公司的软件管理服务。(不过目

前好像还没使用?)

ubuntu是基于debian开发的,所以使用它的软件包管理系统并不奇怪。dpkg是一个软件包管理工

具。apt也是,不过功能更强大。它可以使用远程软件库的软件,解决软件安装时的依赖问题。像main,

universe这样的软件库,是在/etc/apt/sources.list配置的。刚才说过。
提示:软件依赖,指的是安装一个软件需要另外一个软件或程序库必须安装才能正常使用,这另外一个软

件或库就叫做依赖程序。如安装sysv-rc-conf需要安装libcurses-ui-perl才可以,所以libcurses-ui-

perl叫依赖包。
当我们学习完dpkg和apt的使用方法后,我们也可以使用它们的前端工具aptitude和synaptic软

件管理工具。最后,我们再来看看task selector,它帮助我们一组一组的安装软件。


kpkg背景知识
如果你使用过redhat上面的RPM,那么好,dpkg类似于它。dpkg选项很多很多,多得可以写本书

了。不信可以使用man dpkg看看,哈哈~

本节我们只介绍我常使用的选项。为了学习这些选项,准备一个deb的软件包吧。

在/var/cache/apt/archives下面就有很多。快cd过去看看。选择的软件包依赖越少越好。如果你选择的

软件已经安装,可以先备份配置文件然后使用dpkg -P 完全删除该软件。
第七章讨论的sysv-rc-conf软件,就是sysv-rc-conf_0.99-6_all.deb所安装的。现在安装该软

件。下面的命令可以再任何ubuntu版本中使用,前提是没有依赖。

$ sudo dpkg -i sysv-rc-conf_0.99-6_all.deb
如果安装时出现了依赖问题。一个解决办法就是,使用dpkg安装所依赖的文件。这就很麻烦,因

为继续安装所依赖的文件时候,还可能再有依赖的文件,这样就要抓狂啦。等会儿,你会看到apt-get在

这个问题上面的优点咯。

想要查询某个软件包是否安装,可以使用dpkg -l命令。该选项,只能支持完整的软件包名。
$ dpkg -l sysv-rc-conf

看到sysv-rc-conf,前面的那个ii了吧。这个就是软件的安装状态。第一个位置是软件需求状态

,也就是要依赖的文件。其中,i表示instal,安装了。p代表purge,清除了,即没安装。第二个是实际

的安装状态,n表示not install没有安装,i表示installed ,安装了。
我们也可以直接运行dpkg -l,这样就会显现出所有安装了软件。很多吧。此刻可以借助管道,

和其他命令的帮助筛选需要的软件包。其实,该命令和rpm -qa是一样的。
对于已经安装了的文件,我们可以通过dpkg -L 查询其所有安装了的文件,目录。
$ dpkg -L sysv-rc-conf

如果对于某个指定的文件,我们想知道其所属的软件包,使用dpkg -S 。例如,
$ dpkg -S useradd
就会显示所有与该命令文件相关的目录,文件。不过,dpkg -S,并不是在每个文件上面都能工

作,因为有些文件两个软件混杂起来的。
删除软件包,使用dpkg -r,不过它会保留配置文件。使用
dpkg -P 完全卸载软件。
头像
missing
帖子: 1470
注册时间: 2008-03-28 20:52
系统: QNX
送出感谢: 3 次
接收感谢: 1 次

Re: ubuntu软件安装工具dpkg的使用入门

#2

帖子 missing » 2010-01-24 11:05

唉……
missing is i missing you...
回复

回到 “系统安装和升级”