
GNU/LinuxからFreeBSDに移行した時、どのように実行すればいいのか疑問に思うのは当然です。 ネイティブLinuxプログラムで頭を悩ませることなくFreeBSD には、バイナリパッケージ、よく知られている Ports Collection、そして Linux 互換レイヤー(いわゆる Linuxulator)といった複数のパスが用意されています。それぞれの方法には、利点、制限、そして設定上の特徴があります。
このガイドでは、見落とされがちなニュアンスに焦点を当てた、実用的かつ包括的な概要を紹介します。 ソースコードからコンパイルする理由 rc.conf、loader.conf、fstab を微調整する方法から、グラフィック ドライバー、自動マウント、CUPS、フォント、システム言語、そしてもちろん、最新の Linux 互換性とその CPU 要求への対処方法までを網羅しています。
FreeBSD の本当の選択肢: パッケージ、ポート、Linux との互換性
FreeBSDでは、バイナリパッケージ(パッケージ)、Ports Collection(ソースからのビルド)、そして Linuxバイナリを実行するためのLinuxサポート適切なものを選択するには、速度、カスタマイズ、アプリケーションに必要なスタックのニーズに応じて判断します。
バイナリパッケージはインストール可能な「既成プログラム」ですが、 ポートはソースコードからコンパイルされます パッチとオプションを適用します。ネイティブポートのないアプリケーションを実行する必要がある場合、FreeBSDはLinuxバイナリをロードできます。 互換性環境 (一定の要件あり)。

