(1)在线安装
(2)从磁盘安装deb软件包
(3)从二进制软件安装
(4)从源代码编译安装
这几种安装方式各有优劣,而大多数软件包会采用多种方式发布软件,所以我们常常需要全部掌握这几种软件安装方式,以便适应各种环境。下面将介绍前三种安装方式,从源码编译安装你将在 Linux 程序设计中学习到。
①APT是Advance Packaging Tool(高级包装工具)的缩写,是Debian及其派生发行版的软件包管理器,APT可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了Unix系统上管理软件的过程。
②当你在执行安装操作时,首先apt-get 工具会在本地的一个数据库中搜索关于w3m 软件的相关信息,并根据这些信息在相关的服务器上下载软件安装。
②我们需要定期从服务器上下载一个软件包列表,使用 sudo apt-get update 命令来保持本地的软件包列表是最新的(有时你也需要手动执行这个操作,比如更换了软件源),而这个表里会有软件依赖信息的记录,对于软件依赖,我举个例子:我们安装 w3m 软件的时候,而这个软件需要 libgc1c2 这个软件包才能正常工作,这个时候 apt-get 在安装软件的时候会一并替我们安装了,以保证 w3m 能正常的工作。
①apt-get 是用于处理 apt包的公用程序集,我们可以用它来在线安装、卸载和升级软件包等,下面列出一些apt-get包含的常用的一些工具:
install:其后加上软件包名,用于安装一个软件包;
update:从软件源镜像服务器上下载/更新用于更新本地软件源的软件包列表;
upgrade:升级本地可更新的全部软件包,但存在依赖问题时将不会升级,通常会在更新之前执行一次update;
dist-upgrade:解决依赖关系并升级(存在一定危险性)
remove:移除已安装的软件包,包括与被移除软件包有依赖关系的软件包,但不包含软件包的配置文件;
autoremove:移除之前被其他软件包依赖,但现在不再被使用的软件包;
purge:与remove相同,但会完全移除软件包,包含其配置文件;
clean:移除下载到本地的已经安装的软件包,默认保存在/var/cache/apt/archives/;
autoclean:移除已安装的软件的旧版本软件包;
②下面是一些apt-get常用的参数:
-f:修复损坏的依赖关系;
-d:只下载不安装;
--reinstall:重新安装已经安装但可能存在问题的软件包;
--install-suggests:同时安装APT给出的建议安装的软件包;
①关于安装,如前面演示的一样你只需要执行apt-get install <软件包名>即可,除了这一点,你还应该掌握的是如何重新安装软件包。 很多时候我们需要重新安装一个软件包,比如你的系统被破坏,或者一些错误的配置导致软件无法正常工作。你可以使用如下方式重新安装:
$sudo apt-get --reinstall install w3m
②另一个你需要掌握的是,如何在不知道软件包完整名的时候进行安装。通常我们是使用Tab键补全软件包名,后面会介绍更好的方法来搜索软件包。有时候你需要同时安装多个软件包,你还可以使用正则表达式匹配软件包名进行批量安装。
# 更新软件源:sudo apt-get update
# 升级没有依赖问题的软件包:sudo apt-get upgrade
# 升级并解决依赖关系:sudo apt-get dist-upgrade(有危险)
①如果你现在觉得 w3m 这个软件不合自己的胃口,或者是找到了更好的,你需要卸载它,那么简单!同样是一个命令加回车: $sudo apt-get remove w3m
系统会有一个确认的操作,之后这个软件便“滚蛋了”。
②或者,你可以执行:
# 不保留配置文件的移除:$ sudo apt-get purge w3m或者 sudo apt-get --purge remove
# 移除不再需要的被依赖的软件包:$ sudo apt-get autoremove
①当自己刚知道了一个软件,想下载使用,需要确认软件仓库里面有没有,就需要用到搜索功能了,命令如下:
$sudo apt-cache search softname1
②apt-cache 命令则是针对本地数据进行相关操作的工具,search 顾名思义在本地的数据库中寻找有关 softname1 softname2 相关软件的信息。
①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:显示已安装软件包的目录信息;
②然后我们将第一个deb拷贝到home目录下,并使用dpkg安装:
$ cp /var/cache/apt/archives/emacs24_24.3+1-2ubuntu1_amd64.deb ~
# 安装之前参看deb包的信息:$ sudo dpkg -I emacs24_24.3+1-2ubuntu1_amd64.deb
# 使用dpkg安装:$ sudo dpkg -i emacs24_24.3+1-2ubuntu1_amd64.deb
③这个包还额外依赖了一些软件包,这意味着,如果主机目前没有这些被依赖的软件包,直接使用dpkg安装可能会存在一些问题,因为dpkg并不能为你解决依赖关系。我们将如何解决这个错误呢?这就要用到apt-get了,使用它的-f参数了,修复依赖关系的安装:
$ sudo apt-get -f install
没有任何错误,这样我们就安装成功了。
①如果你依然在纠结到底linux将软件安装到了什么地方,那么很幸运你将可以通过dpkg找到答案。
使用dpkg -L查看deb包目录信息:$ sudo dpkg -L emacs24
参考博客:https://www.shiyanlou.com/courses/1/labs/356/document