Linux912 shell:$# $1 $?;RHEL 8 AppStream BaseOS
问题
$#
[caozx26@66 ~]$ cat ping1.sh
ping -c1 $ip:"$#"[caozx26@66 ~]$ chmod +x ping1.sh
[caozx26@66 ~]$ ./ping1.sh 192.168.235.2
ping: :1: 未知的名称或服务
[caozx26@66 ~]$
[caozx26@66 ~]$ vim ping1.sh
[caozx26@66 ~]$ cat ping1.sh
ping -c1 ip:"$#"[caozx26@66 ~]$ ./ping1.sh 192.168.235.3
ping: ip:1: 未知的名称或服务
[caozx26@66 ~]$
[caozx26@66 ~]$ vim ping1.sh
[caozx26@66 ~]$ cat ping1.sh
ping -c1 ip:"$1"
echo "$1"
[caozx26@66 ~]$ ./ping1.sh 192.168.235.10
ping: ip:192.168.235.10: 未知的名称或服务
192.168.235.10
[caozx26@66 ~]$
[caozx26@66 ~]$ cat ping1.sh
ping -c1 $1
if ["$?" -eq 0];thenecho "$ip can be c"
elseecho "$ip can not be c"
fi
[caozx26@66 ~]$ ./ping1.sh 192.168.235.12
PING 192.168.235.12 (192.168.235.12) 56(84) bytes of data.
From 192.168.235.133 icmp_seq=1 Destination Host Unreachable--- 192.168.235.12 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms./ping1.sh:行2: [1: 未找到命令can not be c
进程
用户是否存在
id user
rhel-8 yum 仓库
[root@66 yum.repos.d]# yum clean all
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.
0 文件已删除
[root@66 yum.repos.d]# yum makecache
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.
BaseOS 0.0 B/s | 0 B 00:00
Errors during downloading metadata for repository 'BaseOS':- Curl error (37): Couldn't read a file:// file for file:///mnt/repodata/repomd.xml [Couldn't open file /mnt/repodata/repomd.xml]
错误:Failed to download metadata for repo 'BaseOS': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
[root@66 yum.repos.d]#
shell
ping -c1 “$1”
[caozx26@66 ~]$ cat ping1.sh
ping -c1 $1
if [ "$?" -eq 0 ];thenecho "$ip can be c"
elseecho "$ip can not be c"
fi
[caozx26@66 ~]$ ./ping1.sh 192.168.235.12
PING 192.168.235.12 (192.168.235.12) 56(84) bytes of data.From 192.168.235.133 icmp_seq=1 Destination Host Unreachable--- 192.168.235.12 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0mscan not be c
ps -ef |grep $1
[caozx26@66 ~]$ cat run.sh
ps -ef |grep "$1"
if [ $? -eq 0 ];thenecho "process exists"
elseecho "process is not existed"
fi
[caozx26@66 ~]$ chmod +x run.sh
[caozx26@66 ~]$ ./run.sh http
caozx26 11229 11227 0 21:53 pts/1 00:00:00 grep http
process exists
[caozx26@66 ~]$ ./run.sh samba
caozx26 11247 11245 0 21:54 pts/1 00:00:00 grep samba
process exists
id $1
[caozx26@66 ~]$ cat userex.sh
id $1
if [ $? -eq 0 ];thenecho "u is existed"
elseecho "u is not existed"
fi[caozx26@66 ~]$ chmod +x userex.sh
[caozx26@66 ~]$ ./userex.sh caozx26
uid=1000(caozx26) gid=1000(caozx26) 组=1000(caozx26),10(wheel)
u is existed
[caozx26@66 ~]$ ./userex.sh xiao
id: “xiao”:无此用户
u is not existed
$? -eq 0
[caozx26@66 ~]$ cat vsftpd.sh
rpm -ql vsftpd
if [ $? -eq 0 ];thenecho "vsftpd has existed"
elseyum install vsftpd -yrpm -ql vsftpd
fi
[caozx26@66 ~]$ ./vsftpd.sh
未安装软件包 vsftpd
2025-09-12 22:59:32,161 [ERROR] yum:12309:MainThread @logutil.py:194 - [Errno 13] 权限不够: '/var/log/rhsm/rhsm.log' - Further logging output will be written to stderr
Not root, Subscription Management repositories not updated
错误:该命令必须以 root 用户运行
未安装软件包 vsftpd
[caozx26@66 ~]$ su - root
密码:
[root@66 ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg
[root@66 ~]# cd /home/caozx26/
[root@66 caozx26]# ./vsftpd.sh
未安装软件包 vsftpd
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.
上次元数据过期检查:0:03:34 前,执行于 2025年09月12日 星期五 22时56分30秒。
依赖关系解决。
=============================================================================================================================软件包 架构 版本 仓库 大小
=============================================================================================================================
安装:vsftpd x86_64 3.0.3-31.el8 AppStream 180 k事务概要
=============================================================================================================================
安装 1 软件包总计:180 k
安装大小:343 k
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务准备中 : 1/1 安装 : vsftpd-3.0.3-31.el8.x86_64 1/1 运行脚本: vsftpd-3.0.3-31.el8.x86_64 1/1 验证 : vsftpd-3.0.3-31.el8.x86_64 1/1
Installed products updated.已安装:vsftpd-3.0.3-31.el8.x86_64 完毕!
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/lib/.build-id
/usr/lib/.build-id/57
/usr/lib/.build-id/57/d7d036e856bebffdb05cfd274836828f9670e0
/usr/lib/systemd/system-generators/vsftpd-generator
/usr/lib/systemd/system/vsftpd.service
/usr/lib/systemd/system/vsftpd.target
/usr/lib/systemd/system/vsftpd@.service
/usr/sbin/vsftpd
/usr/share/doc/vsftpd
/usr/share/doc/vsftpd/AUDIT
/usr/share/doc/vsftpd/BENCHMARKS
/usr/share/doc/vsftpd/BUGS
/usr/share/doc/vsftpd/COPYING
/usr/share/doc/vsftpd/Changelog
/usr/share/doc/vsftpd/EXAMPLE
/usr/share/doc/vsftpd/EXAMPLE/INTERNET_SITE
/usr/share/doc/vsftpd/EXAMPLE/INTERNET_SITE/README
/usr/share/doc/vsftpd/EXAMPLE/INTERNET_SITE/vsftpd.conf
/usr/share/doc/vsftpd/EXAMPLE/INTERNET_SITE/vsftpd.xinetd
/usr/share/doc/vsftpd/EXAMPLE/INTERNET_SITE_NOINETD
/usr/share/doc/vsftpd/EXAMPLE/INTERNET_SITE_NOINETD/README
/usr/share/doc/vsftpd/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf
/usr/share/doc/vsftpd/EXAMPLE/PER_IP_CONFIG
/usr/share/doc/vsftpd/EXAMPLE/PER_IP_CONFIG/README
/usr/share/doc/vsftpd/EXAMPLE/PER_IP_CONFIG/hosts.allow
/usr/share/doc/vsftpd/EXAMPLE/README
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_HOSTS
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_HOSTS/README
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/README
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/logins.txt
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/vsftpd.conf
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/vsftpd.pam
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS_2
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS_2/README
/usr/share/doc/vsftpd/FAQ
/usr/share/doc/vsftpd/INSTALL
/usr/share/doc/vsftpd/LICENSE
/usr/share/doc/vsftpd/README
/usr/share/doc/vsftpd/README.security
/usr/share/doc/vsftpd/REWARD
/usr/share/doc/vsftpd/SECURITY
/usr/share/doc/vsftpd/SECURITY/DESIGN
/usr/share/doc/vsftpd/SECURITY/IMPLEMENTATION
/usr/share/doc/vsftpd/SECURITY/OVERVIEW
/usr/share/doc/vsftpd/SECURITY/TRUST
/usr/share/doc/vsftpd/SIZE
/usr/share/doc/vsftpd/SPEED
/usr/share/doc/vsftpd/TODO
/usr/share/doc/vsftpd/TUNING
/usr/share/doc/vsftpd/vsftpd.xinetd
/usr/share/man/man5/vsftpd.conf.5.gz
/usr/share/man/man8/vsftpd.8.gz
/var/ftp
/var/ftp/pub
RHEL8
yum
/mnt/AppStream
/mnt/BaseOS
[root@66 yum.repos.d]# cat local.repo
[BaseOS]
name=BaseOS
baseurl=file:///mnt
gpgcheck=0
enabeld=1
[AppStream]
name=AppStream
baseurl=file:///mnt
gpgcheck=0
enabled=1
[root@66 yum.repos.d]# yum clean all
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.
0 文件已删除
[root@66 yum.repos.d]# yum makecache
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.
BaseOS 0.0 B/s | 0 B 00:00
Errors during downloading metadata for repository 'BaseOS':- Curl error (37): Couldn't read a file:// file for file:///mnt/repodata/repomd.xml [Couldn't open file /mnt/repodata/repomd.xml]
错误:Failed to download metadata for repo 'BaseOS': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
[root@66 yum.repos.d]# vim local.repo
[root@66 yum.repos.d]# cat local.repo
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
enabeld=1
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
enabled=1
[root@66 yum.repos.d]# ls
local.repo redhat.repo repo.tar.gz
[root@66 yum.repos.d]# cat redhat.repo
#
# Certificate-Based Repositories
# Managed by (rhsm) subscription-manager
#
# *** This file is auto-generated. Changes made here will be over-written. ***
# *** Use "subscription-manager repo-override --help" if you wish to make changes. ***
#
# If this file is empty and this system is subscribed consider
# a "yum repolist" to refresh available repos
#
[root@66 yum.repos.d]# rm -rf redhat.repo
[root@66 yum.repos.d]# ls
local.repo repo.tar.gz
[root@66 yum.repos.d]# yum clean all
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.
0 文件已删除
[root@66 yum.repos.d]# yum makecache
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.
BaseOS 62 MB/s | 2.3 MB 00:00
AppStream 43 MB/s | 5.8 MB 00:00
元数据缓存已建立。
[root@66 yum.repos.d]# yum 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 AppStream
BaseOS BaseOS
记录
[caozx26@66 ~]$ date
2025年 09月 12日 星期五 20:07:58 CST
[caozx26@66 ~]$ while IFS= read event;do
> echo ^C
[caozx26@66 ~]$ ^C
[caozx26@66 ~]$ while IFS= read line;do
> echo $line
> done <1.txt
bash: 1.txt: 没有那个文件或目录
[caozx26@66 ~]$ ls
1.sh 2.sh 3.sh 公共 模板 视频 图片 文档 下载 音乐 桌面 sum.sh
[caozx26@66 ~]$ while IFS= read line;do
> echo $line
> done <1.sh
for((x=1;x<6;x++));do
for((y=1;y<=x;y++));do
echo -n $y
done
echo
done[caozx26@66 ~]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:96:c7:74 brd ff:ff:ff:ff:ff:ffinet 192.168.235.133/24 brd 192.168.235.255 scope global dynamic noprefixroute ens160valid_lft 1022sec preferred_lft 1022secinet6 fe80::c388:ab5a:50c5:5f9c/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:24:0c:08 brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000link/ether 52:54:00:24:0c:08 brd ff:ff:ff:ff:ff:ff
[caozx26@66 ~]$ vim ping.sh
[caozx26@66 ~]$ cat ping.sh
read -p "ip: " ip
ping -c1 $ip
if [ "$?" -eq 0 ];thenecho "$ip can be connected"
elseecho "$ip can not be connected"
fi
[caozx26@66 ~]$ chmod +x ping.sh
[caozx26@66 ~]$ ./ping.sh
ip: 192.168.235.3
PING 192.168.235.3 (192.168.235.3) 56(84) bytes of data.
From 192.168.235.133 icmp_seq=1 Destination Host Unreachable--- 192.168.235.3 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms192.168.235.3 can not be connected
[caozx26@66 ~]$ vim ping.sh
[caozx26@66 ~]$ cat ping.sh
read -p "ip: " ipping -c1 $ip
if [ "$?" -eq 0 ];thenecho "$ip can be connected"
elseecho "$ip can not be connected"
fi
[caozx26@66 ~]$ vim ping1.sh
[caozx26@66 ~]$ cat ping1.sh
ping -c1 $ip:"$#"[caozx26@66 ~]$ chmod +x ping1.sh
[caozx26@66 ~]$ ./ping1.sh 192.168.235.2
ping: :1: 未知的名称或服务
[caozx26@66 ~]$ vim ping1.sh
[caozx26@66 ~]$ cat ping1.sh
ping -c1 ip:"$#"[caozx26@66 ~]$ ./ping1.sh 192.168.235.3
ping: ip:1: 未知的名称或服务
[caozx26@66 ~]$ vim ping1.sh
[caozx26@66 ~]$ cat ping1.sh
ping -c1 ip:"$1"[caozx26@66 ~]$ vim ping1.sh
[caozx26@66 ~]$ cat ping1.sh
ping -c1 ip:"$1"
echo "$1"
[caozx26@66 ~]$ ./ping1.sh 192.168.235.10
ping: ip:192.168.235.10: 未知的名称或服务
192.168.235.10
[caozx26@66 ~]$ vim ping1.sh
[caozx26@66 ~]$ cat ping1.sh
ip="$1"
ping -c1 $ip
echo "$1"
[caozx26@66 ~]$ ./ping1.sh
Usage: ping [-aAbBdDfhLnOqrRUvV64] [-c count] [-i interval] [-I interface][-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos][-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option][-w deadline] [-W timeout] [hop1 ...] destination
Usage: ping -6 [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface][-l preload] [-m mark] [-M pmtudisc_option][-N nodeinfo_option] [-p pattern] [-Q tclass] [-s packetsize][-S sndbuf] [-t ttl] [-T timestamp_option] [-w deadline][-W timeout] destination[caozx26@66 ~]$ ./ping.sh 192.168.235.12
ip: 192.168.235.12
PING 192.168.235.12 (192.168.235.12) 56(84) bytes of data.
From 192.168.235.133 icmp_seq=1 Destination Host Unreachable--- 192.168.235.12 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms192.168.235.12 can not be connected
[caozx26@66 ~]$ ./ping1.sh 192.168.235.12
PING 192.168.235.12 (192.168.235.12) 56(84) bytes of data.
From 192.168.235.133 icmp_seq=1 Destination Host Unreachable--- 192.168.235.12 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms192.168.235.12
[caozx26@66 ~]$ vim ping1.sh
[caozx26@66 ~]$ vim ping1.sh
[caozx26@66 ~]$ cat ping1.sh
ping -c1 $1
if ["$?" -eq 0];thenecho "$ip can be c"
elseecho "$ip can not be c"
fi
[caozx26@66 ~]$ ./ping1.sh 192.168.235.12
PING 192.168.235.12 (192.168.235.12) 56(84) bytes of data.
From 192.168.235.133 icmp_seq=1 Destination Host Unreachable--- 192.168.235.12 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms./ping1.sh:行2: [1: 未找到命令can not be c
[caozx26@66 ~]$ vim ping1.sh
[caozx26@66 ~]$ cat ping1.sh
ping -c1 $1
if [ "$?" -eq 0 ];thenecho "$ip can be c"
elseecho "$ip can not be c"
fi
[caozx26@66 ~]$ ./ping1.sh 192.168.235.12
PING 192.168.235.12 (192.168.235.12) 56(84) bytes of data.From 192.168.235.133 icmp_seq=1 Destination Host Unreachable--- 192.168.235.12 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0mscan not be c
[caozx26@66 ~]$
[caozx26@66 ~]$ ps -ef http
error: TTY could not be foundUsage:ps [options]Try 'ps --help <simple|list|output|threads|misc|all>'or 'ps --help <s|l|o|t|m|a>'for additional help text.For more details see ps(1).
[caozx26@66 ~]$ ps -ef |grep http
caozx26 11096 9398 0 21:48 pts/1 00:00:00 grep --color=auto http
[caozx26@66 ~]$ vim run.sh
[caozx26@66 ~]$ cat run.sh
ps -ef |grep "$1"
if [ $? -eq 0 ];thenecho "process exists"
elseecho "process is not existed"
fi
[caozx26@66 ~]$ chmod +x run.sh
[caozx26@66 ~]$ ./run.sh http
caozx26 11229 11227 0 21:53 pts/1 00:00:00 grep http
process exists
[caozx26@66 ~]$ ./run.sh samba
caozx26 11247 11245 0 21:54 pts/1 00:00:00 grep samba
process exists
[caozx26@66 ~]$ vim userex.sh
[caozx26@66 ~]$ cat userex.sh
id $1
if [ $? -eq 0 ];thenecho "u is existed"
elseecho "u is not existed"
fi[caozx26@66 ~]$ chmod +x userex.sh
[caozx26@66 ~]$ ./userex.sh caozx26
uid=1000(caozx26) gid=1000(caozx26) 组=1000(caozx26),10(wheel)
u is existed
[caozx26@66 ~]$ ./userex.sh xiao
id: “xiao”:无此用户
u is not existed
[caozx26@66 ~]$ vim vsftpde.sh
[caozx26@66 ~]$ rpm -ql vsftpd
未安装软件包 vsftpd
[caozx26@66 ~]$ vim vsftpd.sh
[caozx26@66 ~]$ cat vsftpd.sh
rpm -ql vsftpd
if [ $? -eq 0 ];thenecho "vsftpd has existed"
elseyum install vsftpd -yrpm -ql vsftpd
fi
[caozx26@66 ~]$ chmod +x vsftpd.sh
[caozx26@66 ~]$ ./vsftpd.sh
未安装软件包 vsftpd
2025-09-12 22:14:19,581 [ERROR] yum:11641:MainThread @logutil.py:194 - [Errno 13] 权限不够: '/var/log/rhsm/rhsm.log' - Further logging output will be written to stderr
Not root, Subscription Management repositories not updated
错误:在"/etc/yum.repos.d", "/etc/yum/repos.d", "/etc/distro.repos.d"中没有被启用的仓库
未安装软件包 vsftpd
[caozx26@66 ~]$ cd /etc/yum.repos.d\
> ^C
[caozx26@66 ~]$ cd /etc/yum.repos.d
[caozx26@66 yum.repos.d]$ ls
redhat.repo
[caozx26@66 yum.repos.d]$ tar -zcf repo.tar.gz *.repo
tar (child): repo.tar.gz:无法 open: 权限不够
tar (child): Error is not recoverable: exiting now
tar: repo.tar.gz:无法 write: 断开的管道
tar: Child returned status 2
tar: Error is not recoverable: exiting now
[caozx26@66 yum.repos.d]$ su -
密码:
[root@66 ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg
[root@66 ~]# cd /etc/yum.repos.d
[root@66 yum.repos.d]# tar -zcf repo.tar.gz *.repo
[root@66 yum.repos.d]# ls
redhat.repo repo.tar.gz
[root@66 yum.repos.d]# rm -f redhat.repo
[root@66 yum.repos.d]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 7.9G 0 rom /run/media/caozx26/RHEL-8-2-0-BaseOS-x86_64
nvme0n1 259:0 0 20G 0 disk
├─nvme0n1p1 259:1 0 476M 0 part /boot
├─nvme0n1p2 259:2 0 476M 0 part /boot/efi
└─nvme0n1p3 259:3 0 15.9G 0 part ├─rhel-root 253:0 0 14G 0 lvm /└─rhel-swap 253:1 0 1.9G 0 lvm [SWAP]
[root@66 yum.repos.d]# cat /mnt
cat: /mnt: 是一个目录
[root@66 yum.repos.d]# ls /mnt
hgfs
[root@66 yum.repos.d]# rm /mnt/*
rm: 无法删除'/mnt/hgfs': 是一个目录
[root@66 yum.repos.d]# rm -f /mnt/*
rm: 无法删除'/mnt/hgfs': 是一个目录
[root@66 yum.repos.d]# rm -rf /mnt/*
[root@66 yum.repos.d]# mount -o ro /dev/sr0 /mnt
[root@66 yum.repos.d]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 7.9G 0 rom /mnt
nvme0n1 259:0 0 20G 0 disk
├─nvme0n1p1 259:1 0 476M 0 part /boot
├─nvme0n1p2 259:2 0 476M 0 part /boot/efi
└─nvme0n1p3 259:3 0 15.9G 0 part ├─rhel-root 253:0 0 14G 0 lvm /└─rhel-swap 253:1 0 1.9G 0 lvm [SWAP]
[root@66 yum.repos.d]# chmod +x /etc/rc.local
[root@66 yum.repos.d]# echo "mount -o ro /dev/sr0 /mnt">>/etc/rc.local
[root@66 yum.repos.d]# vim local.repo
[root@66 yum.repos.d]# cat local.repo
[BaseOS]
name=BaseOS
baseurl=file:///mnt
gpgcheck=0
enabeld=1
[AppStream]
name=AppStream
baseurl=file:///mnt
gpgcheck=0
enabled=1
[root@66 yum.repos.d]# yum clean all
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.
0 文件已删除
[root@66 yum.repos.d]# yum makecache
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.
BaseOS 0.0 B/s | 0 B 00:00
Errors during downloading metadata for repository 'BaseOS':- Curl error (37): Couldn't read a file:// file for file:///mnt/repodata/repomd.xml [Couldn't open file /mnt/repodata/repomd.xml]
错误:Failed to download metadata for repo 'BaseOS': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
[root@66 yum.repos.d]# vim local.repo
[root@66 yum.repos.d]# cat local.repo
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
enabeld=1
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
enabled=1
[root@66 yum.repos.d]# ls
local.repo redhat.repo repo.tar.gz
[root@66 yum.repos.d]# cat redhat.repo
#
# Certificate-Based Repositories
# Managed by (rhsm) subscription-manager
#
# *** This file is auto-generated. Changes made here will be over-written. ***
# *** Use "subscription-manager repo-override --help" if you wish to make changes. ***
#
# If this file is empty and this system is subscribed consider
# a "yum repolist" to refresh available repos
#
[root@66 yum.repos.d]# rm -rf redhat.repo
[root@66 yum.repos.d]# ls
local.repo repo.tar.gz
[root@66 yum.repos.d]# yum clean all
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.
0 文件已删除
[root@66 yum.repos.d]# yum makecache
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.
BaseOS 62 MB/s | 2.3 MB 00:00
AppStream 43 MB/s | 5.8 MB 00:00
元数据缓存已建立。
[root@66 yum.repos.d]# yum 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 AppStream
BaseOS BaseOS
[root@66 yum.repos.d]# cd /
[root@66 /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@66 /]# cd ~
[root@66 ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg
[root@66 ~]# exit
注销
[caozx26@66 yum.repos.d]$ ls
local.repo redhat.repo repo.tar.gz
[caozx26@66 yum.repos.d]$ cd ~
[caozx26@66 ~]$ ls
1.sh 3.sh 模板 图片 下载 桌面 ping.sh sum.sh vsftpde.sh
2.sh 公共 视频 文档 音乐 ping1.sh run.sh userex.sh vsftpd.sh
[caozx26@66 ~]$ cat vsftpd.sh
rpm -ql vsftpd
if [ $? -eq 0 ];thenecho "vsftpd has existed"
elseyum install vsftpd -yrpm -ql vsftpd
fi
[caozx26@66 ~]$ ./vsftpd.sh
未安装软件包 vsftpd
2025-09-12 22:59:32,161 [ERROR] yum:12309:MainThread @logutil.py:194 - [Errno 13] 权限不够: '/var/log/rhsm/rhsm.log' - Further logging output will be written to stderr
Not root, Subscription Management repositories not updated
错误:该命令必须以 root 用户运行
未安装软件包 vsftpd
[caozx26@66 ~]$ su - root
密码:
[root@66 ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg
[root@66 ~]# cd /home/caozx26/
[root@66 caozx26]# ./vsftpd.sh
未安装软件包 vsftpd
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.
上次元数据过期检查:0:03:34 前,执行于 2025年09月12日 星期五 22时56分30秒。
依赖关系解决。
=============================================================================================================================软件包 架构 版本 仓库 大小
=============================================================================================================================
安装:vsftpd x86_64 3.0.3-31.el8 AppStream 180 k事务概要
=============================================================================================================================
安装 1 软件包总计:180 k
安装大小:343 k
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务准备中 : 1/1 安装 : vsftpd-3.0.3-31.el8.x86_64 1/1 运行脚本: vsftpd-3.0.3-31.el8.x86_64 1/1 验证 : vsftpd-3.0.3-31.el8.x86_64 1/1
Installed products updated.已安装:vsftpd-3.0.3-31.el8.x86_64 完毕!
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/lib/.build-id
/usr/lib/.build-id/57
/usr/lib/.build-id/57/d7d036e856bebffdb05cfd274836828f9670e0
/usr/lib/systemd/system-generators/vsftpd-generator
/usr/lib/systemd/system/vsftpd.service
/usr/lib/systemd/system/vsftpd.target
/usr/lib/systemd/system/vsftpd@.service
/usr/sbin/vsftpd
/usr/share/doc/vsftpd
/usr/share/doc/vsftpd/AUDIT
/usr/share/doc/vsftpd/BENCHMARKS
/usr/share/doc/vsftpd/BUGS
/usr/share/doc/vsftpd/COPYING
/usr/share/doc/vsftpd/Changelog
/usr/share/doc/vsftpd/EXAMPLE
/usr/share/doc/vsftpd/EXAMPLE/INTERNET_SITE
/usr/share/doc/vsftpd/EXAMPLE/INTERNET_SITE/README
/usr/share/doc/vsftpd/EXAMPLE/INTERNET_SITE/vsftpd.conf
/usr/share/doc/vsftpd/EXAMPLE/INTERNET_SITE/vsftpd.xinetd
/usr/share/doc/vsftpd/EXAMPLE/INTERNET_SITE_NOINETD
/usr/share/doc/vsftpd/EXAMPLE/INTERNET_SITE_NOINETD/README
/usr/share/doc/vsftpd/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf
/usr/share/doc/vsftpd/EXAMPLE/PER_IP_CONFIG
/usr/share/doc/vsftpd/EXAMPLE/PER_IP_CONFIG/README
/usr/share/doc/vsftpd/EXAMPLE/PER_IP_CONFIG/hosts.allow
/usr/share/doc/vsftpd/EXAMPLE/README
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_HOSTS
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_HOSTS/README
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/README
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/logins.txt
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/vsftpd.conf
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/vsftpd.pam
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS_2
/usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS_2/README
/usr/share/doc/vsftpd/FAQ
/usr/share/doc/vsftpd/INSTALL
/usr/share/doc/vsftpd/LICENSE
/usr/share/doc/vsftpd/README
/usr/share/doc/vsftpd/README.security
/usr/share/doc/vsftpd/REWARD
/usr/share/doc/vsftpd/SECURITY
/usr/share/doc/vsftpd/SECURITY/DESIGN
/usr/share/doc/vsftpd/SECURITY/IMPLEMENTATION
/usr/share/doc/vsftpd/SECURITY/OVERVIEW
/usr/share/doc/vsftpd/SECURITY/TRUST
/usr/share/doc/vsftpd/SIZE
/usr/share/doc/vsftpd/SPEED
/usr/share/doc/vsftpd/TODO
/usr/share/doc/vsftpd/TUNING
/usr/share/doc/vsftpd/vsftpd.xinetd
/usr/share/man/man5/vsftpd.conf.5.gz
/usr/share/man/man8/vsftpd.8.gz
/var/ftp
/var/ftp/pub
[root@66 caozx26]#