错误:文件包含解析错误:file://///etc/yum.repos.d/dag.repo

cea*_*cea 2 ffmpeg repository

我读到您必须小心存储库文件以确保添加第三方文件的安全性。

无论如何,我只是一直在尝试安装ffmpeg,但我被卡住了,因为 yum 不喜欢它从 repo 文件中读取的内容,而且由于我对这些文件的作用没有真正的了解,所以我无法理解它的逻辑意义.

起初我关注了 Linux 博客,它建议在其中创建一个 repo 文件/etc/yum.repos.d/并命名它ffmpeg.repo并在其中放置以下脚本:

[ffmpeg]
   name=FFmpeg RPM Repository for Red Hat Enterprise Linux
   baseurl=http://apt.sw.be/redhat/el6/en/x86_64/dag/  (64 Bit OS)
   #baseurl=http://apt.sw.be/redhat/el6/en/i386/dag/   (32 Bit OS)
   gpgcheck=1
   enabled=1
Run Code Online (Sandbox Code Playgroud)

我无法开始工作,因此返回文件并删除开头的空格,这至少使 yum 能够输出错误。

然后我尝试重命名ffmpeg.repodag.repo并添加以下内容:

[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el6/en/x86_64/dag/
gpgcheck=1
gpgkey=http://apt.sw.be/RPM-GPG-KEY.dag.txt
enabled=1
includepkgs=ffmpeg ffmpeg-* faac a52dec x264 opencore-amr lame librtmp    schroedinger libva dirac orc
Run Code Online (Sandbox Code Playgroud)

然后在centos.repo另一个 LINUX 博客建议的同一目录中创建一个文件并添加以下内容:

[centos]
name=CentOS-6 – Base
baseurl=http://mirror.centos.org/centos/6/os/x86_64/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
enabled=1
priority=1
protect=1
includepkgs=SDL libtheora gsm libdc1394 libdrm liboil mesa-dri-drivers mesa-     dri1-drivers mesa-dri-filesystem libraw1394 libpciaccess cppunit
Run Code Online (Sandbox Code Playgroud)

无论如何,错误会重复出现,我无法安装ffmpeg.

bash-4.1# ls
CentOS-Base.repo       CentOS-Vault.repo  mirrors-rpmforge-extras
CentOS-Debuginfo.repo  ffmpeg.repo        mirrors-rpmforge-testing
CentOS-Media.repo      mirrors-rpmforge   rpmforge.repo

bash-4.1# yum update
Loaded plugins: fastestmirror
Repository 'ffmpeg': Error parsing config: Error parsing "baseurl =     'http://apt.sw.be/redhat/el6/en/x86_64/dag/  (64 Bit OS)'": URL must be http,    ftp, file or https not ""
  Loading mirror speeds from cached hostfile
  * rpmforge: mirror.ventraip.net.au
 rpmforge                                                 | 1.9 kB     00:00     
  rpmforge/primary_db                                      | 2.8 MB         00:04     
  Setting up Update Process
Run Code Online (Sandbox Code Playgroud)

slm*_*slm 8

您需要取出文件中的空格。让它看起来像这样:

[ffmpeg]
name=FFmpeg RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el6/en/x86_64/dag/
#baseurl=http://apt.sw.be/redhat/el6/en/i386/dag/
gpgcheck=1
enabled=1
Run Code Online (Sandbox Code Playgroud)

错误也很明显。文件中有语法错误dag.repo。我不确定你的问题是什么。您的/etc/yum.repo.d目录的当前状态以及文件的内容是什么。但是您需要控制该目录。

我建议将未使用的文件移出那里,因为它们会继续困扰您搞乱 YUM 安装的其余部分。

注意 1:每个 repo 都应该有自己的.repo文件,不要将 repos 的内容混合在一个文件中!

NOTE2:如果你不明白你在用这个目录做什么,我强烈建议你不要以这种随意的方式弄乱它。你绝对可以让你的系统进入一个搞砸的状态,你唯一的出路就是再次进行完整安装。我已经使用 Red Hat 发行版 20 多年了,请注意这个建议!

注意3 此外,在处理 3rd 方存储库时(所有这些文件都指向此目录中的所有文件 - 您一直在编辑),通常最好使用前门方法而不是编辑这些文件来利用存储库。

例如,apt.sw.be您尝试指向的URL 被正式称为 RepoForge,并且有一个实际的 RPM,您可以下载并安装以激活此存储库。

你可以在这里阅读它的用法: