软件源与本地软件包安装与卸载-Ubuntu下apt-get与dpkg命令用法



软件源与本地软件包安装与卸载-Ubuntu下apt-get与dpkg命令用法

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yooke.blog.51cto.com/4472498/911120
Ubuntu虽说是也是桌面操作系统,但是毕竟还是linux能够使用基本的软件包管理软件可以让你得心应手,不至于想找个软件找不到,想删个软件删不了。

Ubuntu 是建立在 Debian 基础上的 Linux 发行版本,保留了 Debian 的优秀特性,比如 Dpkg 和 APT 机制,对于原来的 Debian 用户来说,可以无障碍的迁移到 Ubuntu,而对于 Ubuntu 新手,熟悉 APT 和 Dpgk 是很重要的一步。
如果某个包裹被设置了 hold (停止标志,就会被搁在一边,即不会被升级):
————apt-get———-安装软件源的软件——————————–
如果你想安装当天的任何软件,至少每天运行一次,而且每次修改了 /etc/apt/sources.list 后,必须执行:
Ubuntop:~$ sudo apt-get update————–更新包列表
Ubuntop:~$ sudo apt-get upgrade [-u]————-更新软件包
升级来自 Ubuntu/Debian 镜像的包裹列表,
升 级所有已经安装的包裹为最新可用版本,不会安装新的或移除老的包裹;如果一个包改变了倚赖关系而需要安装一个新的包裹,那么它将不会被升级,而是标志为 hold。 apt-get update 不会升级被标志为 hold 的包裹 (这个也就是 hold 的意思)。请看下文如何手动设置包裹为 hold。建议同时使用 ‘-u’ 选项,因为这样你就能看到哪些包裹将会被升级。
————————————————————————————-
先介绍下apt-get命令:
sudo apt-get install XXXXX —安装软件源软件
该命令可以从所有的软件源中搜索并安装指定的软件包,要数最常用的命令了,因为ubuntu软件中心提供的软件包可能没有你想安装的,这个命令就是必须的了。
sudo apt-get remove XXXXX –purge —一移除软件园软件(–purge删除配置文件)
—purge 指明这个包裹应该被完全清除(包括配置文件),更多信息请看 dpkg -P。
这个命令很容易看出来是执行删除卸载指定的软件包,后边的–purge参数不是必须的,但是如果不添加这个参数执行删除软件包的操作时,并不会删除该软件包的配置文件,如果想一并删除配置文件则必须添加–purge参数。
sudo apt-get update —–更新软件源所包含软件包列表—增加源的时候使用
该命令可以更新软件源中的软件包列表,比如说你新增加了一个软件源但是没有执行这个操作当你想安装该源下的软件包时依然会提示找不到该软件包,这时只要执行了这个命令就可以了。
sudo apt-get upgrade –更新所有已装软件
这个命令与图形界面的更新管理器是一样的功能,执行该命令会检查所有已安装的软件包是否有新版本,如果有会提示是否去执行更新。
sudo apt-get autoremove –清除软件包–依赖的所有的包
这个命令非常有用,是用来清除那些没用的软件包的,什么是没用的软件包呢,比如你安装A软件包,安装时系统检测到A软件包依赖于B软件包,然后A和B会同 时被安装,当你卸载A软件包时却并不会自动把B软件包一并卸载,这时就可以执行autoremov命令它会自动检查依赖关系把那些没用的软件包卸载了。
sudo apt-get autoclean —清理残留文件
这个命令作用与autoremov类似,不过它是清除那些已经被删除的软件包残留的一些文件的。
———————————————————————————————————-
1、下载并安装所有包裹,同时包括升级操作,如果某个包裹被设置了 hold (停止标志,就会被搁在一边,即不会被升级):

Ubuntop:~$ sudo apt-get install

2、卸载指定包裹以及任何倚赖这个包裹的其它包裹:

Ubuntop:~$ sudo apt-get remove [--purge]
—purge 指明这个包裹应该被完全清除(包括配置文件),更多信息请看 dpkg -P。

3、升级来自 Ubuntu/Debian 镜像的包裹列表,如果你想安装当天的任何软件,至少每天运行一次,而且每次修改了 /etc/apt/sources.list 后,必须执行:

Ubuntop:~$ sudo apt-get updateUbuntop:~$ sudo apt-get upgrade [-u]Ubuntop:~$ sudo apt-get dist-upgrade [-u]
升 级所有已经安装的包裹为最新可用版本,不会安装新的或移除老的包裹;如果一个包改变了倚赖关系而需要安装一个新的包裹,那么它将不会被升级,而是标志为 hold。 apt-get update 不会升级被标志为 hold 的包裹 (这个也就是 hold 的意思)。请看下文如何手动设置包裹为 hold。建议同时使用 ‘-u’ 选项,因为这样你就能看到哪些包裹将会被升级。
dist-upgrade 和 upgrade 类似,除了 dist-upgrade 会安装和卸载包裹来满足倚赖关系,因此具有一定的危险性。

4、根据关键字搜索包裹:

Ubuntop:~$ sudo apt-cache search keywords

5、显示包裹的完整描述:

Ubuntop:~$ sudo apt-cache show package_name

6、显示包裹细节信息,包括和其它包裹的关系:

Ubuntop:~$ sudo apt-cache showpkg package_name
APT 有几个图形前端:dselect,console-apt,aptitude,gnome-apt(其中一些在使用前得先安装)。其中 dselect 无疑是最强大的,也是最古老,最难驾驭,具体可以参考 Debian 手册。
==———————————————————————————————————————

————————————–dpkg——–安装本地软件包deb包—————————————-

如果你手动下载了一个 .deb 包,通过以下命令安装和管理 Debian 包裹文件;
———————————————————————————————————
“dpkg ”是“Debian Package ”的简写。为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。
下面介绍dpkg命令的常用方法 :
sudo dpkg -i XXXXX –安装deb包,后边是文件的路径–软件中心太慢了 -
这个命令非常常用,是用来安装你自己下载的软件包的,当然你可以说你以前不知道这个命令双击下载的软件包就可以使用ubuntu软件中心安装了,但是如果 你这样安装过你就会发现安装的速度极慢,光是ubuntu软件中心打开就得好一会儿,试过这个命令你就知道什么叫高效率了。
sudo dpkg -l | grep XXXXX –列出所有已安装文件–|grep 查询是否安装某软件包
例如:~$ sudo dpkg -l | grep XX(XX为你知道的一部份软件名)
grep (global search regular expression_r(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本。
单独使用sudo pdkg -l 命令可以列出系统上安装的所有软件,使用 | 加grep命令可以用来查询是否安装了某个软件包,grep支持模糊查询也就是说即使只记得软件包名字的几个字母也可以查询的,另外它还支持正则表达式, 如果想了接正则表达式和grep用法可以查看本人的另外一篇博客,点击这里查看。
sudo dpkg -L XXXXX –某软件包安装后的所有文件的安装位置
这个命令可以用来显示系统上已安装的某个软件包生成的所有文件的位置,也就是看看这个软件包就安装哪些文件。
sudo dpkg -c XXXXX –未安装的某软件包的所有文件的安装位置
这个命令与sudo dpkg -L 类似,也是查看软件包生成文件的安装位置,但它是查看未安装的软件包的。

——————————————————————————————————–
7.如果你手动下载了一个 .deb 包,通过以下命令安装 Debian 包裹文件:

Ubuntop:~$ sudo dpkg -i debfilename

8、列出包裹包含的内容:

Ubuntop:~$ sudo dpkg -c debfilename


9、从 .deb 文件中提取包裹信息:

Ubuntop:~$ sudo dpkg -I debfilename

10、卸载一个已安装的包裹:

Ubuntop:~$ sudo dpkg -r packagename

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

Ubuntop:~$ sudo dpkg -P packagename

12、列出包裹安装的所有文件清单。(同时请看 dpkg -c 来检查一个 .deb 文件的内容):

Ubuntop:~$ sudo dpkg -L packagename

13、显示已安装包裹的信息:

Ubuntop:~$ sudo dpkg -s

14、重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提供了一个统一的配制界面),你能够重新配制 debconf 它本身:

Ubuntop:~$ sudo dpkg-reconfigure packagename

15、获取软件包裹状态:

Ubuntop:~$ sudo dpkg –get-selections | grep keyname

16、设置软件包裹状态,比如 HOLD 某个包裹不允许升级:

Ubuntop:~$ echo “packagename hold” | sudo dpkg –set-selections

17、从 HOLD 状态恢复软件包裹标志位:

Ubuntop:~$ echo “packagename install” | sudo dpkg –set-selections

18、修正依赖关系损坏的包裹:

Ubuntop:~$ sudo apt-get -f install
更多相关帮助可以参考 Debian 文档,或者包含中文版的 Debian 参考手册。