Seciton 1:参考视频
- RHEL8配置本地yum源仓库-安徽迪浮_哔哩哔哩_bilibili
Seciton 2:具体操作
🎯 第1步:查看光驱文件/dev/sr0是否已经挂载?此处已挂在
[lgk@localhost ~]$ df -h 🎯 第1步:查看光驱文件/dev/sr0是否已经挂载?此处已挂在
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 845M 0 845M 0% /dev
tmpfs 874M 0 874M 0% /dev/shm
tmpfs 874M 9.5M 865M 2% /run
tmpfs 874M 0 874M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 17G 6.7G 11G 40% /
/dev/nvme0n1p1 1014M 265M 750M 27% /boot
tmpfs 175M 24K 175M 1% /run/user/1000
/dev/sr0 12G 12G 0 100% /run/media/lgk/RHEL-8-8-0-BaseOS-x86_64🎯 第2步:切换root管理员,并在根目录中创建一个空白的文件夹/iso,随后将光驱挂载到磁盘
[lgk@localhost ~]$ su
密码:
[root@localhost lgk]# mkdir /iso
[root@localhost lgk]# mount /dev/sr0 /iso
mount: /iso: WARNING: device write-protected, mounted read-only.🎯 第3步:检查光驱/dev/sr0是否挂载到磁盘/iso
[root@localhost lgk]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 845M 0 845M 0% /dev
tmpfs 874M 0 874M 0% /dev/shm
tmpfs 874M 9.5M 865M 2% /run
tmpfs 874M 0 874M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 17G 6.7G 11G 40% /
/dev/nvme0n1p1 1014M 265M 750M 27% /boot
tmpfs 175M 28K 175M 1% /run/user/1000
/dev/sr0 12G 12G 0 100% /iso🎯 第4步:切换到磁盘目录/iso并检查
[root@localhost lgk]# cd /iso
[root@localhost iso]# 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🎯 第5步:在/etc/yum.repos.d/创建rhel8.repo 文件
[root@localhost iso]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
docker-ce.repo epel.repo epel-testing.repo redhat.repo.bak
epel-modular.repo epel-testing-modular.repo redhat.repo
[root@localhost yum.repos.d]# vim rhel8.repo
[root@localhost yum.repos.d]# cat rhel8.repo
[RHEL-BaseOS]
name=BaseOS
baseurl=file:///iso/BaseOS
gpgcheck=0
enabled=1[RHEL-AppStream]
name= AppStream
baseurl=file:///iso/AppStream
gpgcheck=0
enabled=1🎯 第6步:清空缓存
[root@localhost yum.repos.d]# yum clean all
正在更新 Subscription Management 软件仓库。
无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。Repository epel is listed more than once in the configuration
35 个文件已删除🎯 第7步:备份并删除其它repo文件,以用于测试
[root@localhost etc]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ls
docker-ce.repo epel.repo epel-testing.repo redhat.repo.bak
epel-modular.repo epel-testing-modular.repo redhat.repo rhel8.repo
[root@localhost yum.repos.d]# cd ..
[root@localhost etc]# cp -r yum.repos.d yum.repos.d.bak
[root@localhost etc]# cd yum.repos.d
[root@localhost yum.repos.d]# ls
docker-ce.repo epel.repo epel-testing.repo redhat.repo.bak
epel-modular.repo epel-testing-modular.repo redhat.repo rhel8.repo
[root@localhost yum.repos.d]# find . ! -name rhel8.repo -type f -exec rm {} +
[root@localhost yum.repos.d]# ls
rhel8.repo🎯 第8步:清空yum缓存,随后生成并存储yum的元数据缓存
[root@localhost yum.repos.d]# yum clean all
正在更新 Subscription Management 软件仓库。
无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。0 个文件已删除🎯 第9步:生成并存储yum的元数据缓存
[root@localhost yum.repos.d]# yum makecache
正在更新 Subscription Management 软件仓库。
无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。BaseOS 56 MB/s | 2.4 MB 00:00
AppStream 94 MB/s | 8.1 MB 00:00
元数据缓存已建立。
[root@localhost yum.repos.d]#
Seciton 3:命令介绍
在Linux系统中,特别是基于RPM的发行版如CentOS、Fedora或RHEL中,yum
(Yellowdog Updater Modified)是一个常用的包管理器。它帮助用户安装、更新、删除和管理软件包。下面是对yum clean all
和yum makecache
命令的解释:
-
yum clean all
:- 这个命令用于清除
yum
的缓存。yum
缓存包括下载的软件包和在本地机器上创建的存储库元数据。 - 当你执行
yum clean all
时,它会删除所有缓存的软件包和元数据。这可以帮助释放磁盘空间,并在有时遇到问题时重置yum
的状态。 - 清除缓存后,如果再次使用
yum
安装或更新软件包,它将从互联网下载新的软件包和元数据。
- 这个命令用于清除
-
yum makecache
:- 这个命令用于生成并存储yum的元数据缓存。
- 当你执行
yum makecache
时,yum
会下载所有配置的存储库的元数据,并将其保存在本地。这有助于加速将来的软件包安装和更新过程,因为yum
可以快速访问本地的存储库信息。 - 这个命令在添加新的存储库或者在某些情况下更新系统后特别有用,以确保
yum
具有最新的存储库数据。
总之,yum clean all
用于清理缓存,帮助解决某些问题并释放空间;而yum makecache
用于创建缓存,以加速将来的包管理操作。在某些情况下,如遇到缓存相关的问题或更新了存储库,可能需要依次执行这两个命令。
···
删除指定文件之外的所有文件
:
要在Linux中删除指定文件之外的所有文件,可以使用 find
命令结合 -not
选项来查找和删除不需要的文件,然后使用 rm
命令删除它们。以下是一个示例命令:
find /path/to/directory ! -name "指定文件名" -type f -exec rm {} +
解释一下这个命令:
-
find /path/to/directory
:这是查找命令的起始点,你需要将/path/to/directory
替换为你要操作的目录路径。 -
! -name "指定文件名"
:这是find
命令的-name
选项的否定形式。它表示排除名称为 “指定文件名” 的文件。你需要将 “指定文件名” 替换为你要保留的文件的名称。 -
-type f
:这个选项限制find
命令只查找普通文件(不包括目录等其他类型的文件)。 -
-exec rm {} +
:这部分会将find
命令找到的文件传递给rm
命令来删除。{}
是一个占位符,表示每个匹配的文件。+
表示在一次执行中删除尽可能多的文件,以提高效率。
请注意,使用这个命令可能会不可逆地删除文件,因此请谨慎使用,并确保在操作之前备份重要数据。确保替换 /path/to/directory
和 “指定文件名” 以匹配你的实际目录和文件名。