(linux基础12)Linux基础之系统软件管理

Linux基础之系统软件管理

windows下软件安装,我们常常是找到安装包(.exe文件),然后双击鼠标安装;亦或是装个软件安装管家帮我们查找,安装,卸载软件。Linux下我们应当如何安装软件和管理我们的软件呢,本文以企业红帽8为例,讲解软件管理。


一、linux软件包类型

1.DEB       #UBLinux DEXLinux
2.RPM       #Redhat centos fc
3.bz2 | gz | xz       #1.需要源码安装需要编译
                #2.绿色软件,直接可用
                #ntfs-3g_ntfsprogs-2017.3.23.tgz #需要编译
                #而以bz2、ge、xz为后缀的可以直接安装使用

**RHEL 8中只能使用绿色软件、源码编译软件、rpm软件**

二、软件包的名称结构

在这里插入图片描述
                1.软件名称 2.软件版本 3.软件的授权协议版本 4.软件架构 5.软件类型后缀

三、rpm命令管理

Linux rpm 命令用于管理套件。

rpm(英文全拼:redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。

参数说明:

-a  查询所有已装软件。
-b   <完成阶段><套件档>+或-t <完成阶段><套件档>+  设置包装软件的完成阶段,并指定套件档的文件名称。
-c  只列出组态配置文件,本参数需配合"-l"参数使用。
-d  只列出文本文件,本参数需配合"-l"参数使用。
-e   <套件档>或--erase<套件档>  删除指定的软件。
-f   <文件>+  查询拥有指定文件的套件。
-h   或--hash  套件安装时列出标记。
-i  显示套件的相关信息。
-i   <套件档>或--install<套件档>  安装指定的软件包。
-l  显示套件的文件列表。
-p   查询对象跟软件包(不是软件名)
-q  使用询问模式,当遇到任何问题时,rpm指令会先询问用户。
-v  可视化显示指令执行过程。
-vv  详细显示指令执行过程,便于排错。
--allfiles  安装所有文件。
--allmatches  删除符合指定的套件所包含的文件。
--buildroot<根目录>  设置产生套件时,欲当作根目录的目录。
--force  强行置换套件或文件。
--help  在线帮助。

安装软件常用语法

 rpm -ivh  软件名   #安装参数组合 -i  install(安装)   -v verbose(安装过程0)    -h hash(采用hash加密)
 rpm -ql   软件名   #查询组合     -q 查询       -l  列出该软件所有文件
 rpm -qc   软件名   #查询组合     -q 查询       -c  列出该软件所有配置文件
 rpm -e    软件名   #卸载软件
 rpm --force       #强行安装软件


四、本地软件仓库搭建

软件仓库的作用就是对软件进行管理,rpm命令是不能解决依赖关系的,如果需要软件在安装过程中自动解决依赖问题,需要我们系统安装软件仓库

搭建方法:

  1. 在系统(根目录下或其他目录)建立两个目录,目录名随意,一个用来存放与系统同版本的镜像文件,一个挂载该镜像;我之前创建过了,所以下图只是个演示。
    在这里插入图片描述

  2. 与本系统同版本的镜像拷贝到/root/isos下,然后挂载该镜像到/westos下并检查是否挂上。
    在这里插入图片描述
    在这里插入图片描述
    如此多的软件包,怎能才能找到我想要的,或是查到这个目录里有没有呢,就需要用dnf命令去查,该命令在下面还会详细介绍。

dnf  search 软件名

在这里插入图片描述

  1. 编辑软件仓库指向文件,在/etc/yum.repo.d/下创建一个xxx.repo文件,并把该目录下的其他.repo文件移走(/mnt),使用vim/vi编辑器编写该文件并保存,其中文件指向地址不要弄错!
    在这里插入图片描述
    在这里插入图片描述

  2. 查看是否成功,能加载就成功了,下面就可以用本地的软件库去查找、安装、卸载、管理软件了,怎么用请看接下来的dnf软件管理命令

在这里插入图片描述

五、dnf软件管理命令(yum升级)

相当于之前的yum命令,红帽8改了一些依赖关系,会更好用,红帽8用dnf。

    -dnf         
	-	        repolist          ##列出仓库信息
	- 			repolist all      ##列出仓库信息和状态            
	- 			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		       ##查看软件组命令

history与history info的区别:
在这里插入图片描述
clean all :
在这里插入图片描述
剩余的参数自己再敲敲。

六、网络仓库搭建

1. 需要完成第五中的本地仓库搭建并安装Apache HTTP 服务,或是已经安装Apache服务的系统

Apache安装方法如下:
在这里插入图片描述
启动Apache服务并检查状态

systemctl enable --now httpd   #开机自启动并现在开启Apache服务
systemctl status  httpd        #查看状态

在这里插入图片描述

2. 新建共享目录,并将镜像挂载到该目录,若挂载不上,先卸载之前的挂载。

mkdir  /var/www/html/xxx                   #建文件夹,xxx为名字随意。
umount /westos                             #卸载之前本地软件库挂载的镜像,不然会挂不上
mount  /root/isos  /var/www/html/xxx       #挂载镜像

挂载之后关机会自动卸载,为了可以开机自动挂载,这里我们配置挂载文件 /etc/rc.d/rc.local
rc.local本质上是一个shell脚本文件,可以把启动时需要执行的命令写在里面,启动时将按顺序执行。

1)使用命令在rc.local中追加以下脚本。

echo mount /root/isos  /var/www/html/xxx >> /etc/rc.d/rc.local

若不小心覆盖该文件,可以网上当一份,这里给贴下 /rc.local 源程序:

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
#
touch /var/lock/subsys/local

2)修改/etc/rc.d/rc.local的可执行权限。

chmod +x /etc/rc.d/rc.local

3)重启服务器。

3. 修改软件指向文件

使用ifconfig命令查看本机(虚拟机)的IP地址。
在这里插入图片描述
修改软件指向文件

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

在这里插入图片描述

4. IP地址访问软件仓库

打开虚拟机的浏览器,键入自己的地址:httpd://192.168.1.26/westos 。
在这里插入图片描述
在这里插入图片描述

第三方软件仓库搭建

当我需要和小伙伴共享我第三方下载的安装包时- - -坏笑,方法如下,主要参考我的小伙伴写的,要与大佬肩并肩,小伙伴博客 zhy1372431588

  1. 建立共享目录
    在这里插入图片描述

/var/www/html/software 中只能存在rpm类型的文件,压缩包是不能使用dnf管理的

  1. 将第三方软件存放到/var/www/html/software下
    在这里插入图片描述
  2. 采用第三方软件生成repodate目录
    安装采集工具:createrepo dnf install -y createrepo
    在这里插入图片描述

进入到共享目录:cd /var/www/html/software
通过createrepo进行扫描软件,然后生成repodate数据目录。
在这里插入图片描述

注意:如果不扫面,新添加的软件是不会显示的。在/sofrware目录下createrepo .

这里的repodate相当于是各个软件的索引文件。

指定第三方共享源,文件指定位置,/etc/yum.repos.d/haha.repo(haha可以自己起名)
在这里插入图片描述

  1. 通过浏览器访问第三方软件库。(虚拟机的浏览器)

在这里插入图片描述

注意:如果你的软件包是mv移动过去的,需要执行一步setenforce 0,不然在网页不显示你拥有的软件。

七、配置阿里云仓库

在阿里云开发者→镜像站,找一个镜像,复制最下面的下载网址。比如https://mirrors.aliyun.com/epel/8/Everything/x86_64/
然后添加仓库 vim /etc/yum.repos.d/westos.repo
需要开启httpd服务
在这里插入图片描述
这样就可以在阿里云镜像里下载你所需要的软件了,就是我们常说的换源,换阿里源,百度源,163源,网易源。。。

总结

主要学习了rpm dnf两个命令。
搭建本地仓库,网络仓库,第三方网络仓库以及配置阿里云仓库,最最最主要的就是修改添加指向文件 vim /etc/yum.repo.d/xxx.repo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值