请输入您要查询的百科知识:

 

词条 dpkg
释义

“dpkg ”是“Debian Package ”的简写。为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都使用 “dpkg”,例如 “Ubuntu”、“Knoppix ”等。

普通用法

以下是一些 “Dpkg ”的普通用法:

1、“dpkg -i ”<package.deb>

安装一个 “Debian ”软件包,如你手动下载的文件。

2、“dpkg -c ”<package.deb>

列出 <package.deb> 的内容。

3、“dpkg -I ”<package.deb>

从 <package.deb> 中提取包裹信息。

4、“dpkg -r ”<package>

移除一个已安装的包裹。

5、“dpkg -P” <package>

完全清除一个已安装的包裹。和 “remove” 不同的是,“remove ”只是删掉数据和可执行文件,“purge ”另外还删除所有的配制文件。

6、“dpkg -L ”<package>

列出 <package> 安装的所有文件清单。同时请看 “dpkg -c ”来检查一个 .deb 文件的内容。

7、“dpkg -s ”<package>

显示已安装包裹的信息。同时请看 apt-cache 显示 Debian 存档中的包裹信息,以及 dpkg -I 来显示从一个.deb 文件中提取的包裹信息。

8、“dpkg-reconfigure ”<package>

重新配制一个已经安装的包裹,如果它使用的是 “debconf” (debconf 为包裹安装提供了一个统一的配制界面)。

dpkg使用解析

dpkg -i <package.deb>

安装一个 Debian 包裹文件,如你手动下载的文件。

dpkg -c <package.deb>

列出 <package.deb> 的内容。

dpkg -I <package.deb>

从 <package.deb> 中提取包裹信息。

dpkg -r <package>

移除一个已安装的包裹。

dpkg -P <package>

完全清除一个已安装的包裹。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件。

dpkg -L <package>

列出 <package> 安装的所有文件清单。同时请看 dpkg -c 来检查一个 .deb 文件的内容。

dpkg -s <package>

显示已安装包裹的信息。同时请看 apt-cache 显示 Debian 存档中的包裹信息,以及 dpkg -I 来显示从一个 .deb 文件中提取的包裹信息。

dpkg-reconfigure <package>

重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提供了一个统一的配制界面)。你能够重新配制 debconf 它本身,如你想改变它的前端或提问的优先权。例如,重新配制 debconf,使用一个 dialog 前端,简单运行:

dpkg-reconfigure --frontend=dialog debconf (如果你安装时选错了,这里可以改回来哟:)

echo “<package> hold” | dpkg –set-selections

设置 <package> 的状态为 hlod (命令行方式)

dpkg –get-selections “<package>”

取的 <package> 的当前状态 (命令行方式)

支持通配符,如:

Debian:~# dpkg –get-selections *wine*

libwine hold

libwine-alsa hold

libwine-arts hold

libwine-dev hold

libwine-nas hold

libwine-print hold

libwine-twain hold

wine hold

wine+ hold

wine-doc hold

wine-utils hold

例如:

大家现在用的都是 gaim-0.58 + QQ-plugin,为了防止 gaim 被升级,我们可以采用如下方法:

方法一:

Debian:~# echo “gaim hold” | dpkg –set-selections

然后用下面命令检查一下:

Debian:~# dpkg –get-selections “gaim”

gaim hold

现在的状态标志是 hold,就不能被升级了。

如果想恢复怎么办呢?

Debian:~# echo “gaim install” | dpkg –set-selections

Debian:~# dpkg –get-selections “gaim”

gaim install

这时状态标志又被重置为 install,可以继续升级了。

同志们会问,哪个这些状态标志都写在哪个文件中呢?

在 /var/lib/dpkg/status 里,你也可以通过修改这个文件实现 hold。

有时你会发现有的软件状态标志是 purge,不要奇怪。

如:事先已经安装了 amsn,然后把它卸了。

apt-get remove –purge amsn

那么状态标志就从 install 变成 purge。在/etc/apt 下手动建一个 preferences 文件

内容:

Package: gaim

Pin: version 0.58*

保存

方法二:

dpkg -S <file>

在包裹数据库中查找 <file>,并告诉你哪个包裹包含了这个文件。(注:查找的是事先已经安装的包裹)

dpkg其它用法编辑本段回目录dpkg-source -x <package.dsc>

如果你手工下载了一个程序的源码包,其中包含了几个类似 .orig.tar.gz ,.dsc ,

以及 .diff.gz 之类的文件,

那么你就可以对 .dsc 文件使用这个命令来 unpack 源码包。

dpkg-buildpackage

从 Debian 源码树建立一个 deb 包。你必须在 source tree 的主目录才能生效。例如:

dpkg-buildpackage -rfakeroot -uc -b

这里 '-rfakeroot' 指定命令使用 fakeroot 程序来模仿 root 权限 [来实现所有者(ownership)目的],

'-uc' 表示 "Don't cryptographically sign the changelog",'-b' 代表只建立二进制包。

debuild

一个快速打包脚本类似 dpkg-buildpackage,能自动的识别是否使用 fakeroot,

同时为你运行 lintian 和 gpg。

修正倚赖关系

dpkg --configure --pending

如果 dpkg 在 apt-get install upgrade dist-uptradeing 的时候出错退出,

尝试使用此命令来配置已经 unpack 的包。

然后再用 apt-get install,upgrade,或者 dist-upgrade -f,

然后再用 apt-get install,upgrade,或者 dist-upgrade。

可能会重复多次,这样通常可以解决大多数的依赖性问题。

(同时,如果提示由于某种原因需要某个特定的包裹,你可以常识安装或卸载这个包)

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/11 7:45:12