RPM软件包管理 、 Yum软件包仓库
挂载光驱设备:
mount /dev/cdrom/ /mnt
ls /mnt
ls /mnt/Packages
RPM
redhat package manager
RPM包文件名特征
–软件名–版本信息–.操作系统.硬件架构.rpm
.el7 企业版linux 7系列
RPM包的一般安装位置
文件类别 | 默认安装位置 |
---|---|
普通执行程序 | /usr/bin/ /bin |
服务器程序、管理工具 | /usr/sbin/ /sbin/ |
配置文件 | /etc/ /etc/软件名/ |
日志文件 | /var/log/ /var/log/软件名 |
程序文档、man手册 | /usr/share/doc /usr/share/man |
选项
-a:查询所有套件;
-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;
-c:只列出组态配置文件,本参数需配合"-l"参数使用;
-d:只列出文本文件,本参数需配合"-l"参数使用;
-e<套件档>或--erase<套件档>:删除指定的套件;
-f<文件>+:查询拥有指定文件的套件;
-h或--hash:套件安装时列出标记;
-i:显示套件的相关信息;
-i<套件档>或--install<套件档>:安装指定的套件档;
-l:显示套件的文件列表;
-p<套件档>+:查询指定的RPM套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-R:显示套件的关联性信息;
-s:显示文件状态,本参数需配合"-l"参数使用;
-U<套件档>或--upgrade<套件档>:升级指定的套件档;
-v:显示指令执行过程;
-vv:详细显示指令执行过程,便于排错。
查询软件信息
rpm -qa 当前已安装的软件包
rpm -qa | wc -l 安装了多少个RPM包
rpm -q bash
rpm -q openssh
rpm -qa |grep vim
查询已安装的软件信息
rpm -qi bash # 查询已安装的软件信息
rpm -ql less # 安装清单
rpm -qf /etc/passwd # 查询这个软件是哪个rpm包安装的
which #查找并显示命令的绝对路径
which vim
/usr/bin/vim
rpm -qf /usr/bin/vim
[root@1 ~]# rpm -qf /usr/bin/vim
vim-enhanced-9.0.2092-16.oe2403.x86_64
rpm -qf 即使目标文件被删除,也可以查询 因为相关信息保存在数据库里
rpm -p 命令解析 查询此安装包
rpm -q vsftpd
未安装软件包 vsftpd
rpm -qpi /mnt/Packages/vsftpd-3.0.5-2.oe2403.x86_64.rpm #查询此安装包信息
rpm -qpl /mnt/Packages/vsftpd-3.0.5-2.oe2403.x86_64.rpm #查询此安装包的清单
rpm -qpil /mnt/Packages/vsftpd-3.0.5-2.oe2403.x86_64.rpm #查询此安装包的信息和安装清单
导入rpm包签名信息 rpm --inport /mnt/RPM-GPG-KEY-Centos-7
软件依赖关系
yellowdog updater modified
- 基于rpm包构建的软件更新机制
- 自动解决软件包依赖关系
- 所有软件包由集中的yum软件仓库提供
仓库配置:/etc/yum.repos.d/*.repo #记住
错误的文件会影响正确的文件
[haha] #仓库名称
name=miaoshuxinxi #描述
baseurl=file:///mnt #制定服务端
enabled=1 #启用
gpgcheck=0 #不检测签名信息
gpgkey=file:///mnt/RPM-GPG-KEY-openEuler
列出yum仓库信息 repository
yum reoplist
[root@1 yum.repos.d]# yum repolist
repo id repo name
haha miaoshuxinxi
yum list vsftpd 查看软件清单
yum安装软件
[root@1 yum.repos.d]# yum install httpd
Last metadata expiration check: 0:56:20 ago on 2025年06月01日 星期日 14时38分44秒.
Dependencies resolved. #依赖关系需解决 表示需要安装一下程序包
=============================================================================================================
Package Architecture Version Repository Size
=============================================================================================================
Installing:
httpd x86_64 2.4.58-3.oe2403 haha 1.3 M
Installing dependencies:
apr x86_64 1.7.4-2.oe2403 haha 110 k
apr-util x86_64 1.6.3-1.oe2403 haha 109 k
httpd-filesystem noarch 2.4.58-3.oe2403 haha 5.9 k
httpd-tools x86_64 2.4.58-3.oe2403 haha 68 k
mariadb-connector-c x86_64 3.3.8-1.oe2403 haha 185 k
mod_http2 x86_64 2.0.25-2.oe2403 haha 129 k
openEuler-logos-httpd noarch 1.0-9.oe2403 haha 6.5 k
Transaction Summary
=============================================================================================================
Install 8 Packages
Total size: 1.9 M
Installed size: 6.2 M
Is this ok [y/N]: ^COperation aborted.
练习
yum -y install httpd
yum -y install gcc
yum -y install sssd
yum -y install bind-chroot
卸载软件
yum remove gcc
yum remove httpd
查询软件包
yum list ftp
yum search ftpd
[root@1 yum.repos.d]# yum list httpd
Last metadata expiration check: 4:30:04 ago on 2025年06月01日 星期日 14时38分44秒.
Installed Packages #表示已安装的软件
httpd.x86_64 2.4.58-3.oe2403 @haha
[root@1 yum.repos.d]# yum list ftp
Last metadata expiration check: 4:30:45 ago on 2025年06月01日 星期日 14时38分44秒.
Available Packages #可安装包,表示未安装的软件包
ftp.x86_64 0.17-82.oe2403
yum search 模糊查询
[root@1 yum.repos.d]# yum search ftp
Last metadata expiration check: 4:34:36 ago on 2025年06月01日 星期日 14时38分44秒.
=============================================== Name & Summary Matched: ftp ===============================================
ftp.x86_64 : The standard UNIX FTP (File Transfer Protocol) client
lftp-help.noarch : Documents for lftp
python3-requests-ftp.noarch : python3 for requests-ftp
tftp.x86_64 : The client for the Trivial File Transfer Protocol (TFTP)
tftp-help.noarch : Documents for tftp
tftp-server.x86_64 : The server for the Trivial File Transfer Protocol (TFTP)
vsftpd.x86_64 : It is a secure FTP server for Unix-like systems
vsftpd-help.x86_64 : Help package for package vsftpd
==================================================== Name Matched: ftp ====================================================
ftp-help.noarch : Documents for autogen
lftp.x86_64 : A sophisticated file transfer program
================================================== Summary Matched: ftp ===================================================
wget.x86_64 : A package for retrieving files using HTTP, HTTPS, FTP and FTPS the most widely-used Internet protocols.
yum provides 仓库中哪个软件包、命令产生的该文件
[root@1 yum.repos.d]# yum provides nmcli
Last metadata expiration check: 5:51:16 ago on 2025年06月01日 星期日 14时38分44秒.
NetworkManager-1:1.44.2-2.oe2403.x86_64 : 4
Repo : haha
Matched from:
Filename : /usr/bin/nmcli
NetworkManager-1:1.44.2-3.oe2403.x86_64 : 4
Repo : @System
Matched from:
Filename : /usr/bin/nmcli
[root@1 yum.repos.d]# yum provides /usr/bin/hostname
Last metadata expiration check: 5:53:23 ago on 2025年06月01日 星期日 14时38分44秒.
hostname-3.23-1.oe2403.x86_64 : Utility to set/show the host name or domain name
Repo : @System
Matched from:
Filename : /usr/bin/hostname
hostname-3.23-1.oe2403.x86_64 : Utility to set/show the host name or domain name
Repo : haha
Matched from:
Filename : /usr/bin/hostname
[root@1 yum.repos.d]# yum provides /etc/passwd
Last metadata expiration check: 5:53:58 ago on 2025年06月01日 星期日 14时38分44秒.
setup-2.14.5-2.oe2403.noarch : A set of system configuration and setup files
Repo : @System
Matched from:
Filename : /etc/passwd
setup-2.14.5-2.oe2403.noarch : A set of system configuration and setup files
Repo : haha
Matched from:
Filename : /etc/passwd
which hostname
/usr/bin/hostname
rm -rf /usr/bin/hostname
yum provides /usr/bin/hostname
yum -y reinstall hostnems #重新安装
ls /usr/bin/hostname
hostname
清空yum缓存
yum clean all
获取命令帮助信息:
cat --help
man cat
!2 执行历史命令
!! 执行上一条历史命令
!ls
du 统计文件的占用空间
-s 统计每个参数所占用的空间
-h 提供易读容量单位 kb mb等
[root@1 mnt]# du -sh /root
88K /root
[root@1 mnt]# du -sh /etc
35M /etc
[root@1 mnt]# du -sh /mnt
4.1G /mnt
[root@1 mnt]# du -sh /
du: 无法访问 '/proc/9744/task/9744/fd/3': No such file or directory
du: 无法访问 '/proc/9744/task/9744/fdinfo/3': No such file or directory
du: 无法访问 '/proc/9744/fd/4': No such file or directory
du: 无法访问 '/proc/9744/fdinfo/4': No such file or directory
11G
date 查看、修改系统时间
[root@1 mnt]# date -s “2025-06-02 16:33:00”
2025年 06月 02日 星期一 16:33:00 CST
[root@localhost ~]# date +%Y #显示年
[root@localhost ~]# date +%m #显示月
[root@localhost ~]# date +%d #显示日期
[root@localhost ~]# date +%H #显示时
[root@localhost ~]# date +%M #显示分
[root@localhost ~]# date +%S #显示秒
[root@localhost ~]# date +%F #显示年-月-日
[root@localhost ~]# date +%R #显示时:分
[root@1 mnt]# date +%Y
2025
[root@1 mnt]# date +%m
06
[root@1 mnt]# date +%d
02
[root@1 mnt]# date +%H
16
[root@1 mnt]# date +%h
6月
[root@1 mnt]# date +%M
41
[root@1 mnt]# date +%S
06
[root@1 mnt]# date +%F
2025-06-02
[root@1 mnt]# date +%R
16:41
制作链接文件(制作快捷方式)
格式:ln -s /路径/源数据 /路径/快捷方式的名称 #软链接
[root@1 mnt]# ln -s /etc/sysconfig/network-scripts/ /net
[root@1 /]# ls -l /net 结尾不要有/ 有/的是查看目录里的信息
lrwxrwxrwx. 1 root root 31 6月 2日 16:49 /net -> /etc/sysconfig/network-scripts/
硬链接 只能指向文件,不是指向文件夹
ln /opt/a.txt /opt/c.txt
[root@1 opt]# df -i
文件系统 Inodes 已用I 可用I 已用I% 挂载点
/dev/mapper/openeuler-root 4014080 183987 3830093 5% /
devtmpfs 946446 440 946006 1% /dev
tmpfs 951071 2 951069 1% /dev/shm
tmpfs 1024 19 1005 2% /sys/fs/cgroup
tmpfs 819200 828 818372 1% /run
[root@1 opt]# ls -il /
总计 74
3801089 drwxr-xr-x. 2 root root 4096 5月19日 23:34 1234
3014657 dr-xr-xr-x. 2 root root 4096 2024年 7月31日 afs
655361 drwxr-xr-x. 4 root root 4096 5月19日 16:21 asd05
12 lrwxrwxrwx. 1 root root 7 2024年 7月31日 bin -> usr/bin
2 dr-xr-xr-x. 7 root root 4096 2月24日 18:59 boot
1 drwxr-xr-x. 18 root root 3240 6月 1日 18:53 dev
1703937 drwxr-xr-x. 111 root root 12288 6月 2日 15:52 etc
2 drwxr-xr-x. 7 root root 4096 5月19日 23:09 home
13 lrwxrwxrwx. 1 root root 7 2024年 7月31日 lib -> usr/lib
14 lrwxrwxrwx. 1 root root 9 2024年 7月31日 lib64 -> usr/lib64
11 drwx------. 2 root root 16384 2月24日 16:51 lost+found
3670017 drwxr-xr-x. 2 root root 4096 2024年 7月31日 media
1856 dr-xr-xr-x. 9 root root 2048 2024年 5月29日 mnt
16 lrwxrwxrwx. 1 root root 31 6月 2日 16:49 net -> /etc/sysconfig/network-scripts/
786433 drwxr-xr-x. 6 root root 4096 6月 2日 17:07 opt
1 dr-xr-xr-x. 266 root root 0 5月28日 10:25 proc
1835009 dr-xr-x---. 3 root root 4096 5月31日 23:59 root
1 drwxr-xr-x. 42 root root 1260 6月 1日 15:56 run
15 lrwxrwxrwx. 1 root root 8 2024年 7月31日 sbin -> usr/sbin
2228225 drwxr-xr-x. 2 root root 4096 2024年 7月31日 srv
1 dr-xr-xr-x. 13 root root 0 5月28日 10:25 sys
1 drwxrwxrwt. 9 root root 180 6月 2日 17:11 tmp
2097153 drwxr-xr-x. 12 root root 4096 2月24日 18:38 usr
2883585 drwxr-xr-x. 22 root root 4096 6月 1日 15:56 var
zip 归档工具,跨平台
-r 被归档的数据目录,必须加上-r
zip -r /yasuobao.zip /opt
uzip
-d 目的文件夹
unzip /sauobao.zip -d /opttttt
zip /root/home2.zip -r /home/
unzip /root/home1.zip -d /mybak/bak1
练习
find /mnt/Packages/ -name “vsftpd*” -exec cp {} /root ;
find /mnt/Packages/ -name “vsftpd*” -exec cp {} /home ;