本篇內(nèi)容介紹了“怎么在Linux上使用pkgsrc”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)公司2013年成立,先為吉首等服務(wù)建站,吉首等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為吉首企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
除了 MacOS 之外,所有 Unix 操作系統(tǒng)均自帶包管理器。你不一定需要 pkgsrc,但這可能是你想嘗試的三個(gè)重要原因:
打包。如果你對(duì)打包感到好奇,但尚未嘗試自己創(chuàng)建一個(gè)軟件包,那么 pkgsrc 是一個(gè)相對(duì)簡(jiǎn)單的系統(tǒng),尤其是如果你已經(jīng)熟悉 Makefile 和類似 GNU Autotools 之類的構(gòu)建系統(tǒng)時(shí)。
通用。如果你使用多個(gè)操作系統(tǒng)或發(fā)行版,那么可能會(huì)遇到每個(gè)系統(tǒng)的包管理器。你可以在不同的系統(tǒng)上使用 pkgsrc,以便你為一個(gè)系統(tǒng)打包了程序,就為所有系統(tǒng)打包了。
靈活。在許多打包系統(tǒng)中,如何選擇二進(jìn)制包或源碼包并不總是很明顯。使用 pkgsrc,區(qū)別很明顯,兩種安裝方法都一樣容易,并且都可以為你解決依賴關(guān)系。
無(wú)論你使用的是 BSD、Linux、Illumos、Solaris 還是 MacOS,安裝過(guò)程都基本相同:
鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)
使用 CVS 檢出 pkgsrc 樹(shù)
引導(dǎo) pkgsrc 系統(tǒng)
安裝軟件包
在 Git 和 Subversion 之前,就有了 CVS。要檢出代碼你無(wú)需了解 CVS 太多,如果你習(xí)慣 Git,那么可以將檢出稱為克隆。當(dāng)你用 CVS 檢出 pkgsrc 時(shí),你就下載了詳細(xì)說(shuō)明如何構(gòu)建每個(gè)軟件包的“配方”。它有很多文件,但是它們都很小,因?yàn)槟銓?shí)際上并沒(méi)有拉取每個(gè)包的源碼,而只有按需構(gòu)建時(shí)需要的構(gòu)建基礎(chǔ)架構(gòu)和 Makefile。使用 CVS,你可以輕松地在新版本發(fā)布時(shí)更新 pkgsrc 檢出。
pkgsrc 文檔建議將其源碼樹(shù)放在 /usr
目錄下,因此你必須使用 sudo
(或成為 root)運(yùn)行此命令:
$ cd /usr$ sudo cvs -q -z2 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -r pkgsrc-2019Q3 -P pkgsrc
在我撰寫本文時(shí),最新版本是 2019Q3。請(qǐng)檢查 pkgsrc.org 主頁(yè)的新聞部分或 NetBSD文檔,以確定最新版本。
pkgsrc 樹(shù)復(fù)制到你的計(jì)算機(jī)后,你會(huì)看到一個(gè)充滿構(gòu)建腳本的 /usr/pkgsrc
目錄。在使用之前,你必須引導(dǎo) pkgsrc,以便你可以輕松地訪問(wèn)構(gòu)建和安裝軟件所需的相關(guān)命令。
引導(dǎo) pkgsrc 的方式取決于你所使用操作系統(tǒng)。
對(duì)于 NetBSD,你只需使用捆綁的引導(dǎo)器:
# cd pkgsrc/bootstrap# ./bootstrap
在其他系統(tǒng)上,還有更好的方法,包括一些自定義功能,它是由 Joyent 提供的。要了解運(yùn)行的確切命令,請(qǐng)?jiān)L問(wèn) pkgsrc.joyent.com。比如,在 Linux(Fedora、Debian、Slackware 等)上:
$ curl -O https://pkgsrc.joyent.com/packages/Linux/el7/bootstrap/bootstrap-trunk-x86_64-20170127.tar.gz$ BOOTSTRAP_SHA="eb0d6911489579ca893f67f8a528ecd02137d43a"
盡管路徑暗示文件適用于 RHEL 7,但二進(jìn)制文件往往與所有(最前沿的 Linux 發(fā)行版)兼容。如果你發(fā)現(xiàn)二進(jìn)制文件與你的發(fā)行版不兼容,你可以選擇從源碼構(gòu)建。
驗(yàn)證 SHA1 校驗(yàn)和:
$ echo "${BOOTSTRAP_SHA}" bootstrap-trunk*gz > check-shasumsha1sum -c check-shasum
你還可以驗(yàn)證 PGP 簽名:
$ curl -O https://pkgsrc.joyent.com/packages/Linux/el7/bootstrap/bootstrap-trunk-x86_64-20170127.tar.gz.asc$ curl -sS https://pkgsrc.joyent.com/pgp/56AAACAF.asc | gpg --import$ gpg --verify ${BOOTSTRAP_TAR}{.asc,}
當(dāng)你確認(rèn)你已有正確的引導(dǎo)套件,將其安裝到 /usr/pkg
:
sudo tar -zxpf ${BOOTSTRAP_TAR} -C /
它為你提供了通常的 pkgsrc 命令。將這些位置添加到你的 PATH 環(huán)境變量中:
$ echo "PATH=/usr/pkg/sbin:/usr/pkg/bin:$PATH" >> ~/.bashrc$ echo "MANPATH=/usr/pkg/man:$MANPATH" >> ~/.bashrc
如果你寧愿使用 pkgsrc 而不依賴于 Joyent 的構(gòu)建,那么只需運(yùn)行 pkgsrc 源碼樹(shù)的引導(dǎo)腳本即可。在運(yùn)行特定于系統(tǒng)的腳本之前,請(qǐng)先閱讀 bootstrap
目錄中相關(guān) README
文件。
Bootstrapping pkgsrc on NetBSD
使用 pkgsrc 安裝預(yù)編譯的二進(jìn)制文件(就像使用 DNF 或 Apt 一樣)是很容易的。二進(jìn)制安裝的命令是 pgkin
,它有自己的專門網(wǎng)站 pkgin.net。對(duì)于任何用過(guò) Linux 的人來(lái)說(shuō),這個(gè)過(guò)程應(yīng)該感覺(jué)相當(dāng)熟悉。
要搜索 tmux
包:
$ pkgin search tmux
要安裝 tmux 包:
$ sudo pkgin install tmux
pkgin
命令的目的是模仿典型的 Linux 包管理器的行為,因此有選項(xiàng)可以列出可用的包、查找包提供的特定可執(zhí)行文件,等等。
然而,pkgsrc 真正強(qiáng)大的地方是方便地從源碼構(gòu)建包。你在第一步中檢出了所有 20000 多個(gè)構(gòu)建腳本,你可以直接進(jìn)入 pkgsrc 源碼樹(shù)來(lái)訪問(wèn)這些腳本。
例如,要從源碼構(gòu)建 tcsh
,首先找到構(gòu)建腳本:
$ find /usr/pkgsrc -type d -name "tcsh"/usr/pkgsrc/shells/tcsh
接下來(lái),進(jìn)入源碼目錄:
$ cd /usr/pgksrc/shells/tcsh
構(gòu)建腳本目錄包含許多文件來(lái)幫助在你的系統(tǒng)上構(gòu)建應(yīng)用,但值得注意的是,這里面有包含了軟件說(shuō)明的 DESCR
文件,以及觸發(fā)構(gòu)建的 Makefile
。
$ lsCVS DESCR MakefilePLIST distinfo patches$ cat DESCRTCSH is an extended C-shell with many useful features likefilename completion, history editing, etc.$
準(zhǔn)備就緒后,構(gòu)建并安裝:
$ sudo bmake install
pkgsrc 系統(tǒng)使用 bmake
命令(在第一步檢出 pkgsrc 后提供),因此請(qǐng)務(wù)必使用 bmake
(而不是出于習(xí)慣使用 make
)。
如果要為多個(gè)系統(tǒng)構(gòu)建,那么你可以創(chuàng)建一個(gè)包,而不是立即安裝:
$ cd /usr/pgksrc/shells/tcsh$ sudo bmake package[...]=> Creating binary package in /usr/pkgsrc/packages/All/tcsh-X.Y.Z.tgz
pkgsrc 創(chuàng)建的包是標(biāo)準(zhǔn)的 tarball,但它可以方便地通過(guò) pkg_add
安裝:
$ sudo pkg_add /usr/pkgsrc/packages/All/tcsh-X.Y.Z.tgztcsh-X.Y.Z: adding /usr/pkg/bin/tcsh to /etc/shells$ tcshlocalhost%
pkgsrc 的 pkgtools 集合提供 pkg_add
、pkg_info
、pkg_admin
、pkg_create
和 pkg_delete
命令,來(lái)幫助管理你在系統(tǒng)上構(gòu)建和維護(hù)軟件包。
pkgsrc 系統(tǒng)提供了直接,容易上手的軟件包管理方法。如果你正在尋找一個(gè)不妨礙你并且可以定制的包管理器,請(qǐng)?jiān)谌魏芜\(yùn)行 Unix 或類 Unix 的系統(tǒng)上試試 pkgsrc。
“怎么在Linux上使用pkgsrc”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!