[关闭]
@zhutoulwz 2015-04-29T16:19:14.000000Z 字数 3231 阅读 2298

Ubuntu使用笔记

ubuntu


软件安装与管理

在ubuntu系统下,软件安装与管理是使用apt-getdpkg,下面简单介绍一下使用方法。

apt-get

(一) apt-get方式软件安装

  1. # 普通安装
  2. apt-get install softname1 softname2
  3. # 修复安装
  4. apt-get -f install softname1 softname2 # (-f Atemp to correct broken dependencies)
  5. # 重新安装
  6. apt-get --reinstall install softname1 softname2

(二) apt-get方式软件卸载

  1. # 移除式卸载
  2. apt-get remove softname1 softname2 #移除软件包,当包尾部有+时,意为安装
  3. # 清除式卸载
  4. apt-get --purge remove softname1 softname2 # (同时清除配置)
  5. # 清除式卸载
  6. apt-get purge sofname1 softname2 # (同上,也清除配置文件)

dpkg

(一) dpkg方式软件安装

  1. # 普通安装
  2. dpkg -i package_name.deb

(二) dpkg方式软件卸载

  1. # 移除式卸载
  2. dpkg -r pkg1 pkg2
  3. # 清除式卸载
  4. dpkg -P pkg1 pkg2

Ubuntu软件包查询方法

dpkg使用文本文件来作为数据库,一般在/var/lib/dpkg目录下,在status文件中存储软件状态和控制信息,在info/目录下备份控制文件,并在其下的.list文件中记录安装文件清单,其下的.mdasums保存文件的MD5编码。查询系统所有已安装包的信息状态如下:

  1. dpkg -l

得到的结果如下:(部分结果)

  1. Desired=Unknown/Install/Remove/Purge/Hold
  2. | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
  3. |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
  4. ||/ Name Version Architecture Description
  5. +++-===============-=================-=============-===================================
  6. ii accountsservice 0.6.35-0ubuntu7.1 amd64 query and manipulate user account information
  7. ii acl 2.2.52-1 amd64 Access control list utilities
  8. ...

每条记录对应一个软件包,注意每条记录的第一,二,三个字符。 这就是软件包的状态标识,后边依此是软件包名称、版本号和简单描述。
第一字符为期望值,它包括:

第二列,是软件包的当前状态。此列包括软件包的六种状态:

第三列标识错误状态,可以总结为四种状态。 第一种状态标识没有问题,为空。其它三种符号则标识相应问题:

其他查询

  1. dpkg --listfiles apache
  2. # or
  3. dpkg-query -L apache
  1. dpkg -s nano
  2. # or
  3. dpkg-query -s nano
  1. dpkg -l
  2. # or
  3. dpkg-query -l
  1. dpkg-query -S nano
  2. # or
  3. dpkg -S nano

其他使用总结

  1. apt-cache search # (package 搜索包,当你不知道具体包名的时候,可以采用该方法根据关键字找到搜索具体包名)
  2. apt-cache show # (package 获取包的相关信息,如说明、大小、版本等)
  3. apt-get install # (package 安装包)
  4. apt-get install # (package --reinstall 重新安装包)
  5. apt-get -f install # (强制安装)
  6. apt-get remove # (package 删除包)
  7. apt-get remove --purge # (package 删除包,包括删除配置文件等)
  8. apt-get autoremove --purge # (package 删除包及其依赖的软件包+配置文件等)
  9. apt-get update # 更新源
  10. apt-get upgrade # 更新已安装的包
  11. apt-get dist-upgrade # 升级系统
  12. apt-get dselect-upgrade # 使用 dselect 升级
  13. apt-cache depends # (package 了解使用依赖)
  14. apt-cache rdepends # (package 了解某个具体的依赖,当是查看该包被哪些包依赖吧)
  15. apt-get build-dep # (package 安装相关的编译环境)
  16. apt-get source # (package 下载该包的源代码)
  17. apt-get clean && apt-get autoclean # 清理下载文件的存档 && 只清理过时的包
  18. apt-get check # 检查是否有损坏的依赖
  19. dpkg -S filename # 查找filename属于哪个软件包
  20. apt-file search filename # 查找filename属于哪个软件包
  21. apt-file list packagename # 列出软件包的内容
  22. apt-file update # 更新apt-file的数据库
  23. dpkg --info "软件包名" # 列出软件包解包后的包名称
  24. dpkg -l # 列出当前系统中所有的包,可以和参数less一起使用在分屏查看 (类似于rpm -qa)
  25. dpkg -l |grep -i "软件包名" # 查看系统中与"软件包名"相关联的包
  26. dpkg -s # 查询已安装的包的详细信息.
  27. dpkg -L # 查询系统中已安装的软件包所安装的位置 (类似于rpm -ql)
  28. dpkg -S # 查询系统中某个文件属于哪个软件包 (类似于rpm -qf)
  29. dpkg -I # 查询deb包的详细信息,在一个软件包下载到本地之后看看用不用安装
  30. dpkg -i # 手动安装软件包(这个命令并不能解决软件包之前的依赖性问题),如果在安装某一个软件包的时候遇到了软件依赖的问题,可以用apt-get -f install在解决信赖性这个问题
  31. dpkg -r # 卸载软件包.不是完全的卸载,它的配置文件还存在.
  32. dpkg -P # 全部卸载(但是还是不能解决软件包的依赖性的问题)
  33. dpkg -reconfigure # 重新配置

其中重点的是:

  1. apt-get install # 安装包
  2. apt-get remove --purge ## 卸载,删除包与配置文件等
  3. apt-cache search # 搜索包名
  4. apt-file search filename # 查看filename属于哪个包
  5. dpkg-query -S mysql.conf # 查看某个文件归属于哪个包,与apt-file search一样
  6. dpkg -l | grep -i "包名" # 可以查找已安装包中与"包名"相关的包

参考文章
http://qiuye.iteye.com/blog/461394
from qiuye

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注