4.Linux下的软件管理(1)

僤鯓⒐⒋嵵緔 提交于 2020-03-06 16:08:23

前言

windows只有*****.exe
在Linux中下载软件的格式
deb 和 rpm

软件安装包格式类型

rpm: redhat linux(suse centos redhat)
deb: ub deb(这个不是当前系统可使用的包)
tar: 绿色软件(可直接安装)
源码编译(需要编译过程)

rpm包名称分析

-<4.2.5-68>.<el7_5.1>.<x86_64>.
[1] [2] [3] [4] [5]
1:软件名称(有可能与安装后的名称不一样)
2.软件版本
3.软件授权(此为企业7授权过的)
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 /westos
2.在虚拟机光驱中添加系统匹配景象
3.挂载景象到/westos
mount /dev/cdrom /westos
mount /xxx/xxxxxxx.iso /westos4.ls /westos
[root@rhel7_node1 ~]# ls /westos
addons EFI EULA extra_files.json GPL images isolinux LiveOS
media.repo Packages repodata RPM-GPG-KEY-redhat-beta RPM-GPG-KEY-
redhat-release TRANS.TBL
########软件包如何拆解###############
rpm2cpio dhcp-4.2.5-68.el7_5.1.x86_64.rpm | cpio -id

yum软件仓库

#软件仓库搭建的目的:#
rpm不能自动解决软件依赖关系
yum仓库可以解决此问题
##搭建软件仓库的步骤##
1.得到与当前系统匹配的系统安装景象文件
2.建立系统安装景象挂载点:
mkdir /softwaresource
3.挂载景象到景象挂载点:
mount /rhel7-xxxxxx.xxxxxx.iso /software
mount /dev/cdrom /software
4.配置系统访问软件路径(yum仓库指向文件)
cd /etc/yum.repos.d
rm -fr *
在rhel7中
vim westos.repo(后缀必须规范)
[westosrhel7] #仓库名称
name=westos rhel7 source #仓库描述
baseurl=file:///softwaresource #资源路径
gpgcheck=0|1 #软件包授权检测开关(出问题是否负责)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #软件包授权码(系统自带)
enabled=1 #仓库启用开关(是否启用仓库)
在rhel8中
vim westos.repo
[westosAppStream] #仓库名称
name=westos rhel7 source AppStream #仓库描述
baseurl=file:///softwaresource/AppStream #资源路径
gpgcheck=0|1 #软件包授权检测开关
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #软件包授权码
enabled=1 #仓库启用开关
[westosBaseOS] #仓库名称
name=westos rhel7 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 ##组信息

第三方软件仓库

1.把所有rpm结尾的软件包存放到一个目录/software中
2.createrepo -v /software ##生成软件数据库存放软件属性
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.在含有软件资源的主机中安装共享软件(/var/ftp是默认的共享位置)
yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd
2.关闭selinux和firewalld
selinux:
[root@rhel7_node1 ~]# getenforce
Enforcing ##selinux开启
关闭selinux:
vim /etc/sysconfig/selinux
7 SELINUX=disabled
reboot

firewalld:
关闭firewalld
systemctl stop firewalld
systemctl disable firewalld
3.建立共享目录
mkdir /var/ftp/rhel7.6 /var/ftp/software
4.在共享目录中存放软件资源
把所有第三方软件放入/var/ftp/software并执行createrepo -v /var/ftp/software
挂载系统安装景象资源到/var/ftp/rhel7.6
mount /dev/cdrom /var/ftp/rhel7.6 #使用此命令挂载为临时挂载
永久挂载系统安装景象资源到/var/ftp/rhel7.6
vim /etc/rc.d/rc.local(开机自动运行脚本,需要执行权限)
mount /dev/cdrom /var/ftp/rhel7.6
执行:chmod 755 /etc/rc.d/rc.local(赋予权限)
chmod +x /etc/rc.d/rc.local

测试:
在rhel7_node2:
firefox ftp://192.168.0.10/software ##显示资源
firefox ftp://192.168.0.10/rhel7.6 ##显示资源

vim /etc/yum.repos.d/westos.repo
[rhel7.6]
name=rhel7.6
baseurl=ftp://192.168.0.10/rhel7.6
gpgcheck=0

[software]
name=software
baseurl=ftp://192.168.0.10/software
gpgcheck=0

yum clean all
yum install dhcp -y

后记

火墙都管理什么?
仓库搭建与共享,企业7企业8 都是一样的。
要练习!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!