Administrator
发布于 2021-03-25 / 1 阅读
0
0

Linux系统安装软件的几种方式

Linux有很多种发行版本,各种发行版本之间安装软件方式和命令不一样,同一个版本之间安装软件也有不同的方法。但是,大体来说,Linux有两大派系,一个是红帽派系,包含Redhat、Centos、Fedora等。还有一个是Debian派系,包含Kali、Ubuntu等。

image.png

红帽派

1. 源码安装

image.png
源码安装需要安装编译工具: yum -y install gcc gcc-c++ make

以CentOS7安装nginx为例子

  • 先到网站下载nginx源码包,解压
  • 到目录下执行./configure设置安装目录、安装模块等选项,不设置安装在默认目录/usr/local/nginx下。如果./configure --prefix=/usr/nginx/,则是将其安装在/usr/nginx/目录下。此时还并未安装,只是配置安装路径。
  • make编译,生成可执行的二进制文件。
  • make install安装。此时,软件安装在/usr/local/https/目录下。

安装完成后对安装包的清理

  • 进入解压路径下,make unintall或者make clean清除上一次编译
  • 然后把解压文件夹删除
  • 如果要卸载软件,把/usr/local/nginx这个文件删除即可。

configure、make、make install详解

  • ./configure是用来检测你的安装平台的目标特征的。比如检测你是否有CC或GCC,并不是说这一步需要CC或者GCC。它是一个Shell脚本,执行后会生成Makefile文件。
  • make是通过执行Makefile文件中的命令来完成项目源码的编译,当输入make指令后默认会在当前目录下寻找名为Makefilemakefile的文件。分析Makefile中的所有规则,为所有目标文件的创建依赖关系,根据依赖关系决定哪些文件要重新生成。

make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。

  • make install安装,也是读取Makefile的指令,安装到指定目录。

2. rpm包安装

RPM (RedHat Package Manager) :由红帽公司提出,建议统一的数据库文件,详细记录软件包的安装、卸载等变化信息,能够自动分析软件包依赖关系
 
RPM包的命名格式: firefox-17.0.10-1.el6.centos.x86_64.rpm
                 软件名称 版本号发行次数 硬件平台扩展名

rpm指令

  • rpm -qpl 包.rpm:选项p表示package,后面需要写包的完整路径信息,qpl表示列出这个包在安装之后生成哪些文件和目录。
  • rpm -qpi 包.rpm:查询未安装包的详细信息
  • rpm -qa:查询所有已安装软件的rpm包信息,列出包的版本
  • rpm -q httpd: 查看 httpd 是否安装
  • rpm -qi httpd:列出 httpd 软件的详细信息
  • rpm -qc httpd:查看 httpd 的配置文件目录
  • rpm -ql httpd:查看 httpd 所包含的文件
  • whereis httpd:查看httpd的安装路径和可执行文件路径
  • which vim:搜索指令在系统中的路径
  • rpm -qf 指令的绝对路径:查看该命令是由哪个rpm包所提供(查询rpm包的文件名),例rqm -qf /usr/bin/vim
安装与卸载
  • rpm -ivh 包.rpm:i表示安装,v表示显示安装过程,h表示以#作为进度显示安装进度
  • rpm -e 包.rpm:移除指定的rpm包

3. yum安装

YUM(Yellow dog  Updater Modified): 基于RPM包构建的软件更新机制,可以自动解决rpm包之间的依赖关系,所有软件包由集中的yum软件仓库提供。

yum常用指令

  • yum clean all:清空缓存信息
  • yum list:列出所有包的信息
  • yum list redis:查看redis是否安装
  • yum info redis:显示redis包的详细具体信息
  • yum install redis-y:安装redis
  • yum remove redis -y:卸载redis
  • yum search 关键词:根据关键词,在已发现的repo源中搜索包含关键词的rpm包
  • yum provides 命令:根据命令,在已发现的repo源中搜索安装指令的rpm包
  • yum history list/info/undo/redo number:history可以列出、查看、重装、反安装对应的包,但是是以yum指令的操作顺序为依据的,所以需要加指定的数字执行
  • yum update -y:升级所有包同时也升级软件和系统内核
  • yum upgrade -y:只升级所有包,不升级软件和系统内核

Debian派

1. Deb包安装

DEB是Debian软件包格式的文件扩展名,Debian包是Unixar的标准归档,将包文件信息以及包内容,经过gzip和tar打包而成。
处理这些包的经典程序是dpkg,经常是通过Debian的apt-get来运作。deb格式是Debian系统(包含Debian和Ubuntu)专属安装包格式,配合 APT 软件管理系统,成为了当前在 Linux 下非常流行的一种安装包。

dpkg指令用法

  • -i:安装软件包;
  • -r:删除软件包;
  • -P:删除软件包的同时删除其配置文件;
  • -L:显示于软件包关联的文件;
  • -l:显示已安装软件包列表;
  • --unpack:解开软件包;
  • -c:显示软件包内文件列表;
  • --confiugre:配置软件包。

2. apt-get源安装

apt-get:Advanced Packaging Tool,除了apt的便捷以外,apt-get的一大好处是极大地减小了所谓依赖关系恶梦的发生几率(dependency hell),即使是陷入了dependency hell,apt-get也提供了很好的援助手段,帮你逃出魔窟。 
通常 apt-get 都和网上的压缩包一起出没,从互联网上下载或是安装。全世界有超过200个 debian官方镜像,还有繁多的非官方软件包提供网站。你所使用的基于Debian的发布版不同,你所使用的软件仓库可能需要手工选择或是可以自动设置。你能从Debian官方网站得到完整的镜像列表。而很多非官方网站提供各种特殊用途的非官方软件包,当然,使用非官方软件包会有更多风险了。 
软件包都是为某一个基本的Debian发布版所准备的(从unstable 到stable),并且划分到不同类别中(如 main contrib nonfree),这个是依据 debian 自由软件纲领而划分的(也就是常说的dfsg),因为美国限制加密软件出口,还有一个non-us类别。

常用的APT命令参数

  • apt-cache search package    搜索包 
  • apt-cache show package      获取包的相关信息,如说明、大小、版本等 
  • sudo apt-get install httpd      安装软件
  • sudo apt-get install package -- reinstall  重新安装包 
  • sudo apt-get -f install      修复安装-f = --fix-missing 
  • sudo apt-get remove httpd    卸载软件
  • sudo apt-get remove package -- purge  删除包,包括删除配置文件等 
  • sudo apt-get update   更新源 
  • sudo apt-get upgrade  更新已安装的包 
  • sudo apt-get dist-upgrade  升级系统 
  • sudo apt-get dselect-upgrade  使用dselect升级 
  • apt-cache depends package  了解使用依赖 
  • apt-cache rdepends package  是查看该包被哪些包依赖 
  • sudo apt-get build-dep package  安装相关的编译环境 
  • apt-get source package  下载该包的源代码 
  • sudo apt-get clean && sudo apt-get autoclean  清理无用的包 
  • sudo apt-get check  检查是否有损坏的依赖

原文链接:https://blog.csdn.net/qq_36119192/article/details/82866329


评论