Linux:软件安装

发布时间:2023年12月25日

Linux 上的软件安装

四种安装方式

  • 在线安装
  • 从磁盘安装盘deb软件包
  • 从二进制软件包安装
  • 从源代码编译安装

在线安装

在不同的linux发行版上面在线安装方式会有一些差异包括使用的命令及它们的包管理工具,因为我们的开发环境是基于ubuntu的,所以这里我们涉及的在线安装方式将只适用于ubuntu发行版,或其它基于ubuntu的发行版如国内的ubuntukylin(优麒麟),ubuntu又是基于debian的发行版,它使用的是debian的包管理工具dpkg,所以一些操作也适用与debian。而在其它一些采用其它包管理工具的发行版如redhat,centos,fedora等将不适用(redhat和centos使用rpm)。

    apt-get install w3m

如果安装了软件之后无法立即使用Tab键补全这个命令,可以执行source ~/.bashrc

apt 包管理工具介绍

当你在执行安装操作时,首先apt-get 工具会在本地的一个数据库中搜索关于 w3m 软件的相关信息,并根据这些信息在相关的服务器上下载软件安装。

我们需要定期从服务器上下载一个软件包列表,使用 sudo apt-get update 命令来保持本地的软件包列表是最新的(有时你也需要手动执行这个操作,比如更换了软件源),而这个表里会有软件依赖信息的记录,对于软件依赖,我举个例子:我们安装 w3m 软件的时候,而这个软件需要 libgc1c2 这个软件包才能正常工作,这个时候 apt-get 在安装软件的时候会一并替我们安装了,以保证 w3m 能正常的工作。

apt-get

apt-get使用各用于处理apt包的公用程序集,我们可以用它来在线安装、卸载和升级软件包等,下面列出一些apt-get包含的常用的一些工具:

  • install:其后跟上软件包名,用于安装一个软件包。
  • update:从软件源镜像服务器上下载软件包列表清单。
  • upgrade:升级本地可更新的全部软件包,但存在依赖问题时将不会升级,通常在升级之前执行一次update。
  • dis-upgrade:解决依赖关系并升级(存在一定的风险)。
  • remove:移除已安装的软件包,包括所有依赖的软件包,但不包含软件包的配置信息。
  • autoremove:移除之前被其它软件包依赖,但现在不再被使用的软件包。
  • purge:与remove相同,会连配置文件一起移除。
  • clean:移除下载到本地的已安装的软件包,默认保存在/var/cache/apt/archives/
  • autoclean:移除已安装的软件的旧版本软件包。

常用的参数:

  • -y:自动回应师傅安装软件包的选项。
  • -s:模拟安装。
  • -q:安静模式。
  • -f:修复损坏的依赖关系。
  • -d:只下载不安装。
  • --reinstall:重新安装已经安装但是可能存在问题的软件包。
  • --installsuggests:同时安装APT给出的建议软件包。

apt-cache

软件搜索:apt-cache search soft1 soft2

使用dpkg从本地磁盘安装deb软件包

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:显示已安装软件包的目录信息。

从二进制安装

二进制包的安装比较简单,我们需要做的只是将从网络上下载的二进制包解压后放到合适的目录,然后将包含可执行的主程序文件的目录添加进PATH环境变量即可,如果你不知道该放到什么位置,请重新复习第四节关于 Linux 目录结构的内容。

文章来源:https://blog.csdn.net/omygodvv/article/details/135201068
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。