sudo apt-get 和dpkg命令

  1. APT(Ubuntu Linux软件包管理工具之一)

apt-cache search # ------(package 搜索包)前端

apt-cache show #------(package 获取包的相关信息,如说明、大小、版本等)数据库

sudo apt-get install # ------(package 安装包)frontend

sudo apt-get install # -----(package - - reinstall 从新安装包)编辑器

sudo apt-get -f install # -----(强制安装?#"-f = --fix-missing"当是修复安装吧...)工具

sudo apt-get remove #-----(package 删除包)ui

sudo apt-get remove --purge # ------(package 删除包,包括删除配置文件等)命令行

sudo apt-get autoremove --purge # ----(package 删除包及其依赖的软件包+配置文件等(只对6.10有效,强烈推荐))ip

sudo apt-get update #------更新源rem

sudo apt-get upgrade #------更新已安装的包get

sudo apt-get dist-upgrade # ---------升级系统

sudo apt-get dselect-upgrade #------使用 dselect 升级

apt-cache depends #-------(package 了解使用依赖)

apt-cache rdepends # ------(package 了解某个具体的依赖?#当是查看该包被哪些包依赖吧...)

sudo apt-get build-dep # ------(package 安装相关的编译环境)

apt-get source #------(package 下载该包的源代码)

sudo apt-get clean && sudo apt-get autoclean # --------清理下载文件的存档 && 只清理过期的包

sudo apt-get check #-------检查是否有损坏的依赖

apt-get install <package>:下载 <package> 以及全部倚赖的包裹,同时进行包裹的安装或升级.若是某个包裹被设置了 hold (中止标志,就会被搁在一边(即不会被升级).更多 hold 细节请看下面.

apt-get remove [--purge] <package>:移除 <package> 以及任何倚赖这个包裹的其它包裹.--purge 指明这个包裹应该被彻底清除 (purged) ,更多信息请看 dpkg -P .

apt-get update:升级来自 Debian 镜像的包裹列表,若是你想安装当天的任何软件,至少天天运行一次,并且每次修改了/etc/apt/sources.list 后,必须执行.

apt-get upgrade [-u]:升级全部已经安装的包裹为最新可用版本.不会安装新的或移除老的包裹.若是一个包改变了依赖关系而须要安装一个新的包裹,那么它将不会被升级,而是标志为hold. apt-get update 不会升级被标志为hold 的包裹 (这个也就是hold 的意思).请看下文如何手动设置包裹为hold. 我建议同时使用 '-u' 选项,由于这样你就能看到哪些包裹将会被升级.

apt-get dist-upgrade [-u]:和apt-get upgrade 相似, 但dist-upgrade 会安装和移除包裹来知足依赖关系.所以具备必定的危险性.

apt-cache search <pattern>:搜索知足 <pattern> 的包裹和描述.

apt-cache show <package>:显示 <package> 的完整的描述.

apt-cache showpkg <package>:显示 <package> 许多细节,以及和其它包裹的关系.

dselect, console-apt, aptitude, gnome-apt 是APT 的几个图形前端(其中一些在使用前得先安装).这里 dselect 无疑是最强大的,也是最古老,最难驾驭.

====================================================================================

  1. DPKG(Ubuntu Linux软件包管理工具之二)

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

=========================================================================

例如:

你们如今用的都是 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>,并告诉你哪一个包裹包含了这个文件.(注:查找的是事

先已经安装的包裹)

从源码创建deb packages

apt-get source [-b] <package>

下载一个源码的包并解开。

你必须在你的/etc/apt/sources.list文件里写入一条 deb-src 的记录才能完成这项工做。

若是你输入了一个-b参数,而且是以root的身份,deb包会被自动的建立。

apt-get build-dep <package>

自动下载并安装经过源码建立 <package> 时须要的包。

只有apt 0.5以上版本才支持这个功能。

如今woody和以上版本包含了这个功能。

若是你使有一个旧版本的apt,查找依赖性最简单的方法是查看源码包中debian/control 这个文件,注意这个路径是相对的,是包内的路径。

普通的用法,结合 apt-get source -b,例子 (as root):

apt-get build-dep <package>

apt-get source -b <package>

会下载源码包,创建依赖性,而后尝试编译源码。

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, or dist-upgrade -f ,而后再用 apt-get install, upgrade, or dist-upgrade.

可能会重复屡次,这样一般能够解决大多数的依赖性问题。

(同时,若是提示因为某种缘由须要某个特定的包裹,你能够常识安装或卸载这个包)

apt-get install -f

apt-get upgrade -f

apt-get dist-upgrade -f

尝试修正上述过程当中出现依赖性关系

注意 apt-get install -f 不须要 <package> 做为参数。

-------------------------------------

用apt-cdrom -d /media/cdrom0 add 加载光驱,

/dev/hdc /cdrom iso9660 user,noauto 0 0

用编辑器修改一下存盘,重启,应该能够了。

而后,apt-cdrom -d /cdrom add

apt-get install (你要装的软件名:《例如gcc》)

gcc相关的软件会自动装入。

注意:apt不会认你手动挂载的光驱,若是fstab中设置不对apt不会正常工做。

用apt-cdrom -d /media/cdrom0 add 加载光驱,须要使用#mkdir /media/cdrom0 不然会错误提示说“没法读取文件系统挂载点/media/cdrom的状态 -stat(2 没有那个文件或目录)”

相关文章
相关标签/搜索