Ubuntu 软件管理
- Debian软件包通常为预编译的二进制格式的扩展名“.deb” ,类似rpm文件,因此安装快速,无需编译软件。包文件包括特定功能或软件所必需的文件、元数据和指令
- dpkg:package manager for Debian,类似于rpm,dpkg是基于Debian的系统的包管理器。可以安装,删除和构建软件包,但无法自动下载和安装软件包或其依赖项
- APT:Advanced Packaging Tool,功能强大的软件管理工具,甚至可升级整个Ubuntu的系统,基于客户/服务器架构
- APT工作原理:在服务器上先复制所有DEB包,然后用APT的分析工具genbasedir根据每个DEB 包的包头(Header)信息对所有的DEB包进行分析,并将该分析结果记录在文件夹base内的一个DEB 索引清单文件中,一旦APT服务器内的DEB有所变动,要使用genbasedir产生新的DEB索引清单客户端在进行安装或升级时先要查询DEB索引清单,从而获知所有具有依赖关系的软件包,并一同下载到客户端以便安装。
当客户端需要安装、升级或删除某个软件包时,客户端计算机取得DEB索引清单压缩文件后,会将其解压置放于 /var/cache/apt/,而客户端使用apt-get install或apt-get upgrade命令的时候,就会将这个文件夹内的数据和客户端计算机内的DEB数据库比对,知道哪些DEB已安装、未安装或是可以升级的
dpkg命令
dpkg常见用法: man dpkg
dpkg -i package.deb 安装包
dpkg -r package 删除包,不建议,不自动卸载依赖于它的包
dpkg -P package 删除包(包括配置文件)
dpkg -l 列出当前已安装的包,类似rpm -qa
dpkg -l package 显示该包的简要说明,类似rpm –qi
dpkg -L package 列出该包中所包含的文件,类似rpm –ql
dpkg -S \< pattern\> 搜索包含pattern的包,类似rpm –qf
dpkg -s package 列出该包的状态,包括详细信息,类似rpm –qi
dpkg --configure package 配置包,-a 使用,配置所有没有配置的软件包
dpkg -c package.deb 列出 deb 包的内容,类似rpm –qpl
dpkg --unpack package.deb 解开 deb 包的内容
dpkg示例:
- 列出系统上安装的所有软件包
dpkg -l - 列出软件包安装的文件
dpkg -L bash - 查看/bin/bash来自于哪个软件包
dpkg -S /bin/bash - 安装本地的 .deb 文件
dpkg -i /mnt/cdrom/pool/main/z/zip/zip_3.0-11build1_amd64.deb - 卸载软件包
dpkg -r zip - 注意:一般建议不要使用dpkg卸载软件包。因为删除包时,依赖于它的其他任何包仍将安装,并且可能无法再正常运行
apt
- Debian 使用APT工具来管理包系统,它与 rpm 命令不同。 在基于 Debian 的 Linux 发行版中,有各种工具可以与 APT 进行交互,以方便用户安装、删除和管理的软件包。
- apt-get 是其中一个常用的命令行工具,另外一款较为流行的命令行与 GUI 兼顾的工具是 Aptitude ,之前最常用的 Linux包管理命令都被分散在了 apt-get、 apt-cache和 apt-config 这三条命令中
- 在 2014 年apt 命令发布第一个稳定版,Ubuntu 16.04 引入新特性之一便是 apt 命令,apt 命令解决了命令过于分散的问题,它包括 apt-get 命令出现以来使用最广泛的功能选项,以及 apt-cache 和 apt-config命令中很少用到的功能。在使用 apt 命令时,用户不必再由 apt-get 转到 apt-cache 或 apt-config,提供管理软件包所需的必要选项
- apt 相当于 apt-get、 apt-cache 和 apt-config 中最常用命令选项的集合
- apt 具有更精减但足够的命令选项,而且参数选项的组织方式更为有效。此外,启用的几个特性也非常有帮助。例如,可以在使用 apt命令安装或删除程序时看到进度条。apt 还会在更新存储库数据库时提示用户可升级的软件包个数
- apt 与 apt-get有一些类似的命令选项,但它并不能完全向下兼容 apt-get 命令,也即可用 apt 替换部分 apt-get 系列命令,但不是全部
查看帮助:apt help
apt与apt-get命令对比
apt 命令 | 被取代的命令 | 命令的功能 |
---|---|---|
apt install | apt-get install | 安装软件包 |
apt remove | apt-get remove | 移除软件包 |
apt purge | apt-getpurge | 移除软件包及配置文件 |
apt update | apt-get update | 刷新存储库索引 |
apt upgrade | apt-get upgrade | 升级所有可升级的软件包 |
apt autoremove | apt-get autoremove | 自动删除不需要的包 |
apt full-upgrad | e apt-getdist-upgrade | 在升级软件包时自动处理依赖关系 |
apt search | apt-cache search | 搜索应用程序 |
apt show | apt-cache show | 显示安装细节 |
apt 特有的命令
apt list 列出包含条件的包(已安装,可升级等)
apt edit-sources 编辑源列表
APT包索引来自/etc/apt/sources.list文件和/etc/apt/sources.list.d目录中定义的存储库的可用包的数据库,类似于yum中的两个相关文件(默认已经配置好国外和部分国内的apt源)。要使用存储库中所做的最新更改来更新本地程序包索引
apt命令操作(如安装和删除软件包)记录在/var/log/dpkg.log日志文件中
apt示例:
- 安装包:
apt install tree zip - 删除包:
apt remove tree zip
说明:apt remove中添加--purge选项会删除包配置文件,谨慎使用 - 更新包索引:
apt update - 升级包:要升级系统,请首先更新软件包索引,再升级
apt upgrade
注意点:
- 安装包在光盘的pool文件夹内
- sudo -i 切换到root用户(或者强行用vim删除 shadow里面root的锁叹号!,然后切换为root之后增加密码,下次就能直接root登陆了,不过想要远程root登陆还需要配置一下openssl的设置,具体查询其他帮助)
原文地址:https://blog.51cto.com/14228129/2369120
时间: 2024-10-15 21:31:52