關於Arch Linux及其衍生產品,我最喜歡的一件事是 極大的方便 創建軟件包以稍後安裝在系統上,與已知的軟件包不同 德布。 Debian / Ubuntu / Linux Mint / etc的混亂(如果它們是庫,我不會告訴你)。
基本模板是這樣的:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
現在,我將解釋每個參數:
- #維護者: 其中包含軟件包維護者的名稱
- pkgname: 包的名稱。 它只能包含字母,數字,-,_和+
- pkver: 軟件包版本。 pe 1.0.0
- pkgrel: 審查程序或程序包。 pe 1
- pkgdesc: 包裝說明。
- 拱: 程序的體系結構:它可以是任何(對於所有人),i686和x86_64,適用於不需要編譯的軟件包,例如bash或python中的程序。 如果確實需要它(例如C或C ++中的程序),則應指示i686是32位還是x86_64 64位。 通常,如果兩者兼容,則將其設置為(i686,x86_64)
- 網址: 該程序官方頁面的網址。 建議把它放進去。
- 授權方式: 程序許可證。 例如GPL3
- 組: 程序包所屬的組。 組=('系統')
- 依靠: 在其中,我們指出了執行程序所需的軟件包。 pependens =('python2''pygtk')
- makedepends: 僅編譯包所需的依賴項。 如果要從版本管理器中下載代碼,建議放置它。 pe:makedepends =('git')
- 來源: 在其中,我們指出了創建包所需的文件。 通常,包含代碼,補丁,.desktopt文件,圖標等的是軟件包的URL。 pe:來源=(pacsyu.desktop)
- md5sums: 這是源中指示的文件的md5總和。 要知道我們是從PKGBUILD所在的文件夾中的終端運行的(已在源代碼中寫入了文件路徑) makepkg -g 和將顯示在屏幕上。
也可以使用其他總和,例如sh1。 - 建立: 在此功能中,我們將 繼續編譯軟件所需的命令。 如果不需要編譯,則僅需要以下函數)
- 軟件包:在該其他功能中,程序安裝命令將執行。 例如,如果我們在這裡編譯C代碼,則將進行make install。
最後,我們只需要執行 製作包 驗證軟件包是否已生成。
如您所見,這對我們來說很困難。 然後我給你留一些額外的參數 makepkg:
- -一世: 指示makepkg在創建軟件包後安裝它。
- -s: 如果軟件包依賴項位於存儲庫中,請安裝它們。
- -F: 如果已經有帶有該參數的名稱,版本和修訂的軟件包,我們會告訴您覆蓋它。
- -C: 完成後,清理工作文件夾(pkg和源)。
- -R: 重新打包該軟件包,而無需重新編譯。
我建議查看更多PKGBUILD文件以查看更多示例,執行命令 makepkg -h 除了查看 在Arch Linux Wiki上的makepkg官方文檔 你能找到什麼 這裡
很好 …
可以讓.exe程序包管理(編譯)為Arch程序包嗎?
例如著名的下載管理器 米波尼 ??
據我所知,這是不可能的,請記住.exe是二進製文件而不是源代碼。 但是有JDownloader。
如您所說,您無法重新編譯exe,因為它是二進制代碼。
您可以創建一個包來安裝它並使用Wine執行它,就像著名的P2P程序Ares的AUR中的包一樣。
有人使用linux卻錯過了Myponi…jijijijiji
jDownloader在Java中,並且眾所周知Java會導致肺癌...
有趣的是,我們將不得不測試軟件包,我想我會傾向於從yaourt中下載qbittorrent hahaha中的一個軟件包,但是擁有自己的版本將很不錯,感謝您提供的信息和問候。
輸入不錯,+ 1
我想補充一點,它們也比Gentoo ebuilds更易於創建和維護!
關於Debian,我認為該發行版將僅通過現代化或遷移到更現代的軟件包和軟件包管理系統而大大增加其障礙,我不知道dpkg / apt集的最後一次更新何時,但該概念應該已經擁有輕鬆的15年,事實是今天已經過時了。
非常感謝,我在Wiki上查找時花了一點時間,但我不了解其結構(我想更新PlayonLinux的結構),但我仍然放棄了……在某些事情上,我想有一個助手或類似的東西(別開槍打我),但仍然...隨著時間的流逝沒有工具,我會看看我是否創建
感謝您的指導,我開始創建Zeya的PKGBUILD(http://web.psung.name/zeya/),完成後立即將其上傳到AUR🙂
完全同意,前一陣子我試圖為Ubuntu創建一個軟件包,但我不可能找到關於如何製作軟件包的易懂的信息,最後我放棄並大致安裝了該程序。
用於Arch的同一程序用了不到5分鐘的時間就將軟件包打包在一起。
而且我不確定,但我認為RPM比DEB稍微容易些,但比Arch難。
非常好又容易,至於.deb並不難,對於iOS
問候
我認為,前一段時間我將第一個PKGBUILD上傳到AUR時,這對我有用
有人可以向我解釋一下這是什麼嗎,我是新手,我不知道這是否有助於我安裝.deb軟件包,但可以在manjaro本地安裝,確切地說是一款遊戲。 是的,行得通嗎?
我剛剛寫了另一篇關於如何從.deb包為arch / manjaro創建包的文章
https://blog.desdelinux.net/archlinux-crear-paquetes-multiplataforma-y-desde-paquetes-deb/
是的,我已經看過了,但是我非常新穎,我不僅不知道這行是不是
cd“ $ {srcdir} /”
tar xvzf data.tar.gz -C。
cp -r usr $ {pkgdir}
你背後有什麼
如果[«$ {CARCH}»='x86_64']; 然後
ARCH ='amd64'
md5sums=(‘192a0a222893d59d95f00c34f3c8a674’)
取決於=('openal''lib32-openal')
elif [“ $ {CARCH}” ='i686']; 然後
ARCH ='i386'
md5sums=(‘047c670443124193c5cc3dd54da99925’)
取決於=('openal')
fi
來源=(“ http://www.unaurl.com/files/$ trackmaster。$ ARCH.deb”)
我不明白,它看起來很複雜,它們是共同的步驟或第一步
cd“ $ {srcdir} /”
tar xvzf data.tar.gz -C。
cp -r usr $ {pkgdir}
可以單獨轉換.deb。 .tar.gz?