一.Linux中软件包的类型
1.DEB UBlinux DEBlinux
2.RPM redhat centOS fc (经红帽编译参数后的,在Linux系统中可直接安装)
3.bz2|gz|xz(存在安全隐患) a.需要源码安装需要编译 ntfs-3g_ntfsprogs-2017.3.23.tgz 需要编译 "configure"
b.绿色软件,直接可用 Firefox-latest-x86_64.tar.bz2 绿色
"注意在rhel8中只能使用绿色软件、源码编译软件和rpm软件"
二.软件包的名称结构
[dhcp-server]-[4.3.6-30].[el8].[x86_64].[rpm]
1 2 3 4 5
1.软件名称
2.软件版本
3.软件的授权协议版本
4.软件架构
5.软件类型后缀
三.rpm命令管理软件包
rpm -ivh 安装参数组合 -i install -v verbose -h hash
-q 查询
-a 所有
-f 文件
-p 软件包
-l 软件安装文件列表
-e 卸载
-c 配置文件
-d 说明
--info 软件信息
--force 强制(强制安装,可能会出现其他意外)
--nodeps 忽略依赖性 (安装wps后,不能使用)
--scripts 查询软件在安装或卸载过程中的运行脚本(注意软件或安装包中的脚本,存在恶意,rpm -q --scripts 软件名或rpm -qp --scripts rpm包名)
-Kv 检测软件md5校验码
-V 检测已安装软件在系统中的文件被修改信息
四.本地软件仓库的搭建
系统软件仓库的作用,在系统中对软件进行管理,rpm命令是不能解决依赖关系的,如果需要软件在安装过程中自动解决依赖关系,需要大家系统软件仓库.
搭建方法
1.在系统中加载安装系统时使用的安装镜像
2.编写软件仓库文件
/etc/yum.repos.d/ 软件源指向文件配置目录
xxx.repo 在此目录中不能有无法访问的源指向
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://本地软件地址 或http://网站软件地址
gpgcheck=1或0 检测或不检测gpgkey (跳过授权检测)
enabled=1或0 启动或停止
[BaseOS]
name=westos BaseOS
baseurl=file:///run/media/root/RHEL-8-0-0-BaseOS-x86_64/BaseOS/
gpgcheck=0
五.dnf 软件管理命令
dnf repolist 列出仓库信息(默认在本地的缓存中读取,在/var/cache/dnf中读取)
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 查看软件组信息
六.网络软件仓库的搭建
手动固定位置iso光驱挂载:虚拟机重启,光驱会自动挂载/run/media/root/RHEL-8-0-0-BaseOS-x86_64,随着用户的切换,光驱位置不固定,因此需固定光驱区位置/media
先挂在固定位置
并设定重启后仍挂在固定位置
westos_linux: 172.25.254.10
westos_node1: 172.25.254.20
在westos_node1中已经搭建好软件仓库,
在westos_linux中是无法访问的
在企业中,我们维护的系统数量庞大,
当我们需要在每个系统安装软件管理软件时
可以在每个系统中各自搭建软件仓库
但是这样管理软件会浪费大量的资源
如何节省这部分重复的资源
需要把大家都要使用的资源共享到互联网中
这样大家就可以利用网络访问资源,不需要在每一台
主机中独立建立软件资源了。
搭建方法
1.利用景象搭建本地软件仓库
2.安装共享软件
共享方式http:// 超文本传输协议
提供此协议的软件 Apache
软件包名称 httpd
共享位置 /var/www/html
安装命令 在westos_node1: dnf install httpd -y
3.启用共享软件Apache
systemctl stop firewalld
systemctl disable firewalld
systemctl enable --now httpd
4.建立共享目录
mkdir /var/www/html/westos_8
5.挂在景象到共享目录
mount /xxxxxxx.iso /var/www/html/westos_8 当镜像在系统中存在
mount /dev/cdrom /var/www/html/westos_8 当使用光驱读取镜像
vim /etc/rc.d/rc.local 在开机时自动挂在
mount /dev/cdrom /var/www/html/westos_8
chmod 755 /etc/rc.d/rc.local
前面已经将光驱固定在/media下,ln -s /media/ /var/www/html/westos_8,将/media链接到共享目录下
6.在远程主机westos_linux中访问资源并书写repo文件
vim /etc/yum.repos.d/westos.repo
[AppStream]
name=AppStream
baseurl=http://172.25.254.20/westos_8/AppStream/
gpgcheck=0
[BaseOS]
name=BaseOS
baseurl=http://172.25.254.20/westos_8/BaseOS/
gpgcheck=0
七.第三方软件仓库的搭建方法
a.rpm直接安装.
b.dnf网页链接安装.
安装链接
c.vim编辑搭建.
rpm地址
d.自己写rpm包
可以使用dnf命令管理第三方软件
并使第三方软件在网络中共享
步骤
1.建立共享目录
mkdir /var/www/html/software
2.把所有的第三方软件存放到/var/www/html/software中
/var/www/html/software中只能存在rpm类型的文件,压缩包是不能使用dnf管理的
3.采集第三方软件数据生成repodate目录
dnf install createrepo -y 安装采集工具
cd /var/www/html/software 进入到共享目录
createrepo . 对共享目录中进行扫描生成repodate数据目录
在本机生成的软件库
4.在测试主机中指定第三方共享源
vim /etc/yum.repos.d/westos.repo
[software]
name=software
baseurl=http://192.168.1.10/software
gpgcheck=0