成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在Linux上使用pkgsrc

系統 Linux
NetBSD 以能在幾乎所有平臺上運行而聞名,但你知道它第二有名的 pkgsrc 包管理器嗎?像 NetBSD 一樣,pkgsrc 基本上可以在任何系統上運行,或者至少在任意 Unix 和類 Unix 的系統上上運行。

[[283735]]

NetBSD 的軟件包管理器通用、靈活又容易。下面是如何使用它。

NetBSD 以能在幾乎所有平臺上運行而聞名,但你知道它第二有名的 pkgsrc 包管理器嗎?像 NetBSD 一樣,pkgsrc 基本上可以在任何系統上運行,或者至少在任意 Unix 和類 Unix 的系統上上運行。你可以在 BSD、Linux、Illumos、Solaris 和 Mac 上安裝 pkgsrc。它總共支持 20 多種操作系統。

為什么使用 pkgsrc?

除了 MacOS 之外,所有 Unix 操作系統均自帶包管理器。你不一定需要 pkgsrc,但這可能是你想嘗試的三個重要原因:

  • 打包。如果你對打包感到好奇,但尚未嘗試自己創建一個軟件包,那么 pkgsrc 是一個相對簡單的系統,尤其是如果你已經熟悉 Makefile 和類似 GNU Autotools 之類的構建系統時。
  • 通用。如果你使用多個操作系統或發行版,那么可能會遇到每個系統的包管理器。你可以在不同的系統上使用 pkgsrc,以便你為一個系統打包了程序,就為所有系統打包了。
  • 靈活。在許多打包系統中,如何選擇二進制包或源碼包并不總是很明顯。使用 pkgsrc,區別很明顯,兩種安裝方法都一樣容易,并且都可以為你解決依賴關系。

如何安裝 pkgsrc

無論你使用的是 BSD、Linux、Illumos、Solaris 還是 MacOS,安裝過程都基本相同:

  1. 使用 CVS 檢出 pkgsrc 樹
  2. 引導 pkgsrc 系統
  3. 安裝軟件包

使用 CVS 檢出 pkgsrc 樹

在 Git 和 Subversion 之前,就有了 CVS。要檢出代碼你無需了解 CVS 太多,如果你習慣 Git,那么可以將檢出checkout稱為克隆clone。當你用 CVS 檢出 pkgsrc 時,你就下載了詳細說明如何構建每個軟件包的“配方recipes”。它有很多文件,但是它們都很小,因為你實際上并沒有拉取每個包的源碼,而只有按需構建時需要的構建基礎架構和 Makefile。使用 CVS,你可以輕松地在新版本發布時更新 pkgsrc 檢出。

pkgsrc 文檔建議將其源碼樹放在 /usr 目錄下,因此你必須使用 sudo(或成為 root)運行此命令:

  1. $ cd /usr
  2. $ sudo cvs -q -z2 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -r pkgsrc-2019Q3 -P pkgsrc

在我撰寫本文時,最新版本是 2019Q3。請檢查 pkgsrc.org 主頁的新聞部分或 NetBSD文檔,以確定最新版本。

引導 pkgsrc

pkgsrc 樹復制到你的計算機后,你會看到一個充滿構建腳本的 /usr/pkgsrc 目錄。在使用之前,你必須引導 pkgsrc,以便你可以輕松地訪問構建和安裝軟件所需的相關命令。

引導 pkgsrc 的方式取決于你所使用操作系統。

對于 NetBSD,你只需使用捆綁的引導器:

  1. # cd pkgsrc/bootstrap
  2. # ./bootstrap

在其他系統上,還有更好的方法,包括一些自定義功能,它是由 Joyent 提供的。要了解運行的確切命令,請訪問 pkgsrc.joyent.com。比如,在 Linux(Fedora、Debian、Slackware 等)上:

  1. $ curl -O https://pkgsrc.joyent.com/packages/Linux/el7/bootstrap/bootstrap-trunk-x86_64-20170127.tar.gz
  2. $ BOOTSTRAP_SHA="eb0d6911489579ca893f67f8a528ecd02137d43a"

盡管路徑暗示文件適用于 RHEL 7,但二進制文件往往與所有(最前沿的 Linux 發行版)兼容。如果你發現二進制文件與你的發行版不兼容,你可以選擇從源碼構建。

驗證 SHA1 校驗和:

  1. $ echo "${BOOTSTRAP_SHA}" bootstrap-trunk*gz > check-shasum
  2. sha1sum -c check-shasum

你還可以驗證 PGP 簽名:

  1. $ curl -O https://pkgsrc.joyent.com/packages/Linux/el7/bootstrap/bootstrap-trunk-x86_64-20170127.tar.gz.asc
  2. $ curl -sS https://pkgsrc.joyent.com/pgp/56AAACAF.asc | gpg --import
  3. $ gpg --verify ${BOOTSTRAP_TAR}{.asc,}

當你確認你已有正確的引導套件,將其安裝到 /usr/pkg

  1. sudo tar -zxpf ${BOOTSTRAP_TAR} -C /

它為你提供了通常的 pkgsrc 命令。將這些位置添加到你的 PATH 環境變量中

  1. $ echo "PATH=/usr/pkg/sbin:/usr/pkg/bin:$PATH" >> ~/.bashrc
  2. $ echo "MANPATH=/usr/pkg/man:$MANPATH" >> ~/.bashrc

如果你寧愿使用 pkgsrc 而不依賴于 Joyent 的構建,那么只需運行 pkgsrc 源碼樹的引導腳本即可。在運行特定于系統的腳本之前,請先閱讀 bootstrap 目錄中相關 README 文件。

 

如何在Linux上使用pkgsrc

Bootstrapping pkgsrc on NetBSD

如何使用 pkgsrc 安裝軟件

使用 pkgsrc 安裝預編譯的二進制文件(就像使用 DNF 或 Apt 一樣)是很容易的。二進制安裝的命令是 pgkin,它有自己的專門網站 pkgin.net。對于任何用過 Linux 的人來說,這個過程應該感覺相當熟悉。

要搜索 tmux 包:

  1. $ pkgin search tmux

要安裝 tmux 包:

  1. $ sudo pkgin install tmux

pkgin 命令的目的是模仿典型的 Linux 包管理器的行為,因此有選項可以列出可用的包、查找包提供的特定可執行文件,等等。

如何使用 pkgsrc 從源碼構建

然而,pkgsrc 真正強大的地方是方便地從源碼構建包。你在第一步中檢出了所有 20000 多個構建腳本,你可以直接進入 pkgsrc 源碼樹來訪問這些腳本。

例如,要從源碼構建 tcsh,首先找到構建腳本:

  1. $ find /usr/pkgsrc -type d -name "tcsh"
  2. /usr/pkgsrc/shells/tcsh

接下來,進入源碼目錄:

  1. $ cd /usr/pgksrc/shells/tcsh

構建腳本目錄包含許多文件來幫助在你的系統上構建應用,但值得注意的是,這里面有包含了軟件說明的 DESCR 文件,以及觸發構建的 Makefile

  1. $ ls
  2. CVS    DESCR     Makefile
  3. PLIST  distinfo  patches
  4. $ cat DESCR
  5. TCSH is an extended C-shell with many useful features like
  6. filename completion, history editing, etc.
  7. $

準備就緒后,構建并安裝:

  1. $ sudo bmake install

pkgsrc 系統使用 bmake 命令(在第一步檢出 pkgsrc 后提供),因此請務必使用 bmake(而不是出于習慣使用 make)。

如果要為多個系統構建,那么你可以創建一個包,而不是立即安裝:

  1. $ cd /usr/pgksrc/shells/tcsh
  2. $ sudo bmake package
  3. [...]
  4. => Creating binary package in /usr/pkgsrc/packages/All/tcsh-X.Y.Z.tgz

pkgsrc 創建的包是標準的 tarball,但它可以方便地通過 pkg_add 安裝:

  1. $ sudo pkg_add /usr/pkgsrc/packages/All/tcsh-X.Y.Z.tgz
  2. tcsh-X.Y.Z: adding /usr/pkg/bin/tcsh to /etc/shells
  3. $ tcsh
  4. localhost%

pkgsrc 的 pkgtools 集合提供 pkg_addpkg_infopkg_adminpkg_createpkg_delete 命令,來幫助管理你在系統上構建和維護軟件包。

pkgsrc,易于管理

pkgsrc 系統提供了直接,容易上手的軟件包管理方法。如果你正在尋找一個不妨礙你并且可以定制的包管理器,請在任何運行 Unix 或類 Unix 的系統上試試 pkgsrc。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2021-10-02 10:10:47

LinuxBusyBox命令

2019-01-07 09:50:06

Linuxtarball命令

2023-01-17 07:40:59

LinuxAppImage應用程序

2020-08-24 12:37:54

Linuxxargs命令

2022-08-10 13:12:04

Linuxcat命令

2018-03-07 11:32:44

LinuxVundleVim

2022-09-19 08:45:52

Telnet系統Linux

2018-08-06 09:30:00

LinuxPbcopyPbpaste

2018-04-25 10:46:05

Linux命令行日歷

2015-08-21 09:07:52

LinuxNMAP安全

2021-08-03 14:33:53

cron定時器Linux命令

2021-10-12 08:43:19

LinuxSambaWindows

2018-12-11 11:00:50

Linux字體命令

2020-04-21 14:21:31

LinuxPython

2014-06-05 15:06:29

2017-05-03 15:30:38

LinuxMeld比較文件夾

2022-08-30 19:14:31

LinuxBash

2016-11-23 08:48:24

LinuxCalibre電子書

2019-09-29 09:40:20

LinuxWindowsMacOS

2019-11-26 09:20:47

LinuxJava
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成年无码av片在线 | 亚洲理论在线观看电影 | 日韩毛片 | 久久99精品国产 | 国产一区二区三区高清 | 夜夜爽99久久国产综合精品女不卡 | 一级做a爰片性色毛片 | 青青草免费在线视频 | 求毛片| 99久久久久久| 国产激情91久久精品导航 | 欧美一区二区在线观看视频 | 色偷偷噜噜噜亚洲男人 | 国产成人综合网 | 国产美女免费视频 | 狠狠亚洲 | 久久草在线视频 | 高清亚洲| 夜久久| 国产午夜高清 | 在线免费观看a级片 | 国产成人综合久久 | 农村黄性色生活片 | 九九国产在线观看 | 欧美一级特黄aaa大片在线观看 | 久久久久国产精品午夜一区 | 久久午夜视频 | 亚洲在线高清 | 国产成人免费网站 | 日韩视频免费看 | 国产成人综合一区二区三区 | 人人干人人玩 | 欧美日韩在线免费 | 日本中文字幕日韩精品免费 | 久久88| 日韩欧美精品 | 精品日韩欧美一区二区 | 国产激情视频网站 | 成人av网站在线观看 | 国产精品久久久久久久久久妞妞 | 久久综合一区 |