`

Ubuntu 软件包管理详解

阅读更多
Ubuntu 方便宜用,最值得让人称道的便是其安装软件的方式, 一条命令: sudo apt-get install xxx 就几乎能帮你搞定所有的软件安装难题。但是有时你可能有这样的需求,查看某个软件包是否安装、安装在哪..., 那我们就来介绍一下 Ubuntu 的软件包管理方式。

一、Ubuntu 采用 Debian 的软件包管理器 dpkg 来管理软件包, 类似 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 就去这些站点下载软件包到本地并执行安装

二、相关命令使用示例:
(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

(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

三、其他应用总结
apt-cache search # ------(package 搜索包)
apt-cache show #------(package 获取包的相关信息,如说明、大小、版本等)
apt-get install # ------(package 安装包)
apt-get install # -----(package --reinstall 重新安装包)
apt-get -f install # -----(强制安装, "-f = --fix-missing"当是修复安装吧...)
apt-get remove #-----(package 删除包)
apt-get remove --purge # ------(package 删除包,包括删除配置文件等)
apt-get autoremove --purge # ----(package 删除包及其依赖的软件包+配置文件等(只对6.10有效,强烈推荐))
apt-get update #------更新源
apt-get upgrade #------更新已安装的包
apt-get dist-upgrade # ---------升级系统
apt-get dselect-upgrade #------使用 dselect 升级
apt-cache depends #-------(package 了解使用依赖)
apt-cache rdepends # ------(package 了解某个具体的依赖,当是查看该包被哪些包依赖吧...)
apt-get build-dep # ------(package 安装相关的编译环境)
apt-get source #------(package 下载该包的源代码)
apt-get clean && apt-get autoclean # --------清理下载文件的存档 && 只清理过时的包
apt-get check #-------检查是否有损坏的依赖
dpkg -S filename -----查找filename属于哪个软件包
apt-file search filename -----查找filename属于哪个软件包
apt-file list packagename -----列出软件包的内容
apt-file update --更新apt-file的数据库

dpkg --info "软件包名" --列出软件包解包后的包名称.
dpkg -l --列出当前系统中所有的包.可以和参数less一起使用在分屏查看. (类似于rpm -qa)
dpkg -l |grep -i "软件包名" --查看系统中与"软件包名"相关联的包.
dpkg -s 查询已安装的包的详细信息.
dpkg -L 查询系统中已安装的软件包所安装的位置. (类似于rpm -ql)
dpkg -S 查询系统中某个文件属于哪个软件包. (类似于rpm -qf)
dpkg -I 查询deb包的详细信息,在一个软件包下载到本地之后看看用不用安装(看一下呗).
dpkg -i 手动安装软件包(这个命令并不能解决软件包之前的依赖性问题),如果在安装某一个软件包的时候遇到了软件依赖的问题,可以用apt-get -f install在解决信赖性这个问题.
dpkg -r 卸载软件包.不是完全的卸载,它的配置文件还存在.
dpkg -P 全部卸载(但是还是不能解决软件包的依赖性的问题)
dpkg -reconfigure 重新配置

转自:http://www.cppblog.com/jb8164/archive/2009/01/09/71583.html
转自:http://qiuye.iteye.com/blog/461394
分享到:
评论

相关推荐

    ubuntu软件包管理

    ubuntu 软件包管理技术详解 Ubuntu 作为一个流行的 Linux 发行版,软件包管理是其核心组件之一。软件包管理是指对操作系统中软件包的安装、更新、卸载和管理等操作。Ubuntu 中有多种软件包管理器,包括 dpkg、apt、...

    Ubuntu的apt命令详解.pdf

    Ubuntu的apt命令是Ubuntu操作系统中最常用的软件包管理命令,用于安装、卸载、更新和管理软件包。下面是apt命令的详细解释: 安装软件包 apt-get install packagename:安装一个新软件包,这是最经常用到的命令。 ...

    linux软件包管理

    ### Linux软件包管理详解 #### 一、引言 在Linux操作系统中,软件包管理是一项非常重要的技术。通过有效的软件包管理,用户可以方便地安装、更新或删除各种软件包,确保系统的稳定运行和功能扩展。本文将详细介绍...

    ubuntu linux软件包安装方法

    ### Ubuntu Linux软件包安装方法详解 #### 一、前言 Ubuntu Linux作为一款广受欢迎的操作系统,其软件包管理系统非常强大且灵活。本文主要介绍在Ubuntu Linux环境下如何安装两种常见的软件包:`.sh`和`.bin`类型的...

    硬盘安装ubuntu9.04过程详解

    标题中的“硬盘安装Ubuntu 9.04过程详解”指的是在个人计算机的硬盘上安装Linux Ubuntu 9.04操作系统的详细步骤。Ubuntu 9.04,代号“Jaunty Jackalope”,是Ubuntu发布的一个较早的版本,于2009年推出,它提供了对...

    Ubuntu全面详解.pdf

    ### Ubuntu全面详解知识点 #### 一、Ubuntu概览 **标题与描述概述:** 本文档是一份关于Ubuntu的全面指南,旨在为用户提供从安装到使用的全过程指导,包括一些常用的技巧和工具。适合初学者和有一定经验的用户参考...

    Ubuntu_OS中文操作手册

    - 2.2 Ubuntu软件包管理系统 - 2.2.1 Ubuntu软件包概述 - 2.2.2 Ubuntu软件包格式 - 2.2.3 Ubuntu软件包命名约定 - 2.2.4 保存本地配置 - 2.2.5 Ubuntu维护脚本 - 2.2.6 软件包优先级 - 2.2.7 虚拟软件包 -...

    ubuntu安装LAMP详解

    确保网络正常后,更换Ubuntu的软件源能提高软件包下载速度。这里选择了163镜像站作为源,备份原有的`sources.list`文件,然后用编辑器(如vim)打开`/etc/apt/sources.list`,替换为163镜像站的源。更换源后,运行`...

    Ubuntu12.04server详解安装图文教程.pdf

    Ubuntu Server默认提供基本的服务器组件,如SSH(Secure Shell)服务,允许远程登录和管理。你还可以根据需要选择安装其他服务器角色,如DNS服务器、Web服务器或数据库服务器。 五、完成安装 确认所有设置无误后,...

    Ubuntu The Complete Reference

    - **APT 工具**:APT (Advanced Package Tool) 是 Ubuntu 的默认包管理工具,用于处理软件包的安装、更新、删除等操作。 - **软件源配置**:编辑 `/etc/apt/sources.list` 文件,添加或移除软件源。 - **更新与升级*...

    Ubuntu系统下安装Reviewboard详解

    ### Ubuntu系统下安装Reviewboard详解 #### 一、概述 本文档将详细介绍如何在Ubuntu系统上安装并配置Reviewboard,一款流行的代码审查工具。通过本文档的学习,您将能够掌握安装过程中所需的关键步骤以及相关软件的...

    Ubuntu详解及使用教程.doc

    而在Linux系统,尤其是在Ubuntu这样的基于Debian的发行版中,软件包通常是`.deb`格式的,可以通过软件包管理器进行安装。 Ubuntu中的软件包管理器主要有两种,分别是`apt`和`dpkg`。`dpkg`是一个底层的包管理工具,...

    net-snmp软件包的应用

    ### SNMP协议及其应用详解 #### 一、SNMP协议简介 简单网络管理协议(SNMP)作为网络管理系统中不可或缺的一部分,其设计初衷是为了提供一种简便且高效的方式,以监控网络设备的状态,确保网络的稳定运行。随着网络...

    upm:Ultra Package Manager-为在Ubuntu中轻松进行apt软件包管理而设计

    描述中提到"为在Ubuntu中轻松进行apt软件包管理而设计",这意味着upm是针对Ubuntu系统优化的一个命令行工具,它基于apt(Advanced Package Tool)进行扩展和增强,旨在简化用户在命令行界面(CLI)中的软件包管理...

    Ubuntu/Debian 自有软件包构建私有源详解

    在Linux系统管理中,尤其是Ubuntu和Debian这样的基于APT包管理系统的发行版,有时我们需要构建自己的私有软件源。这通常发生在我们有特定的软件版本需求或者需要在组织内部分发自定义软件时。本篇将详细介绍如何在...

    ubuntu中文手册

    - **软件包概述**:介绍了Ubuntu软件包管理的基本概念,如 `.deb` 文件格式。 - **软件包格式**:详细描述了 `.deb` 文件的结构和组成部分。 - **命名约定**:阐述了软件包命名的规则。 - **软件包状态**:讲解...

    安装Ubuntu过程

    Ubuntu 安装过程详解 在本文中,我们将详细介绍 Ubuntu 11.10 的安装过程,从新建虚拟电脑到安装完成的所有步骤。通过本教程,您可以轻松地安装 Ubuntu 操作系统。 新建虚拟电脑 首先,我们需要新建一个虚拟电脑...

    Ubuntu系统最新版安装教程详解.md

    ### Ubuntu系统最新版安装教程详解 #### 一、前言 Ubuntu是一款基于Debian的Linux发行版,以其用户友好性和广泛的社区支持而闻名。本文档将详细介绍如何从零开始安装最新的Ubuntu版本,涵盖从下载镜像到最终配置的...

    ubuntu 科大源更新

    在使用Ubuntu系统的过程中,软件包管理是维护系统正常运行和功能扩展的重要手段之一。而软件仓库则是获取这些软件包的关键来源。在中国地区,由于网络环境的原因,使用国外的官方镜像进行软件更新往往会遇到速度慢...

    Ubuntu Linux系统下apt-get命令详解 .txt

    综上所述,`apt-get`是Ubuntu Linux系统中非常强大的包管理工具,能够帮助用户高效地管理和维护系统中的软件包。通过熟练掌握上述命令,用户可以轻松实现软件包的安装、更新、卸载等操作,从而提高系统的稳定性和...

Global site tag (gtag.js) - Google Analytics