在Arch Linux上使用Makepkg

在Arch Linux上直接使用 makepkg 可能会对系统造成一定污染,因此建议您安装 base-devel 软件包组。这样,默认情况下只保留构建软件包所需的依赖关系,而不需要其他软件包。如果需要更改此默认行为,将涉及安装和卸载软件包,并可能污染 /var/log/pacman.log

有关如何使用 AUR 的更多详细信息,请参考 本文 获取 AUR PKGBUILD

使用Makepkg进行编译

首先,确保已安装 base-devel。如果尚未安装,可以通过以下命令安装:

# pacman -S base-devel

接下来,您需要在包含 PKGBUILD 的目录中运行 makepkg,该目录通常是通过 git clone 创建的。

常见的Makepkg选项

选项 说明
-s, --syncdeps 自动安装构建和使用软件包所需的缺少依赖项。
-r, --rmdeps 如果构建成功,则自动卸载不再需要的依赖项。
-i, --install 如果构建成功,则自动安装/升级软件包。
-c, --clean 自动删除临时构建文件。

要自动安装/升级软件包并清理多余的依赖关系,可以运行以下命令:

# makepkg -sri

如果希望保留所有依赖项,可以使用:

# makepkg -s

然后,您可以根据 此处的说明,使用本地存储库或直接安装文件,如下所示:

# pacman -U <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz

包装更快

默认情况下, makepkg 将软件包合并为压缩格式 .tar.xz,并仅使用单线程进行压缩。在多CPU系统上,可以通过编辑 /etc/makepkg.conf 文件来启用多线程压缩,修改以下行:

COMPRESSXZ=(xz -c -z - --threads=0)

若要避免对系统性能的影响,可以指定一个适中的线程数,例如:

COMPRESSXZ=(xz -c -z - --threads=2)

注意:指定的线程数应少于或等于您的虚拟核心数。

如果希望包文件体积更小,可以通过编辑下列行禁用压缩:

PKGEXT='.pkg.tar'

跳过验证PGP签名

我们强烈推荐您正确验证与任何签名相关的PGP,如在这里的“PGP签名错误”一节所解释的。

然而,如果您需要,可以使用 --skippgpcheck 选项来跳过PGP签名的验证。



25 Comments

  1. 小動物 -

    這篇文章實在太好了,我將會多多嘗試使用Makepkg來建立自己的套件,謝謝作者!

  2. Pet Cat -

    看到這篇文章我心情超好,Arch真的就是讓我愛不釋手!希望有更多人能體驗到這種快感

  3. Quang vn -

    有沒有使用Makepkg時遇到的常見錯誤?我這幾天一直卡在某個環節,希望能得到幫助!

  4. Hương Đà Nẵng -

    我對於使用Makepkg還不太熟悉,有誰可以指導我一下嗎?想學好這個工具!

  5. Thùy Linh -

    想請教一下,使用Makepkg時,怎麼樣能縮短編譯的時間呢

  6. 阿哲 -

    使用Makepkg時,我最常用的選項是--nocheck,你們覺得這樣的做法合理嗎?

  7. Mèo con -

    我覺得Makepkg真的方便,只要學會就能給系統添加很多有用的包

  8. 小草 -

    Makepkg的速度真的很快,對比其他Linux發行版簡直讓我驚訝!希望以後能掌握更多技巧

  9. 阿彌陀佛 -

    這篇文章講得很好,Makepkg真的是Arch Linux最重要的工具之一!期待能看到更多這方面的內容!

  10. 阿平 -

    真的很佩服Arch Linux社區的分享精神,期待更多這樣的教學文章!

  11. 小張 -

    在Makepkg的使用過程中,我學到了很多有趣的小技巧,謝謝這篇文

  12. Hương KT -

    一直在看Arch Linux的文檔,這篇文章的解釋非常到位,我會推薦給我的朋友

  13. 小明 -

    很高興看到這篇文章!Arch Linux真的是太有趣了,特別是使用Makepkg的過程,非常能夠鍛鍊自己的技術

  14. Linh mèo -

    謝謝你的分享,今天終於成功編譯了一個包!真的是非常有成就感的經歷

  15. 小小 -

    這篇文章真的讓我開了眼界,之前從未考慮過使用Makepkg來管理包

  16. 星星安 -

    這文章真的很實用,看有沒有機會我也能寫一篇這樣的教程!

  17. 宇宙人 -

    我覺得Makepkg的學習曲線不是很陡,喜歡編程的人應該都能上手,相信大家可以做到

  18. 碧海藍天 -

    Makepkg 真的太好用了,之前我還以為很複雜,沒想到其實只是需要一些步驟而已

  19. 麥克 -

    我在Arch上用Makepkg後,感覺自己的技術層次又提升了一個檔次,真的是一個不錯的工具

  20. 阿斗 -

    這篇文章讓我明白了如何使用Makepkg在Arch上自製軟件,謝謝

  21. Duy Sinh 6789 -

    這篇文章讓我了解了Makepkg的運行原理,之前一直不知道背後的細節

  22. 阿青 -

    看到大家的經驗分享,我心中有種說不出的感動,Arch真的是一個令我著迷的系統

  23. 小白兔 -

    在使用Makepkg的過程中,遇到了一些依賴問題,想知道大家是怎麼解決的!

  24. Betty Chan -

    我使用Makepkg時發現了一些問題,想請問大家怎麼解決這個編譯錯誤呢?

  25. Duy IT -

    成功使用Makepkg後,整個系統運行得更流暢,感覺很開心

Leave a Comment

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息