Linux中的软件管理

文章目录

  • 1.Linux中软件包的类型
  • 2.软件包的名称结构
  • 3.rpm命令管理软件包
  • 4.本地软件仓库的搭建
  • 5.网络软件仓库的搭建
  • 6.第三方软件仓库的搭建
  • 8.epel源的搭建
  • 8.dnf软件管理命令

1.Linux中软件包的类型

·DEB  		UBlinux  DEBlinux
·RPM  		redhat centOS fadora
·bz2|gz|xz   	1.需要源码安装需要编译
  		2.绿色软件,直接可用
  		  ntfs-3g_ntfdprogs-2017.3.23.tgz   需要编译“configure”
  		  Firefox-latest-x86_64.tar.bz1     绿色

注意:
在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命令管理软件包

参数 解释
-ivh 安装参数组合, -i:install, -v:verbose, -h:hash
-a 所有
-f 文件
-p 软件包
-q 查询
-l 软件安装文件列表
-e 卸载
-c 配置文件
-d 说明
–info 软件信息
–force 强制
–nodeps 忽略依赖性
–script 查询软件在安装或卸载过程中的运行脚本
-Kv 检测软件md5校验码
-V 检测已安装软件在系统中的文件被修改信息

练习:
1.-ivh
rpm -ivh linuxqq 安装qq

2.-qf -qp -ql -qi -qc -qd

which  qq
rpm -qf /usr/local/bin/qq 		  文件
rpm -qp linux11_2.0.0-b2-1084_x86_64.rpm  软件包
rpm -ql linuxqq				  软件安装文件列表
rpm -qi linuxqq			          软件信息
rpm -qc openssh-server			  配置信息
rpm -qd openssh-server			  说明

Linux中的软件管理_第1张图片

3.–nodeps
wget google.....
rpm -ivh google-chrome-.... --nodeps

Linux中的软件管理_第2张图片

4.-e
rpm -qa | grep google
rpm -e google-chrome-.....

5.-Kv

cp linuxqq_2.0.0-b2-1084_x86_64.rpm /mnt
cd /mnt
rpm -Kv linuxqq_2.0.0-b2-1084_x86_64.rpm         检测软件md5校验码
echo westos >> linuxqq_2.0.0-b2-1084_x86_64.rpm  修改后
rpm -Kv linuxqq_2.0.0-b2-1084_x86_64.rpm

Linux中的软件管理_第3张图片

6.-V

cd /software
which qq
ehco westos >> /usr/local/bin/qq
rpm -V linuxqq

Linux中的软件管理_第4张图片

7.–force
rpm -ivh linuxqq_2.0.0-b2-1084_x86_64.rpm
rpm -ivh linuxqq_2.0.0-b2-1084_x86_64.rpm --force 已安装过再强制安装

Linux中的软件管理_第5张图片

4.本地软件仓库的搭建

系统软件仓库的作用:

在系统中对软件进行管理,rpm命令是不能解决依赖关系的,如果需要软件在安装过程中自动解决依赖关系,需要搭建系统软件仓库。

搭建方法:

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

2.挂载镜像

mkdir /westos      创建挂载点
mount /isos/rhel-8.2-x86_64-dvd.iso /westos  挂载镜像

Linux中的软件管理_第6张图片

3.编写软件仓库文件

/etc/yum.repos.d/ 软件源指向文件配置目录,再此目录中不能有无法访问的源指向

cd /etc/yum.repos.d
vim /etc/yum.repo.d/westos.repo   软件仓库指向文件
cat westos.repo

[AppStream]  			 #仓库名称
name=westosdir AppStream   	 #描述
baseurl=file:///westos/AppStream #地址  
gpgcheck=0   			 #不检测gpgkey(跳过授权检测)
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
#enabled=1

[BaseOS]
name=westosdir BaseOS
baseurl=file:///westos/BaseOS
gpgcheck=0
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
#enabled=1

Linux中的软件管理_第7张图片

4.搭建完成进程查询
dnf repolist 查看仓库信息
dnf install 进行安装,软件仓库会自动安装依赖项,-y确认安装依赖项或者选择y

5.网络软件仓库的搭建

网络软件仓库的需求:

在企业中,我们维护的系统数量庞大, 我们需要在每个系统安装软件管理软件时 ,可以在每个系统中各自搭建软件仓库,但是这样管理软件会浪费大量的资源。
如何节省这部分重复的资源,把大家都要使用的资源共享到互联网中,这样大家就可以利用网络访问资源,不需要在每一台 主机中独立建立软件资源了。

搭建方法:

1.利用镜像搭建本地软件仓库

2.安装共享软件

安装方式:http://超文本传输协议
提供此协议的软件:Apache
软件包名称:httpd
共享位置:/var/www/html
安装命令:dnf install httpd -y

Linux中的软件管理_第8张图片

3.启用共享软件Apache

systemctl disable firewalld   关闭防火墙
systemctl enable --now httpd  直接开启软件并设定开机自启

Linux中的软件管理_第9张图片

4.在浏览器浏览本机地址的Apache测试页

Linux中的软件管理_第10张图片

5.建立共享目录
mkdir /var/www/html/warehouse

6.挂载镜像到共享目录
mount /isos/rhel-8.2-x86_64-dvd.iso /var/www/html/warehouse当镜像在系统中存在时

Linux中的软件管理_第11张图片

(mount /dev/cdrom /var/www/html/warehouse 当时用光驱读取镜像时)

ls /var/www/html/warehouse 挂在后可看到资源

7.永久挂载

  1. vim /etc/rc.d/rc.local 在开机时自动挂载

  2. mount /isos/rhel-8.2-x86_64-dvd.iso /var/www/html/warehouse

  3. chmod +x|755 /etc/rc.d/rc.local 执行完此操作后会自动挂载镜像,不需要重启后重新挂载

8.编写要访问端的repo文件

[AppStream]      #仓库名称
name=AppStream     #描述
baseurl=http://172.25.254.28/warehouse/AppStream #地址  
gpgcheck=0   

[BaseOS]
name=BaseOS
baseurl=http://172.25.254.28/warehouse/westos/BaseOS
gpgcheck=0

9.在浏览器查看仓库是否共享

Linux中的软件管理_第12张图片

6.第三方软件仓库的搭建

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

搭建方法:

1.建立共享目录
mkdir /var/www/html/software

2.把所有的第三方软件存放到/var/www/html/software中
其中只能存放rpm类型的文件,压缩包是不能使用dnf管理的

3.采集第三方软件数据生成repodata目录

  1. dnf install createrepo -y 安装采集工具
  2. cd /var/www/html/software 进入到共享目录
  3. createrepo . 对共享目录中进行扫描生成repodata数据目录
    Linux中的软件管理_第13张图片
    Linux中的软件管理_第14张图片

4.在测试主机中指定第三方共享源

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

[software]
name=software
baseurl=http:172.25.254.250/software
gpgckeck=0

5.此时在主机中用dnf repolist可查看仓库是否搭建成功,并可用第三方仓库安装软件

Linux中的软件管理_第15张图片

8.epel源的搭建

EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。

rpm -ivh epel-release-latest-8.noarch.rpm
cd /etc/yum.repos.d

为加快下载速度,可以替换成阿里云的镜像站
vim westos.repo

[Aliyun]
name=Aliyun
baseurl=httpd://mirrors.aliyun.com/epel/8/Everything/x86_64/
gpgckeck=0

[Appstream]
......

[BaseOS]
......

EPEL安装完整演示

8.dnf软件管理命令

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 查看软件组信息

Linux中的软件管理_第16张图片
Linux中的软件管理_第17张图片
Linux中的软件管理_第18张图片
Linux中的软件管理_第19张图片

下载安装包

yumdownloader  下载软件包到本机指定位置

yumdownloader httpd 
下载仓库中指定软件的安装包到当前目录

yumdownloader httpd --destdir=/mnt 
下载仓库中指定软件的安装包到/mnt目录

yumdownloader httpd --destdir=/mnt --resolve 
下载仓库中指定软件的安装包和软件依赖性到/mnt目录

Linux中的软件管理_第20张图片

Linux中的软件管理_第21张图片
在这里插入图片描述

你可能感兴趣的:(RE,linux)