linux系统中的软件管理(软件仓库的搭建:本地+网络源+第三方)
Linux中的软件管理
- 1.Linux中软件包的类型
- 2.软件包的名称结构
- 3.rpm命令管理软件包
- 4.本地软件仓库的搭建
- 系统软件仓库的作用
- 搭建方法
- 5.dnf 软件管理命令
- 6.网络软件仓库的搭建
- 搭建方法
- 网络源epel
- 6.第三方软件仓库的搭建方法
- 步骤
- 7.yumdownloader
- 8. /etc/rc.d/rc.local 开机自启动文件(chmod +x /etc/rc.d/rc.local)
1.Linux中软件包的类型
1.DEB #UBlinux DEBlinux
2.RPM #redhat centOS fc
3.bz2|gz|xz #1.需要源码安装需要编译
#2.绿色软件,直接可用
#ntfs-3g_ntfsprogs-2017.3.23.tgz 需要编译 “configure”
#Firefox-latest-x86_64.tar.bz2 绿色
"注意在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
-ivh | 安装参数组合-i install -v verbose -h hash |
---|---|
-a | 所有 |
-f | 文件 |
-p | 软件包 |
-q | 查询 |
-l | 软件安装文件列表 |
-e | 卸载 |
-c | 配置文件 |
-d | 说明 |
–info | 软件信息 |
–force | 强制 |
–nodeps |
忽略依赖性 但有些软件包即使忽略依赖性安装成功,也无法使用
|
–script | 查询软件在安装或卸载过程中的运行脚本 |
-Kv | 检测软件md5校验码 |
-V | 检测已安装软件在系统中的文件被修改信息 |
rpm -qf /bin/ls
查询命令的安装包
rpm -q httpd
查看是否安装此服务
[root@lzy Desktop]# rpm -q httpd
httpd-2.4.37-10.module+el8+2764+7127e69e.x86_64
[root@lzy Desktop]#
4.本地软件仓库的搭建
系统软件仓库的作用
在系统中对软件进行管理
rpm命令是不能解决依赖关系的
如果需要软件在安装过程中自动解决依赖关系
需要大家系统软件仓库
搭建方法
1.在系统中加载安装系统时使用的安装镜像
mkdir /westos ##随意建立一个目录mount rhel-8.0-x86_64-dvd\(1\).iso /westos/ ##将镜像挂载到所建目录下
[root@foundation66 ~]# df ##c查看挂载
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 3921680 0 3921680 0% /dev
tmpfs 3936892 18156 3918736 1% /dev/shm
tmpfs 3936892 10232 3926660 1% /run
tmpfs 3936892 0 3936892 0% /sys/fs/cgroup
/dev/nvme0n1p7 74796360 29513244 45283116 40% /
/dev/nvme0n1p5 1038336 676404 361932 66% /boot
/dev/nvme0n1p1 307032 51920 255112 17% /boot/efi
tmpfs 787376 12 787364 1% /run/user/42
tmpfs 787376 44 787332 1% /run/user/0
/dev/loop0 6935944 6935944 0 100% /westos
AppStream中是一些应用软件 BaseOS中是一些内核等软件 在安装软件的时候有一些依赖性,不确定依赖性在哪个库中,所以在搭建本地软件仓库的时候,两个库都写
[root@foundation66 ~]# cd /westos
[root@foundation66 westos]# ls
AppStream EFI extra_files.json images media.repo RPM-GPG-KEY-redhat-release
BaseOS EULA GPL isolinux RPM-GPG-KEY-redhat-beta TRANS.TBL
[root@foundation66 westos]# cd AppStream/
[root@foundation66 AppStream]# ls
Packages repodata
[root@foundation66 AppStream]# cd Packages/
[root@foundation66 Packages]# ls
389-ds-base-1.4.0.20-7.module+el8+2750+1f4079fb.x86_64.rpm
389-ds-base-devel-1.4.0.20-7.module+el8+2750+1f4079fb.x86_64.rpm
389-ds-base-legacy-tools-1.4.0.20-7.module+el8+2750+1f4079fb.x86_64.rpm
389-ds-base-libs-1.4.0.20-7.module+el8+2750+1f4079fb.x86_64.rpm
2.编写软件仓库文件
/etc/yum.repos.d/
软件源指向文件配置目录
在此目录中不能有无法访问的源指向
vim /etc/yum.repos.d/xxxx.repo
##软件仓库指向文件
[AppStream] ##仓库名称 应用软件
name=AppStream ##描述
baseurl=file:///westos/AppStream ##地址 /westos 挂载镜像目录
gpgcheck=0 ##不检测gpgkey (跳过授权检测) =1:检测,此时需要gpgkey
gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release ### 去检测软件是不是官方授权的[BaseOS]###系统的核心:函数库,内核
name=BaseOS
baseurl=file:///westos/BaseOS
gpgcheck=0
enable=1 ###表示启用此库 默认为1 =0:不启用此库
3.检测仓库是否搭建好
[root@foundation66 yum.repos.d]# dnf repolist
##能列出库的资源
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
AppStream 135 MB/s | 5.3 MB 00:00
BaseOS 95 MB/s | 2.2 MB 00:00
repo id repo name status
AppStream AppStream 4,672
BaseOS BaseOS 1,658
[root@foundation66 yum.repos.d]#
5.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 | 查看软件组信息 |
dnf whatprovides /bin/ls
== rpm -qf /bin/ls
6.网络软件仓库的搭建
在企业中,我们维护的系统数量庞大,
当我们需要在每个系统安装软件管理软件时
可以在每个系统中各自搭建软件仓库
但是这样管理软件会浪费大量的资源
如何节省这部分重复的资源
需要把大家都要使用的资源共享到互联网中
这样大家就可以利用网络访问资源,不需要在每一台 主机中独立建立软件资源了。
搭建方法
1.利用景象搭建本地软件仓库 (见上) 本地主机ip 192.168.122.1
2.安装共享软件
共享方式http:// 超文本传输协议
提供此协议的软件 Apache
软件包名称 httpd
共享位置 /var/www/html
安装命令 dnf install httpd -y
3.启用共享软件Apache
systemctl stop firewalld 关闭火墙systemctl disable firewalldsystemctl enable --now httpd ###设置httpd开机自启动
4.建立共享目录
mkdir /var/www/html/westos
5.挂在景象到共享目录
先卸载掉之前的挂载
umount /westos
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 ##给予可执行权力
重新编辑repo文件
baseurl=file:///var/www/html/westos/ AppStream|BaseOS
6.在远程主机westos_linux中访问资源并书写repo文件 ##也可以直接在本地中检测:baseurl=http://本地ip/westos/BaseOS|AppStream
vim /etc/yum.repos.d/westos.repo
[AppStream]
name=AppStream
baseurl=http://192.168.122.1/westos_8/AppStream/
gpgcheck=0[BaseOS]
name=BaseOS
baseurl=http://192.168.122.1/westos_8/BaseOS/
gpgcheck=0
网络源epel
[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/8/Everything/x86_64/
gpgcheck=0
6.第三方软件仓库的搭建方法
可以使用dnf命令管理第三方软件
生成一个目录,存放数据,扫描,生成数据,dnf读取并数据
根据repomd.xml的指向去读primary文件,加载到/var/cache/dnf
步骤
1.建立目录
mkdir /software
2.把所有的第三方软件存放到/software中
/software中只能存在rpm类型的文件,压缩包是不能使用dnf管理的
3.采集第三方软件数据生成repodate目录
dnf install createrepo -y
安装采集工具
cd /software
进入到目录
createrepo .
对目录中进行扫描生成repodate数据目录
cretaerepo -v 指定目录
vim /etc/yum.repos.d/westos.repo
[software]
name=software
baseurl=file:///software
gpgcheck=0
7.yumdownloader
dnf 安装服务后,看不到软件包
yumdownloader httpd
下载服务安装包到所在目录
yumdownloader httpd --destdir=/mnt --resolve
指定目录
8. /etc/rc.d/rc.local 开机自启动文件(chmod +x /etc/rc.d/rc.local)
linux系统中的软件管理(软件仓库的搭建:本地+网络源+第三方)相关推荐
- Linux 系统中利用 apt-get 管理软件的安装目录和安装路径
Linux 系统中利用 apt-get 管理软件的安装目录和安装路径 apt-get 下载软件存放路径: /var/cache/apt/archives lib 文件路径: /usr/lib 可执行文 ...
- linux系统中的日志管理
Linux系统中的日志管理 1 实验环境 2 journald日志服务 2.1 journalctl命令的用法 2.2 用journald服务永久存放日志 3 rsyslog日志服务 3.1 自定义日 ...
- Linux系统中磁盘创建管理(一)
Linux系统中磁盘创建管理(一) 在linux系统中安装lvm必要的服务 install lvm-common lvm2 evms Linux系统中有一张分区表,系统在开机之后根据这个表里面的记录来 ...
- linux系统创建操作系统用户,linux系统中用户组创建管理linux操作系统 -电脑资料...
用户组管理包括对用户组创建,删除,修改及查看组操作命令,下面我们一起来看看希望本文章对各位同学会有所帮助哦, 1,创建组 groupadd test 增加一个test组 2,修改组 groupmod ...
- 15. Linux系统中的磁盘管理
Lesson15 Linux系统中的磁盘管理 文章目录 1. 什么是磁盘管理 2. 本地存储设备的识别 3. 设备的挂载和卸载 4. 解决设备正忙情况 5 磁盘分区 5.1 磁盘分区的基础知识 5.2 ...
- Linux系统中的进程管理
Linux系统中的进程管理 了解进程 进程是已启动的可执行程序的运行实例,进程有以下组成部分: • 已分配内存的地址空间: • 安全属性,包括所有权凭据和特权: • 程序代码的一个或多个执行线程: • ...
- 10、Linux系统中的日志管理及时间设定
Linux系统中的日志管理 实验环境 一.journald 1.journalctl命令的用法 2.永久存放日志 二.rsyslog 1.自定义日志采集路径 2.日志的远程同步 3.更改日志采集格式 ...
- Linux中的软件管理(一)配置本地yum源及yum命令详解
文章目录 yum源头是什么 yum源的分类 如何配置本地yum源指向 yum命令 yum命令使用的前提 yum命令的详细用法 软件安装包名称详解 yum源头是什么 yum源是一个软件集合地,只需要搜索 ...
- Linux系统中硬盘的管理
磁盘数据块大小的由来 在我们的硬件平台上,CPU不能直接读取硬盘上的数据,而是通过内存先将硬盘上的数据读入并保存,在x86平台上,32位的处理器只能寻址到4G大小的内存空间,内存的存储单元是被编址的, ...
- 在linux系统中查看组管理信息命令,Linux常用命令(五)账号和组管理
Linux常用命令(五)账号和组管理 一.管理用户账号 1.用户账号的分类 ■超级用户:root用户是Linux系统中默认的超级用户账号,对本主机拥有最大的权限,类似于Windows ...
最新文章
- 为什么单例模式是邪恶的(译)
- 11计算机,11-计算机科学与技术
- matlab数据点降噪,matlab学习之降噪平滑算法
- oracle磁盘提取工具,实战:巧用磁盘管理工具给oracle提速
- Linux关闭开启防火墙命令
- 中国1,2,4-三氟苯市场趋势报告、技术动态创新及市场预测
- 五校联考R1 Day2T2 矩阵matrix(容斥)
- svn客户端(Windows版本)
- Beyond Compare比较class文件
- android微信打不开怎么办,微信打不开怎么回事 微信打不开怎么办
- LeetCode114--词典中最长的单词、最短补全词、宝石与石头
- uni-app背景图片 background-image,支持 base64 格式图片、支持网络路径图片、本地路径背景图片
- 树莓派3B+无显示屏安装教程(一)
- python 批量转换docx只转换了一个出现pywintypes.com_error被调用的对象已与其客户端断开连接
- 买的香港云服务器怎么用?云服务器使用教程
- 如何快速提升教育直播间人气
- 一文搞懂 Redis
- 自动化测试工程师面试简历参考
- MicroBlaze系列教程(2):AXI_INTC的使用
- 网络营销好学吗?自学和培训该怎么选?