通常Linux上的软件安装主要有四种方式:在线安装,从磁盘安装dbd软件包,从二进制软件包安装,从源码编译安装
在线安装
在不同的的linux发行版上面在线安装方式会有一些差异,包括使用的命令及它们的包管理工具,因为我们的开发环境是基于ubuntu,所以这里我们涉及的在线安装方式将只是用于ubuntu发行版,或其他基于ubuntu的发行版,如国内的ubuntukylin。ubuntu又是基于debian的发行版,它使用的是debian的包管理工具dpkg,所以一些操作也适用debian。而其他一些采用其他包管理工具的发行版如redhat,centos,fedora等将不适用。
$ sudo apt-get install w3m #若在安装完一个软件之后,无法立即使用Tab键不全命令时,可以先执行source ~/.zshrc
apt包管理工具介绍
APT是Advance Packaging Tool(高级包装工具)的缩写,是Debian及其派生发行版的软件包管理器,APT可以自动下载,配置,安装二进制或源代码格式的软件包。因此简化了Unix系统上管理软件的过程。APT最早被设计成dpkg的前端,用来处理deb格式的软件包。现在经过APT-RPM组织修改,APT已经可以安装在支持RPM的系统管理RPM包。这个包管理器包含以apt-开头的多个工具,如apt-get apt-cache apt-cdrom等,在Debian系列的发行版中使用。
当在执行安装操作时,首先apt-get工具会在本地的一个数据库中搜索关于w3m软件的相关信息,并根据这些信息在相关的服务器上下载软件安装。我们需要定期从服务器上下载一个软件包列表,使用sudo apt-get update命令来保持本地的软件包列表是最新的。而这个表里会有软件依赖信息的记录,会连同依赖的软件一并安装。
apt-get使用于处理apt包的公共程序集。我们可以用它来在线安装,卸载和升级软件包等。
apt-get包含常用的工具
install 其后加上软件包名,用于安装一个软件包
update 从软件源镜像服务器上下载/更新用于更新本地软件源的软件包列表
upgrade 升级本地可更新的全部软件包,但存在依赖问题时不会升级,通常会在更新前执行一次update
dist-upgrade 解决依赖关系并升级(存在一定危险性)
remove 移除已安装的软件包,包括与被移除软件包有以来关机的软件包,但不包含软件包的配置文件
autoremove 移除之前被其他软件包依赖但现在不再被使用的软件包
purge 与remove相同,但会移除软件包和配置文件
clean 移除下载到本地的已安装的软件包,默认保存在/var/cache/apt/archives/
autoclean 移除已安装的软件的旧版本软件包
apt-get常用参数: -y 自动回应是否安装软件包的选项,在一些自动化安装脚本中使用这个参数将十分有用。 -s 模拟安装 -q 静默安装方式。指定多个q或-q=#,#表示数字,用于设定静默级别,这在你不想要在安装软件包时屏幕输出过多时很有用 -f 修复损坏的依赖关系 -d 只下载不安装 --reinstall 重新安装已经安装但可能存在问题的软件包 --install-suggests 同时安装APT给出的建议安装的软件包
安装软件包
$ sudo apt-get --reinstall install w3m #重新安装软件包w3m
软件升级
$ sudo apt-get update #更新软件源
$ sudo apt-get upgrade #升级没有依赖问题的软件包
$ sudo apt-get dist-upgrade #升级并解决依赖关系
卸载软件
$ sudo apt-get remove w3m #卸载w3m软件
$ sudo apt-get purge w3m #不保留配置文件的移除
$ sudo apt-get --purge remove #不保留配置文件的移除
$ sudo apt-get autoremove #移出不再需要的被依赖的软件包
软件搜索
$ sudo apt-cache search softname1 softname2 ..
apt-cache命令是针对本地数据进行相关操作的工具。search顾名思义在本地数据库中寻找有关softname1,softname2..的相关软件信息。
使用dpkg从本地磁盘安装deb软件包
dpkg是Debian软甲报管理器的基础,它被伊恩默多克创建于1993。本身是一个底层的工具。上层的工具,像是APT,被用于从远程获取软件包以及处理复杂的软件包关系。dpkg是Debian Package的缩写。
dpkg常用参数 -i 安装指定deb包 -R 后面加上目录名,用于安装该目录下所有deb安装包 -r remove,移除某个已安装的软件包 -I 显示deb包文件的信息 -s 显示已安装软件的信息 -S 搜索已安装的软件包 -L 显示已安装软件包的目录信息
$ ls /var/cache/apt/archives/
$ cp /var/cache/apt/archives/***.deb #将一个deb***拷贝到home目录下
$ sudo dpkg -I ***.deb #安装之前查看deb包参数
$ sudo dpkg -i ***.deb $安装***
$ sudo apt-get -f install #若安装过程出现错误,则使用-f修复依赖关系
查看已安装软件包的安装目录
$ sudo dpkg -L **
二进制包安装
只需从网络下下载的二进制包解压后放到合适的目录,然后将包含可执行的主程序文件的目录添加进PATH环境变量即可
$ sudo apt-get install bb