CentOS cp 复制隐藏文件提示 cp: cannot stat ?.xxx*?. No such file or directory

执行的命令与错误信息:

# cp -a /etc/skel/* /home/postgres
cp: cannot stat ?.etc/skel/*?. No such file or directory


使用cp复制普通文件时,可以使用 * 号通配符,
而在复制隐藏文件时,需要使用.,英文半角的点;
例如:

sudo cp -a /etc/skel/. /home/postgres/
查看隐藏文件:

ls -a /etc/skel/

======================文档信息======================

版权声明:非商用自由转载-保持署名-注明出处

署名(BY) :testcs_dn(微wx笑)

文章出处:[无知人生,记录点滴](http://blog.csdn.NET/testcs_dn)

==============欢迎关注我的个人微信订阅号(微wx笑)==========

<think>我们正在解决一个具体错误:在执行备份命令出现`cp: cannot stat '/etc/yum.repos.d/CentOS-Base.repo': No such file or directory`。这个错误表明源文件`CentOS-Base.repo`不存在。这通常发生在某些CentOS版本(如CentOS 8)中,因为默认的仓库配置文件命名方式发生了变化。根据引用[3],CentOS 8的仓库配置文件可能是`CentOS-Linux-BaseOS.repo`等。 因此,解决方案应该是: 1. 确认当前系统版本和仓库配置文件的实际名称。 2. 根据实际情况调整备份和后续操作。 步骤: 1. 查看`/etc/yum.repos.d/`目录下存在的仓库配置文件。 2. 如果确实没有`CentOS-Base.repo`,则根据系统版本选择合适的清华源配置文件进行下载(可能需要下载多个文件)。 3. 或者,如果用户原本想备份的是某个特定的文件,但现在该文件不存在,则跳过备份直接下载新的配置文件也是安全的(如引用[1]所提示)。 具体操作如下: ### 解决步骤: #### 1. 确认系统版本和仓库配置文件 ```bash # 查看系统版本 cat /etc/redhat-release # 查看/etc/yum.repos.d/目录下的文件 ls /etc/yum.repos.d/ ``` #### 2. 根据系统版本处理 - **情况1:CentOS 7及以下版本** 通常存在`CentOS-Base.repo`。如果因为某些原因该文件被删除,我们可以直接下载新的清华源配置文件覆盖(即跳过备份步骤)。 - **情况2:CentOS 8及以上版本** 默认仓库配置文件为: - `CentOS-Linux-BaseOS.repo` - `CentOS-Linux-AppStream.repo` - `CentOS-Linux-Extras.repo` 此,我们需要备份并替换这些文件(或使用清华源提供的统一配置文件)。 #### 3. 针对错误的具体解决方法 由于错误提示文件不存在,我们可以跳过备份步骤,直接下载新的配置文件。但为了安全起见,建议先备份整个`/etc/yum.repos.d/`目录(如果目录存在的话): ```bash # 备份整个目录(如果目录存在) sudo cp -r /etc/yum.repos.d /etc/yum.repos.d.backup ``` 然后根据系统版本下载清华源配置文件: - **对于CentOS 7**: ```bash # 下载清华源配置文件并命名为CentOS-Base.repo sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tuna.tsinghua.edu.cn/repo/centos-repo-7.repo ``` - **对于CentOS 8**: 根据清华源文档,CentOS 8需要下载两个配置文件(或使用一个统一的配置包,但清华源提供了针对每个仓库的配置)。不过,清华源也提供了一个完整的配置包,我们可以按照如下操作: ```bash # 首先备份整个目录(已备份过可跳过) # 然后删除原有配置文件(可选,清华源建议先备份再删除) sudo rm -f /etc/yum.repos.d/*.repo # 下载清华源提供的CentOS 8仓库配置文件 sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tuna.tsinghua.edu.cn/repo/centos-repo-8.repo # 注意:清华源将CentOS 8的仓库配置合并到了一个文件,但实际CentOS 8需要多个仓库。所以更推荐使用以下方法: # 实际上,清华源的centos-repo-8.repo文件已经包含了BaseOS, AppStream, Extras等仓库的配置,因此下载一个文件即可。 ``` 但根据官方步骤,更推荐使用以下方式(来自清华源官网): ```bash # 对于CentOS 8,需要分别配置BaseOS和AppStream等,但清华源提供了一个完整的包,所以我们直接下载: sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tuna.tsinghua.edu.cn/repo/Centos-vault-8.5.2111.repo # 注意:由于CentOS 8已经停止维护,所以清华源使用了vault源。具体版本号可能需要调整,请参考清华源官方网站:https://mirrors.tuna.tsinghua.edu.cn/help/centos/ ``` 因此,更通用的做法是访问清华源官网获取最新配置命令。 #### 4. 清理缓存并更新 无论哪种方法,下载新配置文件后都需要执行: ```bash sudo yum clean all sudo yum makecache sudo yum update ``` ### 注意事项: 1. 如果系统版本是CentOS 8,由于其官方支持已结束,通常建议升级到CentOS Stream 8或更高版本。如果继续使用CentOS 8,需要配置vault源(如上述步骤中的vault源)。 2. 如果下载配置文件后仍然出现问题,可以尝试从备份中恢复(`/etc/yum.repos.d.backup`)或者检查清华源官网获取最新的配置指南[^1][^2][^3]。 ### 总结错误解决方法: - 出现`cp: cannot stat`错误是因为要复制文件不存在,我们可以跳过备份该文件,转而备份整个目录,然后直接下载新的配置文件。 - 根据系统版本选择正确的清华源配置文件。 §§相关问题§§ 1. 如何查看Linux系统的版本信息? 2. CentOS 8系统如何迁移到CentOS Stream? 3. 替换yum源后出现`Could not resolve host`错误怎么办? [^1]: 引用自错误提示的处理建议(跳过备份)。 [^2]: 阿里云源配置方法,类似清华源操作。 [^3]: CentOS 8的仓库文件命名变化。 </think>### 解决 `cp: cannot stat '/etc/yum.repos.d/CentOS-Base.repo'` 错误的方法 该错误表明系统缺少默认的仓库配置文件,通常发生在较新的CentOS版本(如CentOS 8+)中,因为其仓库配置结构已变更[^3]。以下是完整解决方案: #### 1. **确认系统版本(关键步骤)** ```bash cat /etc/redhat-release # 查看系统版本 ``` - 若输出含 `CentOS Linux release 8` 或更高版本,需采用特殊处理[^3] #### 2. **CentOS 7 及以下版本的解决方案** ```bash # 跳过备份直接下载清华源配置 sudo wget -O /etc/yum.repos.d/CentOS-Base.repo \ https://mirrors.tuna.tsinghua.edu.cn/repo/centos-repo-7.repo ``` #### 3. **CentOS 8+ 版本的解决方案** ```bash # 备份整个目录(防止配置丢失) sudo cp -r /etc/yum.repos.d /etc/yum.repos.d.backup # 删除旧配置文件(解决文件缺失问题) sudo rm -f /etc/yum.repos.d/*.repo # 下载专用配置(CentOS 8使用vault源) sudo wget -O /etc/yum.repos.d/CentOS-Base.repo \ https://mirrors.tuna.tsinghua.edu.cn/repo/Centos-vault-8.5.2111.repo ``` #### 4. **通用后续操作** ```bash # 重建缓存 sudo yum clean all sudo yum makecache # 验证源状态 yum repolist | grep tsinghua # 应显示清华源条目 ``` #### 关键说明: 1. **CentOS 8+ 特殊性** 新版本默认使用 `CentOS-Linux-*.repo` 分片配置[^3],需清除旧文件才能生效 2. **备份替代方案** 直接备份整个目录比备份单个文件更安全:`sudo cp -av /etc/yum.repos.d repobackup` 3. **网络问题处理** 若下载失败,尝试阿里镜像源替代: ```bash sudo wget -O /etc/yum.repos.d/CentOS-Base.repo \ http://mirrors.aliyun.com/repo/Centos-7.repo # [^2] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值