标签 仓库 下的文章

Yum 是 Centos/RHEL/Fedora 中最重要的工具之一。尽管在 Fedora 的最新版本中,它已经被 DNF 所取代,但这并不意味着它自生自灭了。它仍然被广泛用于安装 rpm 包,我们已经在前面的教程(在这里阅读)中用示例讨论了 Yum。

在本教程中,我们将学习创建一个本地 Yum 仓库,首先使用系统的 ISO 镜像,然后创建一个在线 Yum 仓库的镜像。

用 DVD ISO 创建 Yum

我们在本教程中使用 Centos 7 dvd,同样的过程也应该可以用在 RHEL 7 上。

首先在根文件夹中创建一个名为 Yum 的目录

$ mkdir /YUM

然后挂载 Centos 7 ISO:

$ mount -t iso9660 -o loop /home/dan/Centos-7-x86_x64-DVD.iso /mnt/iso/

接下来,从挂载的 ISO 中复制软件包到 /YUM 中。当所有的软件包都被复制到系统中后,我们将安装创建 Yum 所需的软件包。打开 /YUM 并安装以下 RPM 包:

$ rpm -ivh deltarpm
$ rpm -ivh python-deltarpm
$ rpm -ivh createrepo

安装完成后,我们将在 /etc/yum.repos.d 中创建一个名 为 local.repo 的文件,其中包含所有的 Yum 信息。

$ vi /etc/yum.repos.d/local.repo
LOCAL REPO]
Name=Local YUM
baseurl=file:///YUM
gpgcheck=0
enabled=1

保存并退出文件。接下来,我们将通过运行以下命令来创建仓库数据。

$ createrepo -v /YUM

创建仓库数据需要一些时间。一切完成后,请运行:

$ yum clean all

清理缓存,然后运行:

$ yum repolist

检查所有仓库列表。你应该在列表中看到 local.repo

使用在线仓库创建镜像 Yum 仓库

创建在线 Yum 的过程与使用 ISO 镜像创建 Yum 类似,只是我们将从在线仓库而不是 ISO 中获取 rpm 软件包。

首先,我们需要找到一个在线仓库来获取最新的软件包。建议你找一个离你位置最近的在线 Yum 仓库,以优化下载速度。我们将使用下面的镜像,你可以从 CENTOS 镜像列表中选择一个离你最近的镜像。

选择镜像之后,我们将使用 rsync 将该镜像与我们的系统同步,但在此之前,请确保你服务器上有足够的空间。

$ rsync -avz rsync://mirror.fibergrid.in/centos/7.2/os/x86_64/Packages/s/ /YUM

同步将需要相当长一段时间(也许一个小时),这取决于你互联网的速度。同步完成后,我们将更新我们的仓库数据。

$ createrepo - v /YUM

我们的 Yum 已经可以使用了。我们可以创建一个 cron 任务来根据你的需求每天或每周定时地自动更新仓库数据。

要创建一个用于同步仓库的 cron 任务,请运行:

$ crontab -e

并添加以下行

30 12 * * * rsync -avz http://mirror.centos.org/centos/7/os/x86_64/Packages/ /YUM

这会在每晚 12:30 同步 Yum。还请记住在 /etc/yum.repos.d 中创建仓库配置文件,就像我们上面所做的一样。

就是这样,你现在使用你自己的 Yum 仓库了。如果你喜欢它,请分享这篇文章,并在下面的评论栏留下你的意见/疑问。


via: http://linuxtechlab.com/creating-yum-repository-iso-online-repo/

作者:Shusain 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

作为我工作的一部分,我所维护的 PATHspider 依赖于 cURLPycURL中的一些刚刚合并或仍在等待被合并的功能。我需要构建一个包含这些 Debian 包的 Docker 容器,所以我需要快速构建一个 APT 仓库。

Debian 仓库本质上可以看作是一个静态的网站,而且内容是经过 GPG 签名的,所以它不一定需要托管在某个可信任的地方(除非可用性对你的程序来说是至关重要的)。我在 Netlify(一个静态的网站主机)上托管我的博客,我认为它很合适这种情况。他们也支持开源项目

你可以用下面的命令安装 netlify 的 CLI 工具:

sudo apt install npm
sudo npm install -g netlify-cli

设置仓库的基本步骤是:

mkdir repository
cp /path/to/*.deb repository/
cd repository
apt-ftparchive packages . > Packages
apt-ftparchive release . > Release
gpg --clearsign -o InRelease Release
netlify deploy

当你完成这些步骤后,并在 Netlify 上创建了一个新的网站,你也可以通过 Web 界面来管理这个网站。你可能想要做的一些事情是为你的仓库设置自定义域名,或者使用 Let's Encrypt 启用 HTTPS。(如果你打算启用 HTTPS,请确保命令中有 apt-transport-https。)

要将这个仓库添加到你的 apt 源:

gpg --export -a YOURKEYID | sudo apt-key add -
echo "deb https://SUBDOMAIN.netlify.com/ /" | sudo tee -a /etc/apt/sources.list
sudo apt update

你会发现这些软件包是可以安装的。注意下 APT pinnng,因为你可能会发现,根据你的策略,仓库上的较新版本实际上并不是首选版本。

更新:如果你想要一个更适合平时使用的解决方案,请参考 repropro。如果你想让最终用户将你的 apt 仓库作为第三方仓库添加到他们的系统中,请查看 Debian wiki 上的这个页面,其中包含关于如何指导用户使用你的仓库。

更新 2:有一位评论者指出用 aptly,它提供了更多的功能,并消除了 repropro 的一些限制。我从来没有用过 aptly,所以不能评论具体细节,但从网站看来,这是一个很好的工具。


via: https://iain.learmonth.me/blog/2017/2017w383/

作者:Iain R. Learmonth 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

如果你正在使用 Enterprise Linux 发行版(Red Hat Enterprise Linux 或其衍生产品,如 CentOS 或 Scientific Linux),并且需要对特定硬件或新硬件支持,那么你找对地方了。

在本文中,我们将讨论如何启用 ELRepo 仓库,该软件源包含文件系统驱动以及网络摄像头驱动程序等等(支持显卡、网卡、声音设备甚至新内核

在 Enterprise Linux 中启用 ELRepo

虽然 ELRepo 是第三方仓库,但它有 Freenode(#elrepo)上的一个活跃社区以及用户邮件列表的良好支持。

如果你仍然对在软件源中添加一个独立的仓库表示担心,请注意 CentOS 已在它的 wiki(参见此处)将它列为是可靠的。如果你仍然有疑虑,请随时在评论中提问!

需要注意的是 ELRepo 不仅提供对 Enterprise Linux 7 提供支持,还支持以前的版本。考虑到 CentOS 5 在本月底(2017 年 3 月)结束支持(EOL),这可能看起来并不是一件很大的事,但请记住,CentOS 6 的 EOL 不会早于 2020 年 3 月之前。

不管你用的 EL 是何版本,在实际启用时需要先导入 GPG 密钥:

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

在 EL5 中启用 ELRepo:

# rpm -Uvh http://www.elrepo.org/elrepo-release-5-5.el5.elrepo.noarch.rpm

在 EL6 中启用 ELRepo:

# rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

在 EL7 中启用 ELRepo:

# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

这篇文章只会覆盖 EL7,在接下来的小节中分享几个例子。

理解 ELRepo 频道

为了更好地组织仓库中的软件,ELRepo 共分为 4 个独立频道:

  • elrepo 是主频道,默认情况下启用。它不包含正式发行版中的包。
  • elrepo-extras 包含可以替代发行版提供的软件包。默认情况下不启用。为了避免混淆,当需要从该仓库中安装或更新软件包时,可以通过以下方式临时启用该频道(将软件包替换为实际软件包名称):# yum --enablerepo=elrepo-extras install package
  • elrepo-testing 提供将放入主频道中,但是仍在测试中的软件包。
  • elrepo-kernel 提供长期及稳定的主线内核,它们已经特别为 EL 配置过。

默认情况下,elrepo-testing 和 elrepo-kernel 都被禁用,如果我们需要从中安装或更新软件包,可以像 elrepo-extras 那样启用它们。

要列出每个频道中的可用软件包,请运行以下命令之一:

# yum --disablerepo="*" --enablerepo="elrepo" list available
# yum --disablerepo="*" --enablerepo="elrepo-extras" list available
# yum --disablerepo="*" --enablerepo="elrepo-testing" list available
# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

下面的图片说明了第一个例子:

List ELRepo Available Packages

列出 ELRepo 可用的软件包

总结

本篇文章中,我们已经解释 ELRepo 是什么,以及你从如何将它们添加到你的软件源。

如果你对本文有任何问题或意见,请随时在评论栏中联系我们。我们期待你的回音!


作者简介:

Gabriel Cánepa - 一位来自阿根廷圣路易斯梅塞德斯镇 (Villa Mercedes, San Luis, Argentina) 的 GNU/Linux 系统管理员,Web 开发者。就职于一家世界领先级的消费品公司,乐于在每天的工作中能使用 FOSS 工具来提高生产力。


via: http://www.tecmint.com/enable-elrepo-in-rhel-centos-scientific-linux/

作者:Gabriel Cánepa 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

问题: 我想要安装一个在Nux Dextop仓库的RPM包。我该如何在CentOS或者RHEL上设置Nux Dextop仓库?

Nux Dextop是一个面对CentOS、RHEL、ScientificLinux的含有许多流行的桌面和多媒体相关的包的第三方RPM仓库(比如:Ardour,Shutter等等)。目前,Nux Dextop桌面对CentOS和RHEL 6/7可用。

要在CentOS或者RHEL上启用Nux Dextop,遵循下面的步骤。

首先,要知道Nux Dextop被设计与EPEL仓库共存。因此,你需要在使用Nux Dexyop仓库前先启用 EPEL

启用EPEL后,用下面的命令安装Nux Dextop仓库。

在 CentOS/RHEL 6.* 上:

$ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm

在 CentOS/RHEL 7 上 :

$ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

现在验证Nux Dextop仓库是否已经成功安装:

$ yum repolist 

对于 Repoforge/RPMforge 用户

据作者所说,目前已知Nux Dextop会与其他第三方库比如Repoforge和ATrpms相冲突。因此,如果你启用了除了EPEL的其他第三方库,强烈建议你将Nux Dextop仓库设置成“default off”(默认关闭)状态。就是用文本编辑器打开/etc/yum.repos.d/nux-dextop.repo,并且在nux-desktop下面将"enabled=1" 改成 "enabled=0"。

$ sudo vi /etc/yum.repos.d/nux-dextop.repo 

无论何时当你从Nux Dextop仓库安装包时,显式地用下面的命令启用仓库。

 $ sudo yum --enablerepo=nux-dextop install <package-name> 

via: http://ask.xmodulo.com/enable-nux-dextop-repository-centos-rhel.html

译者:geekpi 校对: wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出