带有AUR软件包的本地存储库(Arch Linux)

发表文章的背景

许多人会知道我通常使用基于源代码的发行版,这个问题是我休假期间心爱的人的最新更新 丰图,它使系统崩溃(也许我可以修复它,但我不想与他们抗争),所以我决定给新的机会 Arch Linux,我很久以前就使用过。

我对她有什么问题? 基本上我用 非常 软件 AUR (对于初学者 AUR就像是一个“仓库”,用户可以在其中上传不在官方仓库中的程序,例如PPA Ubuntu).

这是什么问题? 如此多次的软件 AUR 不起作用,要么是因为维护者忽略了他们的软件包,要么是因为他们根本不具备解决新版本所引起的问题的能力,这基本上并考虑到我很容易生气,这让我很生气,因为与破坏我的编译和pkgbuild战斗 Gentoo的/丰图.

这是页面的统计信息 官方 慷慨大方并假设从未更新过的软件包和孤立的软件包相同,那么我们将近1/4 AUR 它不起作用,因此我很生气。 这次有什么不同?

发布开始

我找到了应用 本地回购,这个奇迹让您看到有人打扰了 AUR 像我一样,他决定创建至少要让用户控制这些“问题”的方法,基本上,该应用程序允许我们做的是建立一个本地存储库,在其中可以放入要编译的软件包。 AUR,这样我们就可以正确组织和维护 AUR.

安装

我们可以使用makepkg下载并编译它:

wget https://aur.archlinux.org/packages/lo/local-repo/local-repo.tar.gz
tar -xf local-repo.tar.gz
cd hello
makepkg -sic

或者我们可以通过安装 Yaourt:

yaourt -S --noconfirm local-repo

设置:

然后,如此处所示,我们必须通过文件«〜/ .config /本地仓库»最初它是空的,我们将继续做的是创建文件夹以存放我们的仓库,在我的情况下我将其放入 /home/x11tete11x/.repo/x11tete11x

mkdir -p ~/.repo/x11tete11x/logs
mkdir -p ~/.repo/x11tete11x/pkgbuilds
mkdir -p ~/.repo/x11tete11x/pkgs-x86_64

现在我们配置“〜/ .config / local-repo”:

nano ~/.config/local-repo

请注意,这里有一些有关如何配置本地存储库的示例:/usr/share/local-repo/config.example

无论如何,由于我要使用local-repo非常基本,因此这是我的配置:

[x11tete11x] path = /home/x11tete11x/.repo/x11tete11x/pkgs-x86_64
sign = no
signdb = no
log = /home/x11tete11x/.repo/x11tete11x/logs/local-repo-log
buildlog = /home/x11tete11x/.repo/x11tete11x/logs/build-logs
pkgbuild = /home/x11tete11x/.repo/x11tete11x/pkgbuilds

正如您将看到的,我指定了我希望从哪里获得每件东西,在这里,我根据自己的工作来描述每件事情的用途:

  • 径 ->指示存储库软件包的位置。
  • 签署 ->使用PGP密钥对数据包进行签名。
  • 符号库 ->使用PGP密钥对数据库签名。
  • 日志 ->将保存本地回购日志的文件位置。
  • 构建日志 ->构建软件包时将在其中存储日志的文件夹。
  • 包构建 ->用于存储文件的文件夹 PKGB构建.

添加套餐

如果要添加的软件包以松散软件包的形式存在于我们的文件夹中(例如,我们将其下载并保存在downloads文件夹中,或者我们将其自己编译到用于编译的文件夹中),则可以添加:

local-repo nombre-del-repositorio -a ruta-del-paquete

如果是一包 AUR 我们用:

local-repo nombre-del-repositorio -A nombre-paquete

澄清: 如果要安装的软件包还依赖于 AUR,不会“自动解决”这些依赖关系

也就是说,例如,如果我们要安装软件包 应用菜单-gtk2 取决于 libdbusmenu-gtk2 里面有什么 AUR,我们做不到

本地仓库 x11tete11x -A appmenu-gtk2

既然要说它找不到libdbusmenu-gtk2软件包,我们必须这样做:

local-repo nombrerepo -A libdbusmenu-gtk2 进而 local-repo nombrerepo -A appmenu-gtk2

这样,当您查找libdbusmenu-gtk2依赖项时,它已在存储库中可用。

要添加软件包,您可以将其直接复制到存储库文件夹(在我的情况下为〜/ .repo / x11tete11x / pkgs-x86_64),然后手动更新数据库,但这非常麻烦

删除包裹

要删除软件包,我们有以下说明:

local-repo nombre-del-repositorio -r nombre-paquete

将本地存储库添加到存储库列表中

我们必须将创建的存储库添加到当前使用的存储库列表中,为此,我们必须编辑/etc/pacman.conf文件并将我放置在下面的行放在存储库开始的开头,以便我们的存储库具有优先权除此以外,还可以将其作为添加的回购添加到末尾:

sudo nano /etc/pacman.conf

我们把:

[x11tete11x] SigLevel = Optional TrustAll
Server = file:///home/x11tete11x/.repo/x11tete11x/pkgs-x86_64

最后,我们同步 吃豆子 我们已经准备好我们的存储库。

sudo pacman -Sy

注意: 我第一次想要同步它时,它给了我一个错误,它告诉我找不到文件:“ / home / x11tete11x / .repo / x11tete11x / pkgs-x86_64 / x11tete11x.db”,通过执行此操作来解决: MARKDOWN_HASH1a42f7dd94ef93f234b52c01c73dc5f0MARKDOWN_HASH 也就是说,它创建了一个像这样的空文件,然后只有当我同步它时,我才对其进行很好的更新,并且它开始正常工作。

更新本地存储库

一旦我们的存储库开始工作,我们必须注意保持其更新,为此,我们有:

local-repo -UV nombre-del-repositorio

选择 -U 更新在中找到的软件包 AUR 和选项 -V 从更新CVS包 AUR (例如git,svn或cvs)。
最后是回购😀的一些屏幕截图:

快照2

Yapa:“提速包编译过程”

由于我们将要编译软件包,因此我们将通过触摸默认情况下禁用的选项之一来稍微加快进度,基本上我们要做的就是告诉makepkg使用所有内核进行编译,为此我们寻找以下行:«MAKEFLAGS »在/etc/makepkg.conf里面,我们放入«= -j »也就是说,就我而言, 7核Core I4 对于HT,它又添加了4个逻辑内核,那么我的MAKEFLAGS看起来像这样:

MAKEFLAGS="-j9"

快照3

资料来源:Tuxylinux


55条评论,留下您的评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   拉夫

    很好,这对我来说很好

  2.   基克1n

    而且我认为您永远不会离开Gentoo / Funtoo,主要是因为它困扰着我,即USE。
    我告诉你,openSUSE呵呵呵。

    但是一旦我成为一名弓箭手,就有一句话。 “一旦安装了Arch,它总是会回来。”

    1.    x11泰特11x

      aggggghhhh不,请稍候,我讨厌它! 在我的G +版本中,我解释了原因,最糟糕的是,我在gtk版本的Yast中对Yast所说的话做得很好¬¬使我获得了更多的好处,而Suse的防火墙讨厌它,我决定更换Lubuntu从我Opensuse + LXDE的旧版本开始,我无法处理能够安装网络打印机的防火墙,Lubuntu认识到它好像什么也没有,地狱般? 由于这些原因以及应用程序的双重性,相同的媒体坟墓在“官方”存储库中怎么可能没有实现依赖关系?

      1.    基克1n

        Hahahahaha您必须安装openSUSE + KDE。

        好吧,一切都有口味。 但是openSUSE规则。

    2.    拉夫

      对我来说是真的。 看我哈哈哈

      1.    基克1n

        您是否还讨厌openSUSE elav,或者您还是Archero? 呵呵

        1.    拉夫

          我从未喜欢过openSUSE。 在我尝试过的所有发行版中,它一直是最繁重的发行版之一。

          1.    基克1n

            Tssss,建议您再看一次,非常好very

            1.    拉夫

              我实际上是在KDE 4.10上尝试过的,确实它有所改进,但是我不知道,总有一些我不喜欢的东西。 另外,在Debian和Arch Linux之间我很高兴。


          2.    基克1n

            哈哈哈,Debian也是如此。
            安装6,很旧。
            如果我喜欢几件事情,例如今年非常稳定的软件包,但今年安装beta 7,请更新到发行版,但是我仍然觉得它很旧,缺少软件包,我觉得它不太流畅等等。

            我坚持使用openSUSE Tumbleweed KDE和Slackware KDE。 我一直想回到Arch。

  3.   帕特里克72

    同时,我对Windows 8感到满意。我不会胡说八道,我的工作效率更高。
    对我来说,只需单击一下鼠标,就可以从官方网站或Windows商店轻松下载该程序。
    我不会浪费时间来配置奇怪的东西,而我遗留下来的所有时间都在利用它来找乐子,与家人出去玩,而你们却坐在那把椅子上坐着,您的方屁股并参与到了没人关心的系统中。

    主持人的帖子编辑:显然,patricio72的Windows没有拼写检查器。

    1.    拉夫

      同样。 开心一点,和您的家人一起享受吧,当我的臀部变直时,我的大脑会继续分支,因此,我会获得更多的知识。 😉

    2.    x11泰特11x

      我一直和我的朋友,家人和女友在一起他妈的了三个星期,有一天,我迷失了在Windows中安装Epson XP-3的经验,Windows XP是交付产品,是我的201个Windows 2中的一个房子,我没有问题就接过了,另一人发动了战斗。所有的Lubuntus都把它们毫无问题地接了上去,我父亲也通过单击Ubuntu Store来安装程序...
      另一方面,您如何使用没人关心的系统呢? 我提醒您,您是从android发帖的,请在那儿阅读android的基础,以及Linux内核和android内核之间的确切区别(如果您了解他们在说什么),您将认识到,您的可怜论点使您自相矛盾您自己,另一方面,您使用互联网做什么呢? 我的意思是说,它安装在Linux服务器上...又是一件愚蠢的事情,您在这里发表评论吗?我说您不应该和家人在一起吗?... 另一件事,我的兄弟家里有Windows 7可以玩,我安装了一个小工具来监视磁盘,由于Windows商店还不错,我被恶意软件感染了,所以我不得不寻找另一个页面,因为我同时拥有chrome和firefox感染了奇怪的广告...我不得不做“奇怪的事情”才能得到所有的废话...防病毒软件(HA!我已经忘记了)AVG全面更新说:“很好,谢谢”并没有退缩..使用我自己喜欢的系统而不是您的系统也是我的问题。 如果让我感到高兴的是配置系统并从中获得最大收益,那又会怎样呢? 在Windows中这是错误的aaaaa true,您无法更改任何内容…。 aaaaa是Windows的简化版没有带来对像IPP协议这样愚蠢的东西的支持,因此我无法将其与Linux下的CUPS服务器连接... aaaa是,他们花了6年的时间来实现用于用户密码的加密系统。我提醒您,从Windows 95到XP,足以将它复制到system32文件夹中,复制文件User.pwl(我认为这是扩展名),仅在家里,安静,暴力破解或彩虹表的情况下,您可能会破坏在Windows XP中,如果您在txt中输入“布什隐藏回显”或“布什隐藏facs”,然后打开它,它将对其进行审查……,则用户的密码可以在以后执行任何操作。 真正的窗户...总是那么酷...

      1.    拉夫

        忽略他。 我还有很多时间陪伴家人,女友和我的东西,我很高兴使用GNU / Linux。

    3.   

      您可以快乐地生活在垃圾箱中,不要向别人扔沙子。

    4.    潘德夫92

      巨魔和非常明显的xD

    5.    斯诺克

      噢,你会相信吗? 他们现在将f8键放在8号窗口中了吗?

  4.   帕特里克72

    linuxero用相同的古老故事为自己辩护的典型评论:“大多数互联网都在linux上运行,而android是linux,等等等等。”

    我知道android使用的是Linux内核,但不是gnu / linux。 并且易于使用,因为它具有由公司创建并为消费者设计的易于使用的图形界面。
    整个互联网都在linux上运行的古老说法是正确的,但是它们只是由Web服务器执行的后台处理任务,例如Apache,PHP,MySQL,总之它们只是Web服务。
    但是,让我们直言不讳,让我们谈谈桌面,说实话,Linux还有很长的路要走,它缺少适合我们硬件的驱动程序,缺乏像Adobe套件,Office,Autocad这样的专业软件,并且没有对我来说,有免费的替代品,因为它们很差。 最后,用户需要EASE以及Windows,它们也具有控制台,但是除非您是系统管理员或程序员,否则几乎没有人使用或需要它。 一切都是在图形级别完成的,与Linux不同,Linux有时需要诉诸控制台来执行命令或编辑配置文件,事实是,这让普通用户感到非常讨厌。他们想要一切为他工作。

    1.    帕特里克72

      此评论以@ x11tete11x作为答案

      1.    拉夫

        是的,我们知道x11tete11x。 但严重的是,像开始形成的辩论那样陷入僵局是没有用的。

    2.    拉夫

      我读了这些评论,这让我很痒。 定义“易用性”是因为使用KDE可以轻松完成与Windows 7相同的操作,甚至可以使很多事情变得更加容易。 但是我不想参加通常的辩论。 您使用Windows吗? 对你有好处。 让我们和平使用GNU / Linux。 让我们通过工作。 让我们免受病毒侵害。 让我们每天学习更多。 拜托,不要与那些没有惹您或您的Windows的人产生火焰。

      1.   

        我一直有一种预感,就是Aero是经过KDE调整的xD

    3.    x11泰特11x

      来自“ windowsero”的典型回复这将是我对这个标本的最后评论,您是否忽略了我命名为sethc.exe的Windows中的所有缺陷,听起来像您吗?…。 告诉我,我该怎么做像为特定网络创建网络配置文件一样愚蠢的事情?我的老人在学校教他使用代理,每次他在Windows上时,他都必须手动配置IP地址, linux每个网络都有其配置文件…。 东西丢失了,或者我要否认您,但是那真的对您不起作用吗?在我看来,我要雇用您的魔力来安装窗户,因为在我的房子里,有些窗户总是被拧紧一些奇怪的原因...
      现在,“希望一切正常的普通用户”乘飞机飞往我的城市,并向父亲说,他父亲满是球,可以操蛋(一个50岁的男孩,高中物理老师)解释为什么现在他必须使用“地铁”,我把Lubuntu和快乐的人放在一辈子的Windows XP的旧界面上,访问软件中心的快捷方式,没有病毒,那个人很高兴,我坚持他要来我家并解释为什么现在您必须使用METRO ...

      1.    帕特里克72

        当然,您做了多少个命令行和配置文件才能使它适合您?
        Windows就像使用向导或助手一样简单,并且我不必复制和粘贴在论坛中找到的命令。
        不错的尝试,但现在窗户是国王

        1.    拉夫

          如果要进行多个网络连接,则只需以图形方式打开连接编辑器并根据需要添加任意数量的配置文件就可以了😉

        2.    莫多昔

          巨魔在眼前。

        3.    Eltigreasesino

          您是否安装过GNU / Linux发行版?如果没有,请在不知不觉中交谈

          PS:GNU / Linux发行版是由用户社区而不是像微软这样的大公司发行的

    4.    纳米

      我将谈论愚蠢的事情,我不会说这更容易或更困难,我只是推断出您很无能为力……实际上,无能与使用Windows无关,有些人在使用Windows,与您无关。

      如果它取决于我,您的评论将不会通过,您只是一个巨魔,您不使用GNU / Linux的论点确实是白痴,我并不是说您必须使用它,简单地说,没有人关心您为什么不使用它用它。

      我最真诚的建议? 避免荒唐可笑,不要以为自己觉得自己像个反驳论点的好人,只要不说任何有建设性的话就限制自己发表评论...

      对埃拉夫(Elav):不要让他再发表任何评论,否则他将继续讨论,就我而言,无论听起来多么权威,有时这里都不会这样。

      1.    拉夫

        矮人。 Patricio72也许就是你所说的一切,但得罪他是不好的。我们已经在网络上赢得了用户的声誉 DesdeLinux 我们冒犯了 Windows 用户。我们不要把自己置于他们的水平。

        从这一刻起,我将与所有冒犯他人的用户一起采取行动。 没有人有权。 如果他们来自外部并且冒犯了我们,我们将忽略它,我们编辑评论,然后修改评论,仅此而已。

        😉

        1.    x11泰特11x

          agghh 抱歉,如果我跳过了链条,但正如你所说,我最近读到:“用户 DesdeLinux 我们冒犯了 Windows 用户» ��...然后类似的事情发生了...。我实在没法向他扔花 ¤

        2.    纳米

          对我而言,无能为力是一个人的条件,即使他并不真正知道自己在说什么,他也不知道该如何表现,并认为自己知道某件事,并且有能力谈论该事情。 实际上,我认为我在限制自己的方式,以免陷入不必要的战斗。

          您必须承认,像他所发表的第一条评论一样,这些评论甚至都没有发生……不是因为它是在谈论窗户,而是因为这是一个巨魔评论,毫无根据,没有任何贡献,仅煽动火焰,让我感到困扰的是,人们在不真正了解任何东西的情况下随意谈论某事(无论如何)……我吗? 我至少有4年没有直接使用过窗户了,今天我不能说对我来说很不舒服,因为我不使用窗户,没有人看到我在其他社区或文章中谈论它,当我说我这样做时不使用它,我解释说我不使用它,因为对我来说,我的发行版为我提供了我需要的一切...

          无论如何,不​​用再谈论这个案例了,就足够了,你我都有权终止这个问题。

  5.   x11泰特11x

    亲爱的人们,很抱歉在此讨论中弄脏了帖子,认为您在这里没有什么可做的,@ elav @nano如果您想删除整个词典,包括我的评论,我不反对,则帖子会更加冗长: D,感谢所有人:v

    1.    地塞潘

      一切都很好,有人想测试我们的耐心

      1.   

        用用户代理xDDDD拖钓

      2.    x11泰特11x

        哈哈哈,混蛋xD

        1.    地塞潘

          哦,拜托我一定不会那么糟糕

    2.    阿托克

      Muchach @的“不要喂巨魔”
      顺便说一句,我知道你会回到Arch。XD

      1.    x11泰特11x

        哈哈哈,让我们看看它对我持续多久

  6.   XPT

    好帖子🙂
    有用

  7.   MSX

    TL博士
    …但是我读到的有关@ patricio72的文章是胡说八道:让我们举例说明,您根本不知道该说什么。

    @x11
    如果仅在计算机上使用软件(或在此情况下使用两个或三个),那么在创建本地镜像时会遇到很多麻烦?
    通过经常检查上游是否更新了软件并反映了makepkg中的更改,在我看来...

    1.    x11泰特11x

      基本上是由于以下原因,当我说我使用很多AUR软件时,这不是在开玩笑,目前我已经从AUR安装了大约30个软件包,已经很混乱了,无法处理每个PKGBUILD,通过这种方式,我设法使它们全部集中在一起,以便能够更有条理地访问它们并手动更正PKGBUILD(如果是这种情况),这更让人感到舒适

      1.    MSX

        我仍然找不到解决方法:/
        我保留了这些软件包: http://chakra-project.org/ccr/packages.php?SeB=m&L=2&K=msx (我个人大约安装了60个),本地副本位于它们自己的目录中。
        当我有一段时间尝试时,这对我很有用😀

        1.    x11泰特11x

          这些是由您维护的,而当您安装不维护的AUR软件包时,这对我来说很复杂,因为正如该帖子所说,维护人员常常使他们的PKGBUILD过时并且必须进行干预...而您无法上传因为您已经删除了该软件包,因为它们已经在AUR / CCR中了,所以当我上载simon的更新版本时,它就发生了,因为它已经..我不得不联系维护人员并告诉他把电池和更新..似乎已被某种外星存在绑架了xD哈哈哈

          1.    MSX

            当我要安装的应用程序的安装脚本已过期并且负责人花很长时间回答以下问题时,我将在本地更新并安装它。 从第一次通知过时的软件包起两周后,如果我仍然没有回应,我请TU拥有当前维护者的脚本,以便采用它并上传更新的版本。
            根据当前的上载者/维护者的不同,有时他们会要求您等待更长的时间,如果它是未知的人或拥有一个软件包,并且在社区中知道要求拒绝的人,那么他们会立即执行。
            就我个人而言,我总是建议原始维护者,如果他们想再次接管该软件包,则可以很容易地将其归还。

            也就是说,对于AUR软件包,我仍然无法使用本地仓库:P:P:P
            只需安装它,然后查看是否可以简化额外的管理层而不是使问题复杂化即可。

            无论如何,感谢您对此主题的发布!

        2.    x11泰特11x

          精确! 在回答您的最后一条评论时,您已被钉在头上,只是不做所有这些,这是最...自私的解决方案? 也许只需维护您自己的仓库即可,在其中您可以修改/放置/删除所需的xD,由于X的原因,这也便于重新安装,因为我已经准备好了xD二进制文件

  8.   迪戈加布里埃尔

    你似乎是Leprosys

    1.    x11泰特11x

      ? 我不明白,我是Tete xD哈哈哈

  9.   豪尔赫格

    好吧,如果您像Tete那样碰巧遇到了本地存储库,我发现它很有用。 在我看来,他在他写的帖子中对此作了很好的解释。

    就我而言,这是没有必要的,而且我也缺乏编译软件包和材料的知识……我还没有做到这一点。

    感谢您的帖子,对此有很好的解释。

  10.   细微的

    很好,三个月没问题,archlinux发生故障的情况很少见rare

    1.    MSX

      乌夫(Uff),请小心佩德罗·德比安(Pedro Debian Flintstones)和帕勃罗·斯拉克韦(Pablo Slackware Marmol)进入头脑。
      (虽然说实话,他们永远不会认识到发行版不仅可以与其发行版相同或更稳定,而且还拥有尊重上游而不是发霉的字节组合的现代软件包>:D

  11.   巴勃罗·卡多佐(Pablo Cardozo)

    一个非常愚蠢的问题:在添加完要安装的软件包(方括号)的整个过程之后,我必须给它什么顺序安装? 如果我从看到的内容中使用yaourt -S括号,它将重新下载所有内容,就好像它们不在我的本地存储库中一样;如果我使用sudo pacman -S括号,则表明该软件包不存在,这很明显。

    我有什么想念的吗? 非常感谢,也非常好。

    1.    巴勃罗·卡多佐(Pablo Cardozo)

      早晨,队友的血液流到我的大脑,我意识到我必须使用pacman -U选项和我下载的文件的路径来安装它。

      还是要谢谢你。

      1.    x11泰特11x

        如果您按照所有指南进行操作,则在执行pacman -Sy时,您将拥有包含本地软件包的新仓库

        假设您的存储库名为Pablo,它将是这样的:
        local-repo pablo -A括号

        这将把它添加到仓库中,然后

        须藤pacman -Sy括号

        这将刷新包括本地存储库在内的存储库,并且它将从本地存储库中找到并安装程序

        1.    巴勃罗·卡多佐(Pablo Cardozo)

          啊,但是我做到了:
          local-repo AUR -A括号
          须藤pacman -Sy
          sudo pacman -S括号

          它对我不起作用,但是我已经安装了其他程序,看看它是否按照您提到的方式对我有用。

          非常感谢您的答复。

          1.    x11泰特11x

            如果仍有问题,可以浏览论坛,IRC或通过G + contact与我联系