You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

能否在非默认/etc/yum.repos.d路径创建并使用YUM仓库文件?

绝对可以!无需root权限也能使用自定义YUM仓库获取RPM包URL

完全不用纠结默认的/etc/yum.repos.d目录,YUM和yumdownloader工具都支持加载非默认路径的仓库配置文件,下面给你两种最实用的实现方式:

方式一:直接指定单个自定义repo文件

  1. 先在你有权限的目录(比如个人主目录)创建仓库文件目录和repo文件:

    mkdir -p ~/my-yum-repos
    vi ~/my-yum-repos/custom-epel.repo
    
  2. 在repo文件中写入仓库配置(以EPEL为例,你可以替换成自己需要的源):

    [epel-custom]
    name=Extra Packages for Enterprise Linux 7 - $basearch
    baseurl=https://mirrors.aliyun.com/epel/7/$basearch
    enabled=1
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-7
    

    提示:如果GPG密钥验证有问题,你可以把密钥下载到本地目录,然后修改gpgkey为本地路径(比如gpgkey=~/my-yum-keys/RPM-GPG-KEY-EPEL-7

  3. 使用yumdownloader加载这个repo文件并获取RPM URL:

    yumdownloader --repofile=~/my-yum-repos/custom-epel.repo --urls nginx
    

    加上--urls参数后,工具会直接输出对应包的下载链接,不会下载包本身。

方式二:通过自定义yum配置文件指定仓库目录

如果你有多个自定义repo文件,这种方式更方便:

  1. 创建自己的yum配置文件:

    vi ~/my-yum.conf
    
  2. 在配置文件中指定你的仓库目录路径(记得替换成你的实际用户名):

    [main]
    cachedir=/home/your-username/my-yum-cache
    reposdir=/home/your-username/my-yum-repos
    keepcache=0
    debuglevel=2
    logfile=/var/log/yum.log
    exactarch=1
    obsoletes=1
    gpgcheck=1
    plugins=1
    installonly_limit=5
    distroverpkg=centos-release
    

    说明:cachedir设为你有权限的目录,用来存放yum缓存文件,避免权限问题。

  3. 把所有自定义repo文件放到~/my-yum-repos目录下,然后运行:

    yumdownloader -c ~/my-yum.conf --urls nginx
    

额外技巧:直接在命令行临时添加仓库源

如果不想提前创建repo文件,还可以用--add-repo参数临时添加仓库:

yumdownloader --add-repo=https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm --urls nginx

这样就能完全绕开root权限限制,轻松获取到你需要的RPM包下载链接啦!

内容的提问来源于stack exchange,提问作者rgaduputi

火山引擎 最新活动