Linux下的软件管理

目录

  • 一、软件安装包格式
  • 二、rpm包名称分析
  • 三、rpm命令
  • 四、yum软件仓库
    • 1、软件仓库搭建的目的:
    • 2、搭建软件仓库的步骤
  • 五、yum命令
    • 六、第三方软件仓库
  • 七、共享软件安装仓库
    • 1、软件仓库支持的访问方式
    • 2、如何搭建共享软件仓库

一、软件安装包格式

类型:

rpm:redhat linux 系统(suse centos redhat)
deb:ub deb 系统
tar:
	绿色软件
	源码编译

二、rpm包名称分析

-<4.2.5-68>..1>..
  [1]      [2]       [3]       [4]    [5]
1:软件名称
2.软件版本
3.软件授权
4.软件多少位
5.软件后缀表示软件包是rpm类型的
#在管理rpm软件包时用rpm命令

三、rpm命令

##rpm管理命令
rpm 	-ivh 		#安装
	-v 		#显示过程
	-h 		#hash 检测查看软件中的hash值是否有改变
	-i 		#install 安装
	-e 		#卸载
	-q 		#查看
	-a 		#所有
	-qa 		#查看所有安装过的软件
	-l 		#列出安装然后在系统中生成的文件
	-p 		##操作对象为软件包
	--scripts 	##查看软件在安装或卸载时在系统中执行的脚本#强制安装#忽略软件依赖性安装
	--force 	#强制安装
	-nodeps 	#忽略软件依赖性安装
	-K 		#检测软件是否是原版软件

设定实验环境
1.创建光驱挂载点目录:

mkdir /softwaresource

2.在虚拟机光驱中添加系统匹配镜像
3.挂载景象到/softwaresource

mount /dev/cdrom /softwaresource
或者:
mount /xxx/xxxxxxx.iso /softwaresource

4.查看是否挂载成功:

ls /softwaresource	##若有文件,则挂载成功

注意:
软件包如何拆解:

rpm2cpio 软件包名.rpm | cpio -id
eg:
rpm2cpio dhcp-4.2.5-68.el7_5.1.x86_64.rpm | cpio -id

四、yum软件仓库

1、软件仓库搭建的目的:

rpm不能自动解决软件依赖关系,安装软件时需要先安装软件的依赖软件
yum仓库可以解决此问题

2、搭建软件仓库的步骤

(1)得到与当前系统匹配的系统安装景象文件
(2)建立系统安装景象挂载点:

mkdir /softwaresource

(3)挂载景象到景象挂载点:

mount /rhel8-xxxxxx.xxxxxx.iso /softwaresource
或者
mount /dev/cdrom /softwaresource

(4)配置系统访问软件路径(yum仓库指向文件)

cd /etc/yum.repos.d			##配置文件目录
rm -fr *					##防止别的文件会影响yum源指向,一般不删除

在rhel7中:

vim yang.repo
[yangrhel7] 							##仓库名称
name=yang rhel7 source 					##仓库描述
baseurl=file:///softwaresource 			##资源路径
gpgcheck=0|1 							##软件包授权检测开关
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #软件包授权码
enabled=1 #仓库启用开关

在rhel8中:

vim yang.repo
[yangAppStream] 								##仓库名称
name=yang rhel8 source AppStream 				##仓库描述
baseurl=file:///softwaresource/AppStream		##资源路径
gpgcheck=0|1 									##软件包授权检测开关
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release ##软件包授权码
enabled=1 										##仓库启用开关
[yangBaseOS] 									##仓库名称
name=yang rhel8 source BaseOS 					##仓库描述
baseurl=file:///softwaresource/BaseOS 			##资源路径
gpgcheck=0|1 									##软件包授权检测开关
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release ##软件包授权码
enabled=1 										##仓库启用开关

(5)清空yum缓存,识别新文件案内容
rhel7:

yum clean all

rhel8:

dnf clean all

五、yum命令

yum install 									##安装
yum remove										##卸载
yum reinstall									##重新安装
yum list installed|available|all|软件名称 		##列出对应搜索内容的信息
yum update 										##更新
yum repolist 									##列出仓库信息
yum history 									##查看yum历史
yum info 										##查看软件包信息
yum clean all 									##清除yum缓存
yum search 										##根据软件信息搜索
yum whatprovides 								##根据软件包含文件搜索
yum groups install 								##组安装
yum groups remove 								##组卸载
yum groups info 								##组信息

注意:
在rhel7中用的yum命令,在rhel8中已经改为dnf命令
但是,rhel8也兼容yum命令,yun命令仍然可以在rhel8中使用

六、第三方软件仓库

建立步骤:
1、把所有 rpm 结尾的第三方软件包存放到一个目录 /software 下
2、生成软件属性:

createrepo -v /software 		##生成软件数据库存放软件属性

注意:
在rhel7中,createrepo命令已经存在,直接用即可
在rhel8中,需要安装createrepo命令:

yum whatprovides */createrepo		##查找提供*/createrepo的文件
yum install createrepo文件目录		##安装

3、vim /etc/yum.repos.d/westos.repo
[software]
name=software
baseurl=file:///software
gpgcheck=0
yum clean all

七、共享软件安装仓库

1、软件仓库支持的访问方式

file:// 			##本地文件
ftp://				##文本传输协议
http:// 			##超文本传输协议
nfs: 				##网络文件系统

2、如何搭建共享软件仓库

(1)在含有软件资源的主机中安装共享软件

yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd

(2)关闭selinux和firewalld
查看selinux状态:

getenforce				##查看状态
Enforcing				##表示selinux开启

关闭selinux:

vim /etc/sysconfig/selinux			##编写文件
SELINUX=disabled					##修改内容,改为关闭状态
reboot								##重启

firewalld:
关闭firewalld:

systemctl stop firewalld
systemctl disable firewalld

3、建立共享目录

mkdir /var/ftp/rhel8.0 /var/ftp/software

4、在共享目录中存放软件资源
(a)把所有第三方软件放入 /var/ftp/software 目录中,并执行:

createrepo -v /var/ftp/software

(b)挂载系统安装景象资源到 /var/ftp/rhel8.0 :
临时挂载:

mount /dev/cdrom /var/ftp/rhel8.0 

永久挂载系统安装镜像资源到 /var/ftp/rhel8.0 :

vim /etc/rc.d/rc.local
##写入:##
mount /dev/cdrom /var/ftp/rhel8.0

(c)执行命令:

chmod 775 /etc/rc.d/rc.local		##给文件执行权限,否则启动系统的时候无法加载文件

5、在另一台虚拟机中进行以下操作
用 firefox 浏览器分别输入:

ftp://172.25.254.217/software 		##中间的地址为已经搭建共享软件仓库的主机的ip地址
ftp://172.25.254.217/rhel8.0 

可以显示文件内容则表示共享软件仓库搭建成功
配置仓库:

vim /etc/yum.repos.d/yang.repo			##编写文件
##在rhel7中写入:
[rhel7]
name=rhel7
baseurl=ftp://172.25.254.217/rhel7
gpgcheck=0
[software]
name=software
baseurl=ftp://172.25.254.217/software
gpgcheck=0

##在rhel8中写入:
[rhel8.0_AppStream]
name=rhel8 AppStream
baseurl=ftp://172.25.254.217/rhel8.0/AppStream
gpgcheck=0
[rhel8.0_BaseOS]
name=rhel8 BaseOS
baseurl=ftp://172.25.254.217/rhel8.0/BaseOS
gpgcheck=0
[software]
name=software
baseurl=ftp://172.25.254.217/software
gpgcheck=0

配置完仓库后执行以下命令:

yum clean all

共享软件仓库就搭建完成了,可以用 yum 命令来进行软件安装删除等操作啦!

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