ソースからコンパイルすることが良いアイデアである理由
バイナリパッケージは非常に便利ですが、ソースからプルする必要がある理由がいくつかあります。ライセンスによっては バイナリの配布は禁止されており、コードの配布のみが許可されています。そのような場合には、ポートが自然なルートとなります。
サードパーティのバイナリを信用しない人もいます。コードであれば、少なくとも理論上は、 潜在的な問題を監査して検出する コンパイル前に。これは追加の制御レイヤーであり、時には効果を発揮します。
独自のパッチを保守したり、きめ細かなコンパイルオプションを有効/無効にする必要がある場合は、 情報源が必要になります 適用するために。Ports はまさにそのために設計されており、非常に細かい変数とオプションを備えています。
そして、純粋な技術的な好奇心から言うと、コードを手元に置いておくことで 部品の読み取り、変更、再利用 (ライセンスが許せば)、BSD エコシステムでは常に高く評価されてきたものです。
FreeBSD のバイナリ パッケージ: pkg_add から pkg へ
FreeBSDのバイナリパッケージは、Debian/Ubuntuの.debやFedoraの.rpmに相当し、設定ファイルとドキュメントファイルを含むコンパイル済みのバイナリです。現在、これらは次のように管理されています。 pkgツールこれは、従来の pkg_add、pkg_delete、pkg_info に代わるものです。
コマンド パッケージに含まれる必須項目: インストール、検索、更新、クリーンアップ。 例えば、
# pkg update -f
# pkg upgrade
# pkg search libre
# pkg install firefox
# pkg info firefox
# pkg remove firefox
# pkg autoremove
# pkg clean
# du -hs /var/cache/pkg/
歴史的には、 pkg_add -r 自動的にインストールして依存関係を解決できます。特定のリリースでは、このコマンドはプログラムの古いバージョンをダウンロードする可能性があります。環境変数 パッケージサイト より最近のリポジトリを強制することができます。例:
PACKAGESITE=ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/
Linuxから移行してきた場合、FreeBSDでは次のような拡張機能が使われていることに気づくでしょう。 .tgz または .tbz コンパイル済みパッケージとローカルパッケージデータベースが存在する /var/db/pkg監査やスクリプトに役立つ詳細です。
Ports Collection: オプションを指定してコンパイルすれば、驚くようなことはありません
ポートコレクションは、 /usr/ポート Makefile、パッチ、記述子が含まれています。portをインストールする際、システムはソースのダウンロード、パッチの適用、コンパイル、インストール、そして依存関係の解決を同じプロセスで実行するため、非常に便利です。
ツリーを移動または更新するには、次のような古典的な方法を使用できます。 portsnap または csup (Git も現在では一般的ですが、概念は同じです。つまり、Ports ツリーを FreeBSD サーバーと同期します)。
自動クリーンアップ付きのコンパイルとインストールの典型的な例:
# cd /usr/ports/www/apache22
# make install clean
特別な要件がある場合は、make変数を使用してコンパイルオプションを有効にします。例えば、 mod_ldap ビルド中のApacheで:
# cd /usr/ports/www/apache22
# make WITH_LDAP="YES" install clean
便利なトリック:好みに合わせてポートをコンパイルし、 パッケージを生成する 両方の長所 (カスタマイズと迅速な展開) を組み合わせて、他のマシンに配布します。
インストールするものとそれがどこにあるかを見つける
正確な名前が分かっている場合は、pkgを使用すると簡単に パッケージ検索Portsエコシステムでは、クエリツールを使用してツリー自体から検索することもできます。また、システムには 大文字と小文字を区別 ルートや名前を検索するとき。
港で地元を探索するには、移動してください /usr/ポート ターゲット検索を使用するか、カテゴリ(www、sysutils、multimediaなど)別にディレクトリを参照します。利用可能なポートの詳細は、公式ウェブサイトに記載されています。
Linux 互換性 (Linuxulator): Linux バイナリの実行
FreeBSDは互換性レイヤーを介してLinuxバイナリを実行できます。2025年までに、互換性エコシステムは Rocky Linuxベースのリポジトリ ユーザーパッケージ用で、古いCentOSに代わるものです。また、chrootも一般的に見られます。 /compat/ubuntu (例えば、特定のFocal Ubuntu apps).
これを有効にするには、Linuxベースをインストールし、サービスと疑似ファイルシステムを設定します。C7ベースを使用した典型的な例(pkg searchで利用可能な最新のものに調整してください):
# pkg search linux_base-c
# pkg install linux_base-c7
rc.confでランタイムを有効にし、マウントします linprocfs linsysfs を実行し、システム上で fdesc と proc が機能していることを確認します。
# sysrc linux_enable="YES"
# sysrc devfs_system_ruleset="devfsrules_common"
# echo "fdesc /dev/fd fdescfs rw 0 0" >> /etc/fstab
# echo "proc /proc procfs rw 0 0" >> /etc/fstab
# echo "linprocfs /compat/linux/proc linprocfs rw 0 0" >> /etc/fstab
# echo "linsysfs /compat/linux/sys linsysfs rw 0 0" >> /etc/fstab
# mount -t linprocfs linproc /compat/linux/proc
# mount -t linsysfs linsys /compat/linux/sys
古いハードウェアの重要な詳細: glibcはx86-64-v2マイクロアーキテクチャを必要とする古いマシン(一部のThinkPad T400など)では、最近のLinuxバイナリを実行すると「致命的なエラー:CPUはx86-64-v2をサポートしていません」というエラーが表示されます。FreeBSD自体は問題なく動作しますが、最新のglibcに依存するLinux、エミュレーション、仮想化との互換性が失われます。 CPUが従わない場合はゲームから外れます.
このシナリオでは、chrootは /compat/ubuntu (Focal) はインストール可能ですが、Linuxシステム内部のCライブラリがx86-64-v2を必要とする場合、命令要件を満たせません。代替案を検討してください。 ワイン アプリ用 Windows (このようにBraveを実行しているものもあります)、または互換性のあるCPUに仮想化された軽量Linuxをマウントします。そうでない場合は、 ネイティブBSDアプリケーション またはより軽量なソリューション。
DRM、Brave、保護されたコンテンツ
FreeBSDでDRM対応コンテンツ(Prime Videoなど)を再生するには、いくつかのショートカットがあります。BraveなどのブラウザのLinux版をLinux互換モードまたはchrootでインストールする人もいますが、CPUがサポートしていない場合は 現代のglibcに必要な拡張機能、その計画は崩壊します。
上記のすべてがCPUの制限により失敗した場合は、ポート/パッケージで利用可能な場合はWidevineを使用したネイティブFirefoxを検討するか、 勇敢なワイン (状況によります。) 最終的な決定は、ブラウザで有効にできる DRM サポートと、お持ちのハードウェアによって異なります。
快適な作業のためのFreeBSDデスクトップの設定
FreeBSDを初めて触る場合は、GhostBSDから始めるのが良い入門書になるかもしれませんが、FreeBSD 14をデスクトップとしてセットアップすることも全く問題ありません。安定性と柔軟性に優れたスタックは、通常 Xorg + MATE 適切なグラフィック ドライバーを使用します。
をインストールします 基本コンポーネント:
# pkg install xorg nano drm-510-kmod gpu-firmware-kmod
サービスとドライバーをアクティブ化する /etc/rc.conf 統合GPUによって異なります。 インテル 通常:
hald_enable="YES"
dbus_enable="YES"
kld_list="i915kms"
AMD Radeon/統合AMDGPUの場合:
hald_enable="YES"
dbus_enable="YES"
kld_list="/boot/modules/amdgpu.ko"
グラフィカルサーバーを再起動してテストします。 startxターミナルを備えた基本的な X 環境が表示されれば、正しい手順です。
MATEをインストールし、sudoを実行してグラフィカルセッションを準備する
基本システムの準備ができたら、MATE 環境と初期ユーティリティをインストールします。
# pkg install mate mate-desktop firefox sudo
ユーザーにsudo権限を付与します /usr/local/etc/sudoers:
TU_USUARIO ALL=(ALL:ALL) ALL
クレア 〜/ .xinitrc MATE を正しく起動し、セッション/DBus を管理するには:
exec ck-launch-session dbus-launch mate-session
ユーザーから実行 startx デスクトップに入ります。ディスプレイマネージャーを使いたい場合は、GTK Greeter を搭載した LightDM が便利です。
# pkg install lightdm lightdm-gtk-greeter
# sysrc lightdm_enable="YES"
CUPSとHPLIPを搭載したプリンター
印刷するには、CUPS とフィルターをインストールして有効にし、cups グループにユーザーを追加します。HPLIP HPがずっと簡単になります:
# pkg install cups foomatic-filters
# sysrc cupsd_enable="YES"
# pw usermod root -G cups
# pw usermod TU_USUARIO -G cups
# pkg install hplip
# hp-setup
何かが抵抗する場合は、CUPSインターフェースに入り、 http://localhost:631CUPSを使用する場合は、必ずlpdを無効にしてください。
lpd_enable="NO"
スペイン語のフォント、ローカライズ、Firefox
システムを美しく見せるためにインストール URWと他の家族 (ウェブフォント、解放など):
# pkg install urwfonts x11-fonts/webfonts comfortaa-ttf gnu-unifont gofont-ttf inconsolata-ttf liberation-fonts-ttf
スペイン語を有効にする(en_ES.UTF-8コンソールおよびグラフィカルセッション用の .dir を作成します。$HOME に適切なファイルを作成します。
$ nano .login_conf
me:\
:charset=UTF-8:\
:lang=es_ES.UTF-8:\
:tc=default:
$ nano .profile
LANG=es_ES.UTF-8; export LANG
MM_CHARSET=UTF-8; export MM_CHARSET
$ nano .xinitrc
LANG=es_ES.UTF-8; export LANG
MM_CHARSET=UTF-8; export MM_CHARSET
exec ck-launch-session dbus-launch mate-session
全体的に微調整するには、 / etc / profile (ルートとして):
LANG=es_ES.UTF-8; export LANG
MM_CHARSET=UTF-8; export MM_CHARSET
Firefoxが英語のままになっている場合は、 言語パック 公式サイトから、「設定」>「一般」>「言語」の「代替を設定」でスペイン語を選択してください。修正用の辞書を追加することもできます。
自動マウント、FUSE、およびデバイスの権限
メモリを自動的にマウントするには USB およびその他のメディアの場合は、automountをインストールしてdevdを再起動します。FUSEを使用すると NTFS、EXTなど devfsの権限とルールの設定が重要:
# pkg install automount fuse fuse-utils fusefs-ext2 e2fsprogs
# service devd restart
# cp /usr/local/etc/automount.conf.sample /usr/local/etc/automount.conf
# sysrc devfs_system_ruleset="devfsrules_common"
En /usr/local/etc/automount.conf、有効にする ユーザーによる分解:
USERUMOUNT=YES
保証する /etc/fstab インクルード 疑似FS sysctl でユーザーごとのマウントを有効にします。
# echo "proc /proc procfs rw 0 0" >> /etc/fstab
# echo "fdesc /dev/fd fdescfs rw 0 0" >> /etc/fstab
# sysrc -f /etc/sysctl.conf vfs.usermount=1
ユーザーを追加する ホイールとオペレーターFUSE をロードし、devfs.conf でデバイスの権限を定義し、devfs.rules で高度なルールを定義します (例):
# pw usermod TU_USUARIO -G wheel
# pw usermod TU_USUARIO -G operator
# kldload fuse.ko
/etc/devfs.conf:
perm devstat 0444
own /dev/acd0 root:operator
perm /dev/acd0 0666
perm /dev/cd0 0660
perm /dev/da0 0666
...
/etc/devfs.rules:
[devfsrules_common=7]
add path 'ada[0-9]*' mode 666 group operator
add path 'da[0-9]*' mode 666
add path 'cd[0-9]*' mode 666
add path 'mmcsd[0-9]*' mode 666
add path 'usb/*' mode 666 group operator
add path 'video[0-9]*' mode 666
...
古いブラウザやアプリのJavaの場合は、shm_allow_removedを設定し、次のようなランタイムを追加します。 icedtea-web と openjdk8-jre:
# sysrc -f /etc/sysctl.conf kern.ipc.shm_allow_removed=1
# pkg install icedtea-web openjdk8-jre
グラフィックドライバー、アクセラレーション、テスト
GPUの場合 NVIDIAドライバをインストールしてロードします ブーツ; X が xorg.conf を作成しない場合は、X -configure を使用して生成します。 NVIDIAは多くの場合プラグアンドプレイです:
# pkg install nvidia-driver
# kldload nvidia
# sysrc -f /boot/loader.conf nvidia_load="YES"
# X -configure
# cp /root/xorg.conf.new /etc/X11/xorg.conf
最近のAMD/ATIでは、 drm-510-kmod ファームウェア; rc.conf で amdgpu を有効にします:
# pkg install drm-510-kmod gpu-firmware-kmod
# sysrc kld_list+="amdgpu"
OpenGLアクセラレーションをチェックするには、以下を実行します。 glxinfo レンダリングを確認します。
# pkg install mesa-demos
# glxinfo | grep -i render
Intel統合グラフィックスがサポートされている場合は、 915km これは通常、ハードウェアに応じて rc.conf または loader.conf からロードされる正しいオプションです。
Wi-Fi、サウンド、ウェブカメラ:必須
wpa_supplicantでWi-Fiを設定し、インターフェースクローンを定義します。一部の暗号については、loader.confでWLANモジュールをプリロードできます。また、rc.confで宣言します。 WPAとDHCP:
# sysrc wpa_supplicant_enable="YES"
# sysrc wlans_ral0="wlan0"
# sysrc ifconfig_wlan0="WPA SYNCDHCP"
En /etc/wpa_supplicant.conf ネットワークを追加します:
network {
ssid="NOMBRE_DE_TU_WIFI"
psk="CONTRASEÑA"
}
オーディオについては、デバイスを確認し、必要に応じてデフォルトのカードを設定してください。コーデックが認識されていれば、それで十分かもしれません。 snd_driver または特定のモジュール(例:snd_emu10k1):
# cat /dev/sndstat
# sysrc -f /etc/sysctl.conf hw.snd.default_auto=0
アクティブ ウェブカメラ UVCカメラのサポートとチーズを使ったテストのcuse:
# sysrc webcamd_enable="YES"
# sysrc -f /boot/loader.conf cuse_load="YES"
# service webcamd start
# pkg install cheese
システムツールとデスクトップユーティリティ
ハードウェアとパーティションの診断を行うには、 usbutils、pciutils、hw-probe、gpart:
# pkg install usbutils pciutils hw-probe gpart
# lsusb
# lspci
# pciconf -lv
# hw-probe -all -upload
# gpart show
優れたデスクトップセットには、マルチメディア、オフィスソフトウェア、グラフィック編集機能などが含まれています。多くの人が VLC、スペイン語版LibreOffice、 GIMP、インクスケープ、ブラウザ、コピー/圧縮ツールなど:
# pkg install vlc es-libreoffice es-hunspell gimp inkscape firefox-esr chromium \
brasero gnome-utils gnome-calculator obs-studio openshot qbittorrent \
audacity simple-scan pinta krita peazip-gtk2 xarchiver epdfview zsync rsync
クラウドサービスを手間なく統合するには、バイナリ ラクローン リポジトリにありますが、使用するのは ターミナルシンプルさを優先する場合は、通常はブラウザ アクセスで十分であり、汎用的です。
実用的なメンテナンスノート
多くのパッケージがある環境では、BATCHを使用すると非対話型インストールを高速化できることを覚えておいてください。 バッチ=»はい» 必要に応じてrc.confに追加してください。pkg update/upgradeとcleanでシステムを最新の状態に保ってください。 孤立したキャッシュと依存関係 pkg clean および pkg autoremove を使用します。
fstab 内のいずれかの行が起動を妨げている場合は、シングル ユーザー モードで起動し、nano を使用して修正します。疑わしいエントリを "#" でコメント アウトし、グラフィカル環境から再ロードします。 落ち着いてコピー&ペーストする.
上記のすべてで、次のことが可能になるはずです クイックパッケージをインストールするきめ細かなオプションが必要な場合はPortsからコンパイルし、ハードウェアが許せばシステムの互換性からLinuxバイナリを実行できます。古いCPUを搭載したマシンでは、glibcとそのx86-64-v2ベースラインが真の障害となります。これが問題になる場合は、ネイティブのFreeBSDソフトウェア、またはWINEなどの代替ソフトウェアを検討してください。その他のエコシステム(ドライバ、自動マウント、印刷、フォント、言語、Wi-Fi、サウンド、Webカメラ、ユーティリティ)は、適切な調整をいくつか行うことで容易に利用でき、真に堅牢で快適なBSDワークステーションを実現できます。
バイトの世界とテクノロジー全般についての情熱的なライター。私は執筆を通じて自分の知識を共有するのが大好きです。このブログでは、ガジェット、ソフトウェア、ハードウェア、技術トレンドなどについて最も興味深いことをすべて紹介します。私の目標は、シンプルで楽しい方法でデジタル世界をナビゲートできるよう支援することです。