FreeBSD 软件包管理 您所在的位置:网站首页 阅读app321书源 FreeBSD 软件包管理

FreeBSD 软件包管理

2023-04-13 23:36| 来源: 网络整理| 查看: 265

FreeBSD 中的软件包分为两类,一类叫 package,一类叫 port。package 是已编译好的二进制软件包,port 是未编译的源代码软件包,package 通过 pkg 工具管理,port 通过 make 工具管理。本文介绍通过 pkg 工具管理 package 软件包,package 也是绝大多数场景使用的包。

安装 pkg 工具

FreeBSD 的 Base System 未默认安装 pkg 工具,第一次使用时,须先安装 pkg 工具。通过如下命令实现:

root# /usr/sbin/pkg bootstrap The package management tool is not yet installed on your system. Do you want to fetch and install it now? [y/N]: y Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:12:amd64/quarterly, please wait... Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done Installing pkg-1.14.6... Extracting pkg-1.14.6: 100% 1.14.5 更新 pkg 工具的本地索引数据库

安装完 pkg 后,须先更新 pkg 的本地索引数据库。通过如下命令实现:

root# pkg update Updating FreeBSD repository catalogue... Fetching meta.conf: 100% 163 B 0.2kB/s 00:01 Fetching packagesite.txz: 100% 6 MiB 8.0kB/s 13:40 Processing entries: 100% FreeBSD repository update completed. 32006 packages processed. All repositories are up to date.

另,安装或升级 package 时,pkg 数据库会自动更新。

搜索 package

安装完 pkg 后,可通过 pkg search 命令搜索想安装的 package,搜索关键词可以是正则表达式。例如:

root# pkg search chromium chromium-84.0.4147.135 Google web browser based on WebKit chromium-bsu-0.9.16.1_1 Arcade-style, top-scrolling space shooter chromium-gn-84.0.4147.135 Gn meta build framework

如果不想显示 package 后面的简短描述,可以使用 -q 选项。如果想显示关于 package 的全部信息,可以使用 -f 选项。例如:

root# pkg search 'chromium-8' chromium-84.0.4147.135 Google web browser based on WebKit root# pkg search -q 'chromium-8' chromium-84.0.4147.135 root# pkg search -f 'chromium-8' chromium-84.0.4147.135 Name : chromium Version : 84.0.4147.135 Origin : www/chromium Architecture : FreeBSD:12:amd64 Prefix : /usr/local Repository : FreeBSD [pkg+http://pkg.FreeBSD.org/FreeBSD:12:amd64/quarterly] Categories : java www Licenses : BSD3CLAUSE, LGPL21, MPL11 Maintainer : [email protected] WWW : https://www.chromium.org/Home Comment : Google web browser based on WebKit Options : ALSA : on CODECS : on CUPS : on DEBUG : off DRIVER : on KERBEROS : on PULSEAUDIO : off SNDIO : off TEST : off Shared Libs required: libavutil.so.56 libexpat.so.1 libxslt.so.1 libjpeg.so.8 libopus.so.0 libfreetype.so.6 libFLAC.so.8 libXtst.so.6 libX11-xcb.so.1 libatk-1.0.so.0 libdrm.so.2 libcups.so.2 libplc4.so libatspi.so.0 libXss.so.1 libasound.so.2 libwebpmux.so.3 libnss3.so libnssutil3.so libgbm.so.1 libXrender.so.1 libglib-2.0.so.0 libharfbuzz.so.0 libintl.so.8 libXrandr.so.2 libsnappy.so.1 libavformat.so.58 libsmime3.so libXi.so.6 libgdk-3.so.0 libpci.so.3 libpangocairo-1.0.so.0 libatk-bridge-2.0.so.0 libXext.so.6 libpango-1.0.so.0 libcairo.so.2 libgtk-3.so.0 libxml2.so.2 libwebp.so.7 libcairo-gobject.so.2 libgmodule-2.0.so.0 libXcomposite.so.1 libxcb.so.1 libopenh264.so.6 libgio-2.0.so.0 libgdk_pixbuf-2.0.so.0 libXfixes.so.3 libwebpdemux.so.2 libnspr4.so libharfbuzz-subset.so.0 libgobject-2.0.so.0 libXcursor.so.1 libplds4.so libavcodec.so.58 libdbus-1.so.3 libXdamage.so.1 libGL.so.1 libX11.so.6 libpng16.so.16 libfontconfig.so.1 libxcb-dri3.so.0 libgthread-2.0.so.0 Shared Libs provided: libvk_swiftshader.so libEGL.so libGLESv2.so libVkICD_mock_icd.so Annotations : FreeBSD_version: 1201000 cpe : cpe:2.3:a:google:chrome:84.0.4147.135:::::freebsd12:x64 deprecated : Uses Python 2.7 which is EOLed upstream expiration_date: 2020-12-31 Flat size : 270MiB Pkg size : 73.8MiB Description : Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web. The Chromium website contains design documents, architecture overviews, testing information, and more to help you learn to build and work with the Chromium source code. WWW: https://www.chromium.org/Home

描述 package 的详细信息的其它字段也可以搜索,使用 -D 选项对 package 的描述信息进行搜索。例如:

root# pkg search -Dq 'chromium' cld2-20150505 py27-cld-20150113_1 py37-cld-20150113_1 crosextrafonts-caladea-20130214_4 crosextrafonts-carlito-20130920_4 chromium-bsu-0.9.16.1_1 chromium-84.0.4147.135 chromium-gn-84.0.4147.135 iridium-browser-2020.04.81 keepassxc-2.5.4 ja-fcitx-mozc-2.23.2815.102.00_7 ja-uim-mozc-2.23.2815.102.00_7 ja-mozc-tool-2.23.2815.102.00_7 ja-mozc-server-2.23.2815.102.00_7 ja-mozc-el-emacs28_nox-2.23.2815.102.00_1 ja-mozc-el-emacs28-2.23.2815.102.00_1 ja-mozc-el-emacs26_nox-2.23.2815.102.00_1 ja-mozc-el-emacs26_canna-2.23.2815.102.00_1 ja-mozc-el-emacs26-2.23.2815.102.00_1 ja-ibus-mozc-2.23.2815.102.00_7 ninja-1.10.0,2 icingaweb2-module-pdfexport-php74-0.9.0_2 icingaweb2-module-pdfexport-php73-0.9.0_2 icingaweb2-module-pdfexport-php72-0.9.0_2 ots-8.0.0 py37-codesearch-py-g20190528,1 py27-codesearch-py-g20190528,1 cquery-20180718_7 py37-hstspreload-2020.6.23 libyuv-0.0.1280 安装 package

搜索到需要的 package 后,可使用 pkg install 命令安装。例如:

root# pkg search 'google.*translate' google-translate-cli-0.9.6.10 Google Translate to serve as a command line tool py37-google-cloud-translate-1.3.1_1 Python Client for Google Cloud Translation root# pkg install google-translate-cli Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. The following 7 package(s) will be affected (of 0 checked): New packages to be INSTALLED: bash: 5.0.17 gawk: 5.1.0 gettext-runtime: 0.20.2 google-translate-cli: 0.9.6.10 indexinfo: 0.3.1 libsigsegv: 2.12 readline: 8.0.4 Number of packages to be installed: 7 The process will require 16 MiB more space. 3 MiB to be downloaded. Proceed with this action? [y/N]: y [1/7] Fetching google-translate-cli-0.9.6.10.txz: 100% 38 KiB 38.7kB/s 00:01 [2/7] Fetching bash-5.0.17.txz: 100% 2 MiB 396.6kB/s 00:04 [3/7] Fetching indexinfo-0.3.1.txz: 100% 6 KiB 5.8kB/s 00:01 [4/7] Fetching gettext-runtime-0.20.2.txz: 100% 161 KiB 165.1kB/s 00:01 [5/7] Fetching gawk-5.1.0.txz: 100% 924 KiB 236.6kB/s 00:04 [6/7] Fetching readline-8.0.4.txz: 100% 354 KiB 181.1kB/s 00:02 [7/7] Fetching libsigsegv-2.12.txz: 100% 18 KiB 18.0kB/s 00:01 Checking integrity... done (0 conflicting) [1/7] Installing indexinfo-0.3.1... [1/7] Extracting indexinfo-0.3.1: 100% [2/7] Installing gettext-runtime-0.20.2... [2/7] Extracting gettext-runtime-0.20.2: 100% [3/7] Installing readline-8.0.4... [3/7] Extracting readline-8.0.4: 100% [4/7] Installing libsigsegv-2.12... [4/7] Extracting libsigsegv-2.12: 100% [5/7] Installing bash-5.0.17... [5/7] Extracting bash-5.0.17: 100% [6/7] Installing gawk-5.1.0... [6/7] Extracting gawk-5.1.0: 100% [7/7] Installing google-translate-cli-0.9.6.10... [7/7] Extracting google-translate-cli-0.9.6.10: 100% ===== Message from libsigsegv-2.12: -- Note that the stackoverflow handling functions of this library need procfs mounted on /proc. root# trans 'salut le monde' salut le monde Hello world Translations of salut le monde [ Français -> English ] salut le monde Hello world 更新 package

使用命令 pkg upgrade 更新 pacakge。例如:

root# pkg upgrade espeak Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. Checking integrity... done (0 conflicting) Your packages are up to date.

如果 pkg upgrade 后不跟 pacakge name,则更新所有已安装的 package。

列出已安装的所有 package

使用 pkg info 列出所有已安装的 pacakge。例如:

root# pkg info bash-5.0.17 GNU Project's Bourne Again SHell espeak-1.48.04_7 Software speech synthesizer gawk-5.1.0 GNU version of AWK scripting language gettext-runtime-0.20.2 GNU gettext runtime libraries and programs google-translate-cli-0.9.6.10 Google Translate to serve as a command line tool indexinfo-0.3.1 Utility to regenerate the GNU info page index libsigsegv-2.12 Handling page faults in user mode pkg-1.14.6 Package manager portaudio-19.6.0_4,1 Portable cross-platform Audio API readline-8.0.4 Library for editing command lines as they are typed 卸载 pcakge

使用 pkg delete 卸载已安装的 pacakge。例如:

root# pkg delete espeak Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: espeak: 1.48.04_7 Number of packages to be removed: 1 The operation will free 3 MiB. Proceed with deinstalling packages? [y/N]: y [1/1] Deinstalling espeak-1.48.04_7... [1/1] Deleting files for espeak-1.48.04_7: 100%

使用 pkg autoremove 卸载因卸载 pacakge 后而不再需要的 pacakge。例如:

root# pkg autoremove Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages: Installed packages to be REMOVED: portaudio: 19.6.0_4,1 Number of packages to be removed: 1 Proceed with deinstalling packages? [y/N]: y [1/1] Deinstalling portaudio-19.6.0_4,1... [1/1] Deleting files for portaudio-19.6.0_4,1: 100%


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有