FreeBSD で各種アプリケーションのインストール(ポーツ・ツリー を使用)
【関連する外部ページ】:
前準備
システムの更新
コマンドプロンプト(端末)を管理者権限(root)で開き,次のコマンドを実行する.システムのセキュリティパッチを適用する.
freebsd-update fetch
freebsd-update install
コマンドプロンプト(端末)を管理者権限(root)で開き,次のコマンドを実行する.インストール済みパッケージを更新する.
pkg update
pkg upgrade
ポーツ・ツリーの取得と更新
ポーツ・ツリーの配布は Git で行われる.portsnap は廃止されている.
コマンドプロンプト(端末)を管理者権限(root)で開き,次のコマンドを実行する.Git をインストールする.
pkg install -y devel/git
コマンドプロンプト(端末)を管理者権限(root)で開き,次のコマンドを実行する.ポーツ・ツリーを /usr/ports に取得する(初回のみ).
git clone --depth 1 https://git.FreeBSD.org/ports.git /usr/ports
コマンドプロンプト(端末)を管理者権限(root)で開き,次のコマンドを実行する.ポーツ・ツリーを最新の状態に更新する.
git -C /usr/ports pull --depth 1
ビルドに用いるツール
個々の ports は,そのディレクトリで make install clean を実行することでビルドおよびインストールできる.インストール済み ports の一括更新には次のツールがある.
- ports-mgmt/portmaster: 依存関係をたどって ports を順次ビルドする.追加の依存を必要としない
- ports-mgmt/poudriere: jail 内でビルドし,自前のパッケージリポジトリを作成する.FreeBSD の公式パッケージのビルドにも用いられている.複数台の管理や,ビルドオプションを変更した運用に適する
コマンドプロンプト(端末)を管理者権限(root)で開き,次のコマンドを実行する.これらのツールをインストールする.
pkg install -y ports-mgmt/portmaster ports-mgmt/poudriere
ビルドオプションの設定と解除は,各 ports のディレクトリで次のコマンドを実行して行う.
make -C /usr/ports/www/firefox config
make -C /usr/ports/www/firefox rmconfig
Linux バイナリ互換機能(Linuxulator)の設定
- /etc/rc.conf に「linux_enable="YES"」の 1 行を追加する
linux_enable="YES" - コマンドプロンプト(端末)を管理者権限(root)で開き,次のコマンドを実行する.Linuxulator のサービスを開始する.このサービスは,カーネルモジュール linux64.ko の読み込みと,linprocfs,linsysfs,devfs の /compat/linux 以下へのマウントをまとめて行う./etc/fstab への手動での記述は不要である.
service linux start - コマンドプロンプト(端末)を管理者権限(root)で開き,次のコマンドを実行する.カーネルモジュールが読み込まれていることを確認する.
kldstat | grep linux - コマンドプロンプト(端末)を管理者権限(root)で開き,次のコマンドを実行する.Linux ユーザランド(linux_base-rl9,Rocky Linux 9 ベース)をビルドしてインストールする.
make -C /usr/ports/emulators/linux_base-rl9 install clean BATCH=yes - コマンドプロンプト(端末)を管理者権限(root)で開き,次のコマンドを実行する.マウント状況を確認する.
mount | grep compat
アプリケーション等のインストール
以下に,用途別の ports を示す.
- ライブラリ類
- multimedia/libdvdcss: libdvdcss, DVD の復号を抽象化するライブラリ
- textproc/libxml2: libxml2, XML パーサライブラリ
- textproc/libxml++26: libxml++, libxml2 の C++ API
- devel/libgsf: libgsf, 構造化ファイル形式を扱う入出力抽象化ライブラリ
- devel/qt6-base: Qt 6 の基盤ライブラリ(コア,GUI,ウィジェット)
- print/freetype2: FreeType, TrueType フォントのラスタライズエンジン
- multimedia/ffmpeg: FFmpeg, 音声・動画のエンコード,デコード,変換を行うライブラリおよびツール
- Web ブラウザ
- www/firefox, www/firefox-i18n: Firefox, Web ブラウザ(i18n パッケージは各国語 UI)
- www/chromium: Chromium, Web ブラウザ
- メーラ
- mail/evolution: Evolution, メール,カレンダー,アドレス帳の統合環境
- mail/thunderbird, mail/thunderbird-i18n: Thunderbird, メールおよびニュースのクライアント
- インスタントメッセンジャー,IP 電話
- net-im/pidgin: Pidgin, マルチプロトコル対応のメッセージングクライアント
- net-im/telegram-desktop: Telegram Desktop, メッセージングクライアント
- net-im/jitsi-meet-electron: Jitsi Meet, ビデオ会議クライアント
- ワープロ,表計算,プレゼンテーション
- editors/libreoffice, japanese/libreoffice: LibreOffice, ワープロ,表計算,プレゼンテーション,作図,データベースの統合オフィススイート.japanese/libreoffice は日本語 UI の言語パック.ソースビルドには長時間を要する
- editors/abiword: AbiWord, ワードプロセッサ
- math/gnumeric: Gnumeric, 表計算ソフトウェア
- PDF ビューワ,文書ビューワ,PostScript ファイルビューワ
- graphics/evince: Evince, PDF,PostScript,DjVu などに対応する文書ビューワ
- graphics/zathura, graphics/zathura-pdf-mupdf: zathura, キーボード操作を主体とする軽量な文書ビューワ
- graphics/xpdf: Xpdf, PDF ビューワおよび変換ツール群
- print/gv: gv, PostScript および PDF のプレビューア
- print/ghostscript10, print/gsfonts: Ghostscript 10.x, PostScript および PDF のインタプリタとその標準フォント
- print/psutils: PostScript 文書を操作するユーティリティ群(ページ抜き出し,2 ページを 1 ページに面付けなど)
- 動画(プレイヤー,編集),音楽(プレイヤー)
- multimedia/vlc: VLC, 多数の形式に対応するメディアプレイヤー,ストリーミングサーバ
- multimedia/mpv: mpv, 多数の形式に対応するメディアプレイヤー
- multimedia/smplayer: SMPlayer, mpv のフロントエンド
- multimedia/totem, multimedia/totem-pl-parser: Totem, GNOME のビデオプレイヤー
- multimedia/kdenlive: Kdenlive, 非線形動画編集ソフトウェア
- multimedia/shotcut: Shotcut, 非線形動画編集ソフトウェア
- audio/rhythmbox: Rhythmbox, GNOME の音楽プレイヤー
- audio/amarok: Amarok, KDE の音楽プレイヤー
- multimedia/audacious, multimedia/audacious-plugins: Audacious, 軽量な音楽プレイヤー
- audio/audacity: Audacity, 音声編集ソフトウェア
- CD-R,DVD イメージ作成等
- multimedia/handbrake: HandBrake, 動画のトランスコーダ
- sysutils/brasero: Brasero, GNOME デスクトップ向けの CD/DVD ライティングツール
- sysutils/k3b: K3b, KDE 向けの CD/DVD ライティングツール
- sysutils/cdrtools: cdrtools, CD/DVD への書き込みと ISO-9660 イメージの作成,抽出を行うツール群
- sysutils/dvd+rw-tools: DVD および Blu-ray メディアへの書き込みツール
- 画像ビューワ
- graphics/shotwell: Shotwell, GNOME 向けの写真管理ソフトウェア
- graphics/digikam: digiKam, KDE 向けの写真管理ソフトウェア
- graphics/gwenview: Gwenview, KDE の画像ビューワ
- graphics/gthumb: gThumb, GNOME の画像ビューワ,画像ブラウザ
- graphics/geeqie: Geeqie, GQview から派生した軽量な画像ビューワ
- multimedia/ffmpegthumbnailer: ファイルマネージャから利用できる軽量な動画サムネイル生成ツール
- ペイント,画像処理
- graphics/gimp, graphics/gimp-app, graphics/gimp-data-extras, misc/gimp-help-en: GIMP, 画像編集ソフトウェア.graphics/gimp はメタポート
- graphics/krita: Krita, ペイントソフトウェア
- graphics/ImageMagick7: ImageMagick, コマンドラインの画像処理ツール群
- graphics/GraphicsMagick: GraphicsMagick, ImageMagick から派生した画像処理ツール群
- graphics/rubygem-rmagick: ImageMagick の Ruby バインディング
- games/tuxpaint, games/tuxpaint-config, games/tuxpaint-fonts, games/tuxpaint-stamps: Tux Paint, 子供向けのペイントソフトウェア
- ベクター系のドロー
- graphics/inkscape: Inkscape, SVG 形式のベクターグラフィックスエディタ
- 作図
- graphics/dia: Dia, ダイアグラム作成ソフトウェア
- graphics/drawio: draw.io, ダイアグラム作成ソフトウェア
- graphics/tgif: tgif, 2 次元描画ソフトウェア
- 数値処理,グラフ作成
- math/gnuplot: gnuplot, コマンド駆動の関数・データプロットソフトウェア
- math/octave: GNU Octave, 数値計算環境
- math/scilab: Scilab, 数値計算環境
- math/py-numpy, math/py-matplotlib, science/py-scipy: Python の数値計算,作図ライブラリ
- スケジューラ,カレンダー
- deskutils/gnome-calendar: GNOME Calendar, カレンダーアプリケーション
- deskutils/korganizer: KOrganizer, KDE のスケジュール管理ソフトウェア
- エディタ
- editors/vim: Vim, vi 互換のテキストエディタ
- editors/neovim: Neovim, Vim から派生したテキストエディタ
- editors/emacs, japanese/yatex: GNU Emacs, テキストエディタ.japanese/yatex は LaTeX 編集用の Emacs Lisp パッケージ
- editors/gedit: gedit, GNOME のテキストエディタ
- editors/nano: nano, 操作が簡便なテキストエディタ
- deskutils/gnote: Gnote, GNOME デスクトップ向けのメモ管理ソフトウェア
- バイナリエディタ
- editors/hexedit: hexedit, 端末上で動作するバイナリエディタ
- editors/okteta: Okteta, KDE のバイナリエディタ
- ファイル,ディレクトリ操作
- misc/mc: Midnight Commander, 端末上で動作する 2 画面ファイルマネージャ
- sysutils/fd: fd, find の代替となるファイル検索コマンド
- sysutils/ranger: ranger, 端末上で動作するファイルマネージャ
- 圧縮復元・アーカイバ
- archivers/zip, archivers/unzip: ZIP 形式の作成,展開
- archivers/7-zip: 7-Zip, 7z 形式ほか多数の形式に対応するアーカイバ
- archivers/lha: LZH 形式のアーカイバ
- archivers/zstd: Zstandard, 高速な圧縮ツール
- スペルチェッカ
- textproc/hunspell, textproc/en-hunspell: Hunspell, 多言語対応のスペルチェッカとその英語辞書
- textproc/aspell: GNU Aspell, スペルチェッカ
- ページャ
- misc/lv: lv, 多言語対応のファイルビューワ
- textproc/bat: bat, シンタックスハイライト機能を持つ cat の代替コマンド
- 文字コード,改行コード変換ツール
- japanese/nkf: nkf, 日本語文字コード変換フィルタ
- japanese/qkc: qkc, 複数ファイルを一括処理できる日本語文字コード変換ツール
- converters/dos2unix: 改行コードを DOS 形式(CR/LF)と UNIX 形式(LF)の間で変換する
- converters/libiconv: 文字コード変換ライブラリおよび iconv コマンド
- MS-Word,MS-Excel,MS-PowerPoint ファイルの操作
- editors/libreoffice: LibreOffice, Office 形式のファイルの閲覧,編集,PDF 変換
- textproc/catdoc: MS Word/Excel ファイルをプレーンテキストまたは TeX に変換する
- textproc/xlhtml: Excel および PowerPoint ファイルを HTML またはテキストに変換する
- textproc/py-openpyxl, textproc/py-python-docx: Python から xlsx,docx を読み書きするライブラリ
- テキストファイルを PostScript に/PDF からテキストファイルに
- japanese/a2ps: テキストファイルを PostScript に変換する(日本語対応)
- graphics/poppler-utils: pdftotext などの PDF 変換ツール群
- HTML ファイルを PDF に
- textproc/wkhtmltopdf: HTML を PDF または画像に変換する
- www/py-weasyprint: HTML と CSS から PDF を生成する
- TeX 関連
- print/texlive-full: TeX Live, TeX の文書処理システム一式
- print/detex: TeX ソースから制御綴を除去してプレーンテキストを取り出す
- ネットワークツール
- net/remmina: Remmina, RDP,VNC,SSH に対応するリモートデスクトップクライアント
- net/rsync: ファイルの配布,同期を行うユーティリティ
- ftp/wget, ftp/curl: HTTP(S),FTP でファイルを取得するツール
- ftp/filezilla: FileZilla, FTP,FTPS,SFTP クライアント
- フォント
- japanese/font-std: ports で標準的に用いられる日本語フォントのメタポート
- japanese/font-ipa, japanese/font-ipaex, japanese/font-ipa-uigothic: IPA フォント,IPAex フォント
- japanese/font-vlgothic: VL ゴシック
- japanese/font-sazanami: さざなみフォント
- japanese/font-kochi: 東風フォント
- x11-fonts/noto-jp, x11-fonts/noto-basic: Google Noto フォント(日本語および基本セット)
- x11-fonts/urwfonts-ttf, x11-fonts/intlfonts: PostScript 標準 35 書体互換フォント,多言語ビットマップフォント
- 日本語入力
- japanese/ibus-mozc, textproc/ibus: Mozc, 日本語入力メソッド(IBus 版)
- japanese/fcitx5-mozc, textproc/fcitx5: Mozc, 日本語入力メソッド(Fcitx5 版)
- デスクトップ環境,ウインドウマネージャ
- x11/xfce4: Xfce, 軽量なデスクトップ環境
- x11/lxde-meta, x11-wm/lxsession: LXDE, 軽量なデスクトップ環境
- x11/gnome: GNOME デスクトップ環境
- x11/kde: KDE Plasma デスクトップ環境
- x11-wm/fvwm3: FVWM3, ウインドウマネージャ
- 画面キャプチャ
- graphics/scrot: コマンドラインの画面キャプチャユーティリティ
- graphics/flameshot: Flameshot, 注釈機能を持つ画面キャプチャツール
- システム管理/監視
- security/clamav, security/clamtk: ClamAV, アンチウイルスエンジンとその GUI フロントエンド
- www/e2guardian: Web コンテンツフィルタ(DansGuardian の後継)
- security/nmap: 自身が管理するネットワークの構成確認,稼働サービス調査に用いるスキャナ
- net-mgmt/icinga2, net-mgmt/zabbix7-server: ネットワーク監視システム
- sysutils/htop: プロセスモニタ
- ゲーム,教育
- astro/stellarium: Stellarium, 3 次元の天体シミュレータ
- games/gcompris-qt: GCompris, 子供向けの教育用ソフトウェア集
コマンドプロンプト(端末)を管理者権限(root)で開き,次のスクリプトを実行する.上記の ports をまとめてビルドしてインストールする.BATCH=yes は,オプション選択ダイアログを表示せず既定値を用いる指定である.不要な項目は削除して使用する.
#!/bin/sh
set -e
PORTS="
multimedia/libdvdcss
textproc/libxml2
textproc/libxml++26
devel/libgsf
devel/qt6-base
print/freetype2
multimedia/ffmpeg
www/firefox
www/firefox-i18n
www/chromium
mail/evolution
mail/thunderbird
mail/thunderbird-i18n
net-im/pidgin
net-im/telegram-desktop
editors/libreoffice
japanese/libreoffice
editors/abiword
math/gnumeric
graphics/evince
graphics/zathura
graphics/zathura-pdf-mupdf
graphics/xpdf
print/gv
print/ghostscript10
print/gsfonts
print/psutils
multimedia/vlc
multimedia/mpv
multimedia/smplayer
multimedia/totem
multimedia/totem-pl-parser
multimedia/kdenlive
multimedia/shotcut
audio/rhythmbox
audio/amarok
multimedia/audacious
multimedia/audacious-plugins
audio/audacity
multimedia/handbrake
sysutils/brasero
sysutils/k3b
sysutils/cdrtools
sysutils/dvd+rw-tools
graphics/shotwell
graphics/digikam
graphics/gwenview
graphics/gthumb
graphics/geeqie
multimedia/ffmpegthumbnailer
graphics/gimp
graphics/gimp-data-extras
misc/gimp-help-en
graphics/krita
graphics/ImageMagick7
graphics/GraphicsMagick
graphics/rubygem-rmagick
games/tuxpaint
games/tuxpaint-config
games/tuxpaint-fonts
games/tuxpaint-stamps
graphics/inkscape
graphics/dia
graphics/drawio
graphics/tgif
math/gnuplot
math/octave
math/py-numpy
math/py-matplotlib
deskutils/gnome-calendar
deskutils/korganizer
editors/vim
editors/neovim
editors/emacs
japanese/yatex
editors/gedit
editors/nano
deskutils/gnote
editors/hexedit
misc/mc
sysutils/fd
sysutils/ranger
archivers/zip
archivers/unzip
archivers/7-zip
archivers/lha
archivers/zstd
textproc/hunspell
textproc/en-hunspell
textproc/aspell
misc/lv
textproc/bat
japanese/nkf
japanese/qkc
converters/dos2unix
converters/libiconv
textproc/catdoc
textproc/xlhtml
japanese/a2ps
graphics/poppler-utils
textproc/wkhtmltopdf
print/detex
net/remmina
net/rsync
ftp/wget
ftp/curl
ftp/filezilla
japanese/font-std
japanese/font-ipa
japanese/font-ipaex
japanese/font-ipa-uigothic
japanese/font-vlgothic
japanese/font-sazanami
japanese/font-kochi
x11-fonts/noto-jp
x11-fonts/noto-basic
x11-fonts/urwfonts-ttf
x11-fonts/intlfonts
textproc/ibus
japanese/ibus-mozc
x11/xfce4
x11/lxde-meta
x11-wm/lxsession
x11-wm/fvwm3
graphics/scrot
graphics/flameshot
security/clamav
security/clamtk
www/e2guardian
security/nmap
sysutils/htop
astro/stellarium
games/gcompris-qt
"
for p in ${PORTS}; do
if [ -d "/usr/ports/${p}" ]; then
make -C "/usr/ports/${p}" install clean BATCH=yes
else
echo "skip: ${p} は現在のポーツ・ツリーに存在しない"
fi
done
- ダウンロードされたソースファイルは /usr/ports/distfiles に保存される.コマンドプロンプト(端末)を管理者権限(root)で開き,「make -C /usr/ports clean-distfiles」を実行すると,現在使用されていない配布ファイルを削除できる.
- ports のビルド手順を定義する Makefile 群は /usr/ports/Mk に置かれている.
- ports が削除または改名されている場合がある.コマンドプロンプト(端末)で「make -C /usr/ports search name=gimp」を実行すると,ports を検索できる.削除された ports の情報は /usr/ports/MOVED に記録されている.
インストール後の設定
フォントの設定
現在の X 環境では,フォントの管理は fontconfig が行う.xorg.conf への FontPath の記述は不要である.ports でインストールしたフォントは /usr/local/share/fonts 以下に配置され,自動的に認識される.
コマンドプロンプト(端末)を管理者権限(root)で開き,次のコマンドを実行する.フォントキャッシュを再構築する.
fc-cache -f -v
コマンドプロンプト(端末)を開き,次のコマンドを実行する.日本語フォントが認識されていることを確認する.
fc-list :lang=ja
日本語入力(Mozc)の設定
ホームディレクトリの ~/.xprofile に次の内容を記述する.この作業は,root ではなく一般ユーザで行う.
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
ibus-daemon -drx
.emacs の設定例
ホームディレクトリの ~/.emacs を設定する.この作業は,root ではなく一般ユーザで行う.
;; フォントロックの有効化
(when (fboundp 'global-font-lock-mode)
(global-font-lock-mode t))
;; フレームタイトル
(setq frame-title-format (concat "%b - emacs@" (system-name)))
;; フォント
(when window-system
(set-frame-font "Noto Sans Mono CJK JP-12" t t)
(mouse-wheel-mode 1))
;; 表示の設定
(setq next-line-add-newlines nil)
(setq line-number-mode t)
(column-number-mode 1)
(display-time)
(setq inhibit-startup-message t)
(setq initial-scratch-message nil)
;; テキストモードでの自動折り返し
(add-hook 'text-mode-hook (lambda () (auto-fill-mode 1)))
;; cc-mode
(add-hook 'c-mode-common-hook
(lambda () (c-set-style "gnu")))
;; 日本語環境,文字コードは UTF-8
(set-language-environment "Japanese")
(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(setq default-file-name-coding-system 'utf-8)