snap包管理工具
概述
什么是snap,snap是一种全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间。
Snap的安装包扩展名是.snap,类似于一个容器,它包含一个应用程序需要用到的所有文件和库(snap包包含一个私有的root文件系统,里面包含了依赖的软件包)。它们会被安装到单独的目录;各个应用程序之间相互隔离。使用snap有很多好处,首先它解决了软件包的依赖问题;其次,也使应用程序更容易管理。
现在支持snap的应用并不多,snap软件包一般安装在/snap目录下。
一些常用的命令
其实使用snap包很简单,下面我来介绍一下一些常用的命令
- sudo snap list 列出已经安装的snap包
- sudo snap find
搜索要安装的snap包 - sudo snap install
安装一个snap包 - sudo snap refresh
更新一个snap包,如果不加名字的话那就是更新所有的snap包 - sudo snap revert
把一个包还原到以前安装的版本 - sudo snap remove
删除一个snap包
apt 包管理工具介绍
APT 是 Advance Packaging Tool(高级包装工具)的缩写,是 Debian 及其派生发行版的软件包管理器,APT 可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了 Unix 系统上管理软件的过程。APT 最早被设计成 dpkg 的前端,用来处理 deb 格式的软件包。现在经过 APT-RPM 组织修改,APT 已经可以安装在支持 RPM 的系统管理 RPM 包。这个包管理器包含以
apt-开头的多个工具,如apt-getapt-cacheapt-cdrom等,在 Debian 系列的发行版中使用。
当你在执行安装操作时,首先 apt-get 工具会在本地的一个数据库中搜索关于 w3m 软件的相关信息,并根据这些信息在相关的服务器上下载软件安装,这里大家可能会一个疑问:既然是在线安装软件,为啥会在本地的数据库中搜索?要解释这个问题就得提到几个名词了:
- 软件源镜像服务器
- 软件源
我们需要定期从服务器上下载一个软件包列表,使用 sudo apt-get update 命令来保持本地的软件包列表是最新的(有时你也需要手动执行这个操作,比如更换了软件源),而这个表里会有软件依赖信息的记录,对于软件依赖,我举个例子:我们安装 w3m 软件的时候,而这个软件需要 libgc1c2 这个软件包才能正常工作,这个时候 apt-get 在安装软件的时候会一并替我们安装了,以保证 w3m 能正常的工作。
apt-get
apt-get 是用于处理 apt包的公用程序集,我们可以用它来在线安装、卸载和升级软件包等,下面列出一些 apt-get 包含的常用的一些工具:
| 工具 | 说明 |
|---|---|
| ``install | 其后加上软件包名,用于安装一个软件包 |
| ``update | 从软件源镜像服务器上下载/更新用于更新本地软件源的软件包列表 |
| ``upgrade | 升级本地可更新的全部软件包,但存在依赖问题时将不会升级,通常会在更新之前执行一次 ``update |
| ``dist-upgrade | 解决依赖关系并升级(存在一定危险性) |
| ``remove | 移除已安装的软件包,包括与被移除软件包有依赖关系的软件包,但不包含软件包的配置文件 |
| ``autoremove | 移除之前被其他软件包依赖,但现在不再被使用的软件包 |
purge或者—purge``remove |
与 remove 相同,但会完全移除软件包,包含其配置文件 |
| ``clean | 移除下载到本地的已经安装的软件包,默认保存在 ``/var/cache/apt/archives/ |
| ``autoclean | 移除已安装的软件的旧版本软件包 |
下面是一些apt-get常用的参数:
| 参数 | 说明 |
|---|---|
| ``-y | 自动回应是否安装软件包的选项,在一些自动化安装脚本中使用这个参数将十分有用 |
| ``-s | 模拟安装 |
| ``-q | 静默安装方式,指定多个 q 或者-q=#,``# 表示数字,用于设定静默级别,这在你不想要在安装软件包时屏幕输出过多时很有用 |
| ``-f | 修复损坏的依赖关系 |
| ``-d | 只下载不安装 |
| ``—reinstall | 重新安装已经安装但可能存在问题的软件包 |
| ``—install-suggests | 同时安装 APT 给出的建议安装的软件包 |
软件搜索
当自己刚知道了一个软件,想下载使用,需要确认软件仓库里面有没有,就需要用到搜索功能了,命令如下:
sudo apt-cache search softname1 softname2 softname3……
apt-cache 命令则是针对本地数据进行相关操作的工具,search 顾名思义在本地的数据库中寻找有关 softname1,softname2 相关软件的信息。现在我们试试搜索一下之前我们安装的软件 w3m,如图:
结果显示了 4 个 w3m 相关的软件,并且有相关软件的简介。
dpkg 介绍
dpkg 是 Debian 软件包管理器的基础,它被伊恩·默多克创建于 1993 年。dpkg 与 RPM 十分相似,同样被用于安装、卸载和供给和 .deb 软件包相关的信息。 dpkg 本身是一个底层的工具。上层的工具,像是 APT,被用于从远程获取软件包以及处理复杂的软件包关系。”dpkg”是”Debian Package”的简写。
我们经常可以在网络上见到以deb形式打包的软件包,就需要使用dpkg命令来安装。dpkg常用参数介绍:
| 参数 | 说明 |
|---|---|
| ``-i | 安装指定 deb 包 |
| ``-R | 后面加上目录名,用于安装该目录下的所有 deb 安装包 |
| ``-r | remove,移除某个已安装的软件包 |
| ``-I | 显示 ``deb 包文件的信息 |
| ``-s | 显示已安装软件的信息 |
| ``-S | 搜索已安装的软件包 |
| ``-L | 显示已安装软件包的目录信息 |
