当前位置: 首页 > 大杂烩 > 正文

Ubuntu 软件包管理常用命令

Ubuntu 软件包管理常用命令

搞SDN就必须熟悉Linux,特别是Ubuntu,因为很多工具(如Mininet)默认用的都是Ubuntu,当然可以使用其他发行版,但是使用Ubuntu还是要方便一些。

在Redhat系列的Linux发行版中混迹的时间长了,导致在Ubuntu中有事摸不着头脑,软件包管理命令在两个发行版中差异较大,虽然理念差不多,但是具体使用起来还需要熟悉一下,以下内容是http://sdnhub.cn根据网络资源整理,感谢提供这些教程的人们!

Ubuntu中常用的软件包管理命令莫过于:

sudo apt-get install xxx 

其中 xxx 是要安装的软件包的名称。只知道这条命令基本上可以搞定软件安装了,但是有时候需要查看某个软件包是否安装,以及安装位置等信息。这就需要熟悉其它的软件包管理命令。

1 Ubuntu软件包管理概览

Ubuntu 采用的是 Debian 的软件包管理器 dpkg (类似与Redhat中的RPM)。系统中所有的 packages 信息保存在目录 /var/lib/dpkg/
下面。

其子目录 /var/lib/dpkg/info 则用于保存各个软件包的配置文件列表,具体用途如下:

  1. conffiles 记录了软件包的配置文件列表
  2. list 保存软件包中的文件列表, 用户可以从 .list 的信息中找到软件包中文件的具体安装位置.
  3. md5sums 记录了软件包的md5信息, 这个信息是用来进行包验证的.
  4. prerm 脚本在 Debian 包解包之前运行, 主要作用是停止作用于即将升级的软件包的服务, 直到软件包安装或升级完成.
  5. postinst 脚本是完成 Debian 包解开之后的配置工作, 通常用于执行所安装软件包相关命令和服务重新启动.

/var/lib/dpkg/available 文件的内容是软件包的描述信息, 该软件包括当前系统所使用的 Debian 安装源中的所有软件包,
其中包括当前系统中已安装的和未安装的软件包.

/var/cache/apt/archives 目录是在用 apt-get install 安装软件时,软件包的临时存放路径

/etc/apt/sources.list 存放的是软件源站点, 当执行命令 sudo apt-get install xxx 时,Ubuntu 从这些站点下载软件包到本地并执行安装,通常我们都需要将最快的镜像站点加入到文件中,以提高软件包的下载速度。

2 相关命令使用示例:

下面命令记住几个常用得就OK,其他的用到时再查,多用几次就记住了 :)

(1)查看某软件包的安装文件的保存位置

dpkg -L xxx

(2)查找软件仓库中的软件包

apt-cache search 正则表达式

(3)显示系统安装包的统计信息

apt-cache stats

(4)显示系统全部可用软件包的名称

apt-cache pkgnames

(5)显示某软件包的详细信息

apt-cache show xxx

(6)查找某文件属于哪个包

apt-file search xxx

(7)查看已经安装了哪些软件包

dpkg -l

(8)查询某软件依赖哪些软件包

apt-cache depends xxx

(9)查询某软件被哪些软件包依赖

apt-cache rdepends xxx

(10)增加一个光盘源

sudo apt-cdrom add

注: 顾名思义, 就是安装更新软件包时让其优先从Ubuntu 光盘上找(如果你不能上网安装/更新, 但有 Ubuntu 的 DVD ISO, 这会对你非常有用)

(11)从源中同步软件包的索引文件

sudo apt-get update

update is used to resynchronize the package index files from their sources

(12)清除所有已删除软件包的残馀配置文件

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

(13)编译时缺少h文件的自动处理

sudo auto-apt run ./configure

(14)查看安装软件时下载软件包的临时存放目录

ls /var/cache/apt/archives

(15)备份当前系统安装的所有软件包的列表

dpkg --get-selections | grep -v deinstall > ~/somefile

(16)从上面备份的安装包的列表文件恢复所有包

dpkg --set-selections < ~/somefile
sudo dselect

(17)清理旧版本的软件缓存

sudo apt-get autoclean

(18)清理所有软件缓存

sudo apt-get clean

(19)删除系统不再使用的孤立软件

sudo apt-get autoremove

(20)查看软件包在服务器上面的地址

apt-get -qq --print-uris install ssh | cut -d\' -f2

本文固定链接: http://sdnhub.cn/index.php/ubuntu-software-management-command/ | 软件定义网络SDN

该日志由 sdnhub 于2015年04月20日发表在 大杂烩 分类下, 通告目前不可用,你可以至底部留下评论。
原创文章转载请注明: Ubuntu 软件包管理常用命令 | 软件定义网络SDN
关键字:

Ubuntu 软件包管理常用命令:等您坐沙发呢!

发表评论

*

快捷键:Ctrl+Enter