软件管理操作
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为后缀的可以直接安装使用
“rhel8中只能使用绿色软件、源码编译软件、rpm软件”
软件包的名称结构
- 1.软件名称
- 2.软件版本
- 3.软件的授权协议版本
- 4.软件架构
- 5.软件类型后缀
rpm命令管理软件包
命令:
- rpm
- -ivh ##安装参数组合 i install v verbose(安装过程0 -h hash(采用hash加密)
- -a ##显示所有安装的软件
- -f ##显示文件属于哪个安装包
- -e ##卸载软件
- -q ##查询软件是否安装
- -l ##软件安装文件列表
- -ql ##显示所有安装的文件
- -p ##软件包
- -c ##配置文件
- -qc ##显示所有安装的配置文件
- -d ##说明
- -Kv ##检测MD5校验码
- -V ##检测已安装软件在系统中的文件被修改信息
- 软件包 --script ##检测安装卸载时都做了什么动作
- 软件包 --nodeps ##安装时忽略依赖性
- 软件包 --force ##强制安装
- 软件包 --info ##显示软件的信息
本地软件仓库的搭建
##软件仓库的作用就是对软件进行管理,rpm命令是不能解决依赖关系的,如果需要软件在安装过程中自动解决依赖问题,需要我们系统安装软件仓库##
-
搭建方法:
1.在系统中加载安装系统时使用的安装镜像 2.编写软件仓库文件 /etc/yum.repos.d/ ##软件源指向文件配置目录 ##再此目录中不能有无法访问的源指向 vim /etc/yum.repos.d/xxx.repo ##软件仓库指向文件
3.测试
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 ##查看软件组命令
利用之前搭好的本地仓库进行试验:
dnf repollist
dnf search 关键字
dnf history
dnf group list –****
dnf clean all
网络仓库的搭建
-
搭建一个本地仓库
-
安装httpd服务,命令
dnf install http -y
,然后启动服务,
dnf enable --now httpd
,我这里已经安装了,所有看一下是否启动。
-
安装了httpd服务之后会自动生成一个/etc/var/www/html文件夹,可以在下面新建一个文件夹,作为共享文件夹。文件不放在共享文件夹下面,网址中访问不到!
-
将镜像挂载到共享目录下,并设置开机自动挂载(默认重启之后必须重新挂载),减少挂载的麻烦。
-
接着修改/etc/yum.repos.d/westos.repo文件(即软件仓库指向文件)
-
现在就可以通过相应网址来访问仓库,并且重启之后也可以直接访问。
第三方软件仓库的搭建(第三方软件在网络中共享)
-
建立共享目录
/var/www/html/software 中只能存在rpm类型的文件,压缩包是不能使用dnf管理的 -
将第三方软件存放到/var/www/html/software下
软件可以自己找几个,或者可以连接别人电脑搞几个。
-
采用第三方他软件生成repodate目录
安装采集工具:createrepo
dnf install createrepo -y
进入到共享目录:
cd /var/www/html/software
通过createrepo进行扫描软件,然后生成repodate数据目录,注意:如果不扫面,新添加的软件是不会显示的。在/sofrware目录下
createrepo .
这里的repodate相当于是各个软件的索引文件。 -
指定第三方共享源,文件指定位置,/etc/yum.repos.d/westos.repo(westos可以自己起名)
-
通过网络访问
注意:如果你的软件包是mv移动过去的,需要执行一步
setenforce 0
,不然在网页不显示你拥有的软件。
配置一个阿里云仓库
阿里云开发者,镜像站找一个镜像,最下面下载网址复制。比如https://mirrors.aliyun.com/epel/8/Everything/x86_64/
然后添加仓库
vim /etc/yum.repos.d/westos.repo
当然也需要开启httpd服务