词条 | 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。