Linux软件安装

Linux软件安装

软件安装类型可分为源码包和RPM包

1、源码包

​ 源码包——编译工具编译——计算机可识别的机器语言——安装

​ Linux上大部分软件都是开源软件,提供源码下载

源码包安装优点:

  • 开放源代码,可以自行修改源代码。
  • 可以自由选择安装所需功能。
  • 软件是编译安装,更加稳定高效。
  • 卸载方便,直接删除安装目录即可。

源码包安装缺点:

  • 安装过程中过程较为复杂。
  • 编译过程时间较长(与RPM包相比)。

源码包安装步骤:

  • 官方网站下载源码包。

  • 解压并进入源码包目录。

  • 解压后进入解压生成的文件夹。

  • 通常会有名为REDAME的文件。 此文件记录了:这个软件所能完成的功能,授权许可,安装需求,安装注意事项,安装方式等。

  • 目录中会有一个名为configure的文件。

    • 执行./configure,就会开始检测当前系统是否拥有安装软件所需的所有文件和工具。

    • useradd -r -s /sbin/nologin nginx
      
    • ./comfigure --prefix=/usr/local/nginx  #指定安装位置(默认也时此目录)--user=nginx
      
    • nginx需要安装gcc、pcre-devel、zlib-devel

    • 检测成功后会生成makefile文件。

      • 而有些软件没有提供configure 脚本,直接提供了makefile 文件,可以直接执行 make 编译步骤。
    • make:一般在输入make命令时,make命令默认会查找当前目录下的Makefile文件。 如果用其他文件作为Makefile文件那么需要在make之后加-f子选项来指定Makefile 文件。

      • 由于需要相应的编译软件才能将源代码转换为机器识别的语言,所以在执行 configure 的时候如果没有编译工具就会有error报错。
      • echo $? 检验上条命令运行是否成功(0表示成功)(1-255表示失败)
    • make install:进行安装。

    • 源码包启动方式和rpm安装的服务启动方式不同

      绝对路径执行:/usr/local/nginx/sbin/nginx

      停止服务:/usr/local/nginx/sbin/nginx -s stop

2、RPM安装

RedHat Package Manager,红帽软件包工具

RPM可升级,强大的查询功能,支持安全验证的通用型Linux软件包管理工具

RPM包优点:

  • 安装简单方便。
  • 安装时不用指定安装位置。
  • 方便升级、卸载。

RPM包缺点:

  • 大多数RPM安装需要解决依赖关系

RPM包命名规则:

  • httpd-2.2.15-53.el6.centos.x86_64.rpm
  • httpd 软件包名
  • 2.2.15 软件版本
  • 53 软件发布次数
  • el6.centos 适合的Linux平台
  • x86_64 适合的硬件平台
  • rpm RPM 包扩展名
RPM命令

1、安装命令

格式:rpm -ivh 软件包(全名)

-i install 的意思,就是安装软件。也可以使用–install

-v 显示安装过程中的详细信息。

-h 以#号显示安装的进度。

2、卸载命令

格式:rpm -e 软件名(不用全名)

3、升级命令

格式:rpm-Uvh 软件包全名

  • -U 升级安装,若没安装则直接安装,若安装有旧版本,则升级安装。
  • -F 升级安装,若没安装,则不安装,必须有旧版本才进行

4、查询已安装的软件信息

  • rpm-q 包名 查询包是否安装 (知道准确包名)
  • rpm-qa 查看系统中已安装的所有RPM软件包列表 | grep 可模糊查询
  • rpm-qi 包名 查看指定软件所安装的信息。
  • rpm-ql 包名 查看指定软件所安装目录,文件列表

5、查询未安装的RPM包文件

  • rpm-qpl 包全名 #查询指定未安装软件所安装的目录、文件列表
  • rpm-qpR 包全名 #查询指定未安装软件的依赖文件

6、查询文件或者目录属于哪个RPM软件

​ rpm-qf 文件或目录名

3、DNF安装

需要一个DNF源(存放RPM包的文件夹)

配置文件 /etc/yum.repos.d/目录下,可自定义名称,但必须.repo结尾

[]					#dnf源名称,自定义
name:				#dnf源描述,自定义
#指定镜像列表/dnf源URL地址
mirrorlist/baseurl=

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9

enabled=1 #是否启用

网络源(下载,安装,默认删除安装包),本地源,局域网源

dnf安装:

  1. 解决rpm包之间的依赖关系
  2. 由yum命令发展得来
  3. 网络安装来源(默认)(优先级:上次使用的来源优先)
  4. 本地安装来源
网络源配置:
  1. 默认网络源(官方网站)
  2. 国内源(阿里源、163源、清华源(rocky暂不支持))–路径下能找到包和依赖关系
    • centos7:wget下载文件默认保存到 /etc/yum.repos.d/目录覆盖源文件,由官方地址替换到国内源地址
  3. 扩展网络源(epel扩展源最常见-使用官方源安装)
    • dnf -y install epel-release安装拓展源,在/etc/yum.repos.d/安装epel.repo等配置文件
  4. 局域网dnf源
    • 服务器端:通过httpd将rpm包和依赖关系共享给客户端
    • 客户端:dnf安装时,使用服务器端中的rpm包和依赖关系

将dnf源下载rpm包保存到本地
vim /etc/dnf/dnf.conf

cachedir=/var/cache/dnf/rpm/		#指定下载位置,在下载位置中会出现appstream、baseos等。
keepcache=1			#是否开启保存,1为保存到本地。0为不保存。
[root@localhost yum.repos.d]# ls /var/cache/dnf/rpm
appstream-25485261a76941d3            epel-cisco-openh264-filenames.solvx
appstream-filenames.solvx             epel-cisco-openh264.solv
appstream.solv                        epel-filenames.solvx
appstream-updateinfo.solvx            epel-presto.solvx
baseos-522ed8e2b2f761ff               epel.solv
baseos-filenames.solvx                epel-updateinfo.solvx
baseos.solv                           expired_repos.json
baseos-updateinfo.solvx               extras-90dfbd6ba528f77b
epel-646ae5c8e4626178                 extras-filenames.solvx
epel-cisco-openh264-211e829cd3d317f4  extras.solv

根据安装仓库,去对应目录找安装包和依赖关系,若要多次使用可将其传出保存(winscp)

本地源配置:
  • 到/etc/yum.repos.d/目录中将原有网络源改为失效状态。
  • 手动编辑本地源配置文件。(必须以.repo结尾)
  • 查看光盘挂载。

dnf管理命令

  • dnf 安装 (-y yes)
    • dnf install 软件名
    • dnf groupinstall 软件组名
  • dnf 卸载
    • dnf remove 软件名
    • dnf groupremove 软件组名
    • 卸载时要注意会卸载依赖(若a,b都依赖c,卸载a时会同时卸载c,b会无法正常运行)
  • dnf 升级
    • dnf update(dnf -y update kernel)
  • dnf list (包名) 查询所有可以安装的软件包
  • dnf info 查询指定软件包的信息
  • dnf provides 查询文件在什么包中
  • dnf search 以关键字查询
  • dnf grouplist 查询所有可以安装的软件组
  • dnf groupinfo 软件组名 列出软件组中包含的软件

注:频繁切换dnf安装源可能会出现安装错误的现象,需要执行dnf clean all来清空yum缓存信息

dnf makecache 建立新的缓存数据

注:系统中只允许有一个dnf进程正在运行

centos7自动检测更新yum,若没有网络或网络不稳定,检测过程很长,yum进程被占用(进程名:packagekit)

kill + 进程号(PID)结束进程

tab补全服务名称

 dnf -y install bash-completion
4、centos7差异
  1. yum源:
    • /etc/yum.repos.d/CentOS.Base.repo起作用(但其中的源网址已经不再提供支持)
    • 提供本地源模板(CentOS-Media.repo),mount挂载光盘到/media/,Packages和repodata全在此目录下(不用 AppStream和BaseOS)
    • 阿里yum源,下载地址源文件wget
  2. 没有dnf,yum平替
  3. 不同的包,对应的依赖关系不同,要一一对应
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值