12单元-Linux系统中的软件安装

1.Linux系统软件安装包的类型  

  • rpm包 ,适用于 Redhat / CentOS / fc /SUSE等平台

  如 dhcp-server-4.3.6-30.el8.x86_64.rpm。它是由Redhat Linux提供的一种包封装格式。包的管理工具YUM

  • dpkg包, 适用于 UBlinux / DEBlinux /Ubuntu/B2D等平台                                                                                                                  如software-1.2.3-1.deb。他是Debain Linux提供的一种包封装格式。包的管理工具apt-get
  • tar包                                                                                                                                                                                                        如Firefox-latest-x86_64.tar.bz2。它是使用UNIX系统的打包工具tar打包的。                                                                                        使用tar.gz(bz或bz2等)打包的应用软件,这种软件包里面都是源程序,没有编译过,需要编译后才能安装
  • bin包

如jdk-1_5_0_05-linux-i586.bin,有些Linux软件不公开源代码,只发布二进制可执行程序,这类程序一般会以bin来标记。

  • 绿色软件包  ,不需要安装直接可以用

备注:rhel8只能使用绿色软件源码编译软件和rpm"

  •  

2.软包的命名

[dhcp-server]-[4.3.6-30].[el8].[x86_64].[rpm]

             1                2           3          4          5

1.名称

2.软件版本号

3.的授权协议版本(修正版本)

4.架构

5.类型后缀

 

3.RPM软件管理程序:rpm

a)RPM软件管理程序:是以一种数据库记录的方式来将你所需要的软件安装到你的Linux系统的一套软件管理机制。

RPM优点

  • RPM内包含已经编译过的的程序与配置文件等数据,用户不需要重新编译
  • RPM在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装
  • RPM文件本身提供软件版本信息、依赖属性检查、软件用途说明、软件所含文件信息,便于了解软件
  • RPM管理的方式使用数据库记录RPM文件相关参数,便于升级、删除、查询与验证

RPM默认安装路径

  • /etc                     #一些配置文件放置的目录    例 /etc/crontab
  • /usr/bin               #一些可执行文件
  • /usr/lib                #一些程序使用的动态函数库
  • /usr/share/doc    #一些基本软件使用手册与说明文件
  • /usr/share/man   #一些man page 文件

b) RPM安装(install)

rpm -ivh package_name

  • -i   : install 安装程序
  • -vverbose 查看更详细的安装信息
  • -h :hash 显示安装进度

 

  • --force           强制安装软件    (使用时机:直接覆盖已安装文件,重复安装时,谨慎使用!)
  • --nodeps       忽略依赖性,安装软件  (使用时机:当软件发生属性依赖问题而无法安装,但执意安装时,可能造成软件无法正常使用。)

RPM升级与更新(upgrade/ freshen)  

c ) RPM查询(query)

rpm

  • -q           # 仅查询,后面接的软件名称是否有安装
  • -qa         # 列出已安装在本机Linux系统上所有软件名称
  • -qi          # 列出该软件的详细信息(information)
  • --info      # 显示软件详细信息
  • -ql          # 列出该软件所有文件与目录所在完整文件名(list)
  • -qc         # 列出该软件所有配置文件 (即 找出在 /etc/下面的文件名)
  • -qd         # 列出该软件所有说明文件 (即 找出与man有关的文件)
  • -qR        # 列出与该软件所有依赖软件所含有的文件  (Required 依赖)
  • -qf          # 有后面接的文件名,找出该文件属于哪一个已安装的软件
  • -qp [icdlR]   # 未安装的某个文件名称 —— 查看RPM文件
  • --script        # 查询软件在安装或卸载过程中需要执行的脚本文件

d ) RPM验证(Verify)

rpm

  • -V          # 后面跟软件名,若该软件所含的文件被修改过才会显示修改信息
  • -Kv        # 检测软件md5校验码

4.RPM属性依赖的解决方式:YUM在线升级

YUM机制:RPM文件内部会记录依赖性数据,将这些依赖属性的软件先建立一份清单列表,在有安装需求的时候,先到这个列表去找,同时与系统内已安装的软件比较,再将没有安装的依赖软件,一次性安装 —— 为了重复利用既有软件的功能

软件仓库(repository)或 软件源:软件所在的本机或者网络上的位置与软件相关性的列表数据(软件开发商(CentOS等)将发布的软件放置到YUM服务器内,分析软件依赖属性问题并将软件内的记录信息记录下来,再将这些信息分析记录成软件相关性的列表数据

a )本地系统软件仓库的建立 -主机没有网络,有软件安装需求,并要解决软件依赖属性问题####

####

1.统中加载安装系统时使用的安装镜像

12单元-Linux系统中的软件安装_第1张图片

 本地系统软件源文件地址12单元-Linux系统中的软件安装_第2张图片

2.软件仓库文件

/etc/yum.repos.d/                              # 软件源指向文件配置目录

#在此目录中不能有无法访问的源指向

vim /etc/yum.repos.d/xxxx.repo        # 软件仓库指向文件

  •  [AppStream]                             # 仓库名称
  • name=westos AppStream         # 描述
  • baseurl=file:///run/media/root/RHEL-8-0-0-BaseOS-x86_64/ AppStream     # 软件源地址   (备注  file:// 为本地访问方式)
  • gpgcheck=0                               # 不检测gpgkey (跳过授权检测)
  • [BaseOS]
  • name=westos BaseOS
  • baseurl=file:///run/media/root/RHEL-8-0-0-BaseOS-x86_64/BaseOS/
  • gpgcheck=0

12单元-Linux系统中的软件安装_第3张图片 12单元-Linux系统中的软件安装_第4张图片

b ) 网络软件仓库的搭建

实验环境:

主机  client_westos_test: 172.25.254.10    没有本地系统软件仓库

主机  sever_node1:          172.25.254.20    已经搭建好本地系统软件仓库     

 

12单元-Linux系统中的软件安装_第5张图片

SELinux 简称(Security-Enhanced Linux) , 是Linux 的一个安全子系统,实验时一般关闭

####

1 ) 利镜像搭建本地软件仓库 —— 主机  sever_node1:          172.25.254.20

2 ) 安共享软件:                          # 主机  sever_node1:          172.25.254.20

  •  共享方式  —— http:// 超文本传输协议
  • 提供此协议的软件 ——  Apache (阿帕奇 网页服务软件 Apache HTTP Server  )
  •  软件包名称  —— httpd
  • 网络共享位置  ——   /var/www/html/
  • 安装命令   ——  dnf install httpd -y  

12单元-Linux系统中的软件安装_第6张图片

3 ) 启共享软件 —— Apache       # sever_node1:          172.25.254.20

  • systemctl stop firewalld
  • systemctl disable firewalld
  • systemctl enable --now httpd

4 ) 建共享目录

  • mkdir /var/www/html/westos_share       # sever_node1:          172.25.254.20

12单元-Linux系统中的软件安装_第7张图片

5 ) 挂载镜像到共享目录                    # 主机 sever_node1:          172.25.254.20

  • mount  /xxxxxxx.iso  /var/www/html/westos_share        (镜像文件在主机某个位置,绝对路径挂载)
  • mount  /dev/cdrom  /var/www/html/westos_share    (镜像文件在光驱里,直接从光驱挂载文件)

以上操作, 主机 sever_node1:  172.25.254.20 开启http:// 超文本传输协议,并共享系统镜像源文件

下面在需要共享资源的主机 client_westos_test: 172.25.254.10,通过http://172.25.254.20/westos_share 路径建立YUM机制,搭建软件仓库

6 ) 在程主机 client_westos_test: 172.25.254.10 )中访问资源,并编写 .repo文件

vim /etc/yum.repos.d/westos.repo

[AppStream]

name=AppStream

baseurl=http://172.25.254.20/westos_share/AppStream/         # 软件源地址

gpgcheck=0

 

[BaseOS]

name=BaseOS

baseurl=http://172.25.254.20/westos_share/BaseOS/            # 软件源地址

gpgcheck=0

12单元-Linux系统中的软件安装_第8张图片

12单元-Linux系统中的软件安装_第9张图片

c )第方软件仓库的搭建方法

可以使用dnf令管理第三方软件,并使第三方软件在网络中共享

####

1 )建立第三方软件的网络共享目录

  • mkdir /var/www/html/software        # 主机 sever_node1:  172.25.254.20

2 )把有的第三方软件存放到 /var/www/html/software

备注:/var/www/html/software只能存在rpm的文件压缩包是不能使用dnf 管理的

3 )采第三方软件数据生成repodate目录        # 主机 sever_node1:  172.25.254.20

  • dnf install createrepo -y          # 安装采集工具
  • cd /var/www/html/software     # 进入到共享目录
  • createrepo .                            # 对共享目录中的第三方软件,进行扫描分析后,生成【repodate】软件相关属性数据目录

12单元-Linux系统中的软件安装_第10张图片

12单元-Linux系统中的软件安装_第11张图片

4 )在试主机中指定第三方软件源

  •  vim /etc/yum.repos.d/westos.repo    #主机 sever_node1:  172.25.254.20 搭建第三方软件仓库
  •  [software]
  • name=software
  • baseurl=http://172.25.254.20/software
  • gpgcheck=0

12单元-Linux系统中的软件安装_第12张图片

5.dnf 软件管理命令 ——是新一代的rpm包管理器,取代了Yum包管理器

dnf 命令

  • repolist                    # 出仓库信息
  • clean all                  #除系统中已经加载的仓库缓存信息
  • list all                      #出所有软件
  • list available           #出未安装软件
  • list installed            #出已安装软件
  • install                      #
  • remove                    #
  • reinstall                   #新安装
  • search                     #
  • whatprovides         # 索包含文件的软件包
  • history                    # dnf行历史
  • history info            # dnf行历史详细信息
  • group list               #出软件组
  • group list --installed     #出已安装软件组
  • group list --available    #出未安装软件组
  • group list --hidden       #出隐藏软件案组
  • group install                 #装软件组
  • group info                     # 看软件组信息

12单元-Linux系统中的软件安装_第13张图片

12单元-Linux系统中的软件安装_第14张图片12单元-Linux系统中的软件安装_第15张图片

12单元-Linux系统中的软件安装_第16张图片12单元-Linux系统中的软件安装_第17张图片12单元-Linux系统中的软件安装_第18张图片12单元-Linux系统中的软件安装_第19张图片

12单元-Linux系统中的软件安装_第20张图片12单元-Linux系统中的软件安装_第21张图片

12单元-Linux系统中的软件安装_第22张图片

你可能感兴趣的:(linux)