↑ 「FreeBSDで遊ぼう」のページへ

↑ トップページへ

★ [SilverSackの自画自賛] FreeBSDで遊ぼう

★

 操作マニュアル - 3. ports/packagesの操作(FreeBSD 11.1~11.2, 12.0)


packages/portsに関する操作をまとめます。モジュール、アプリのインストールについては、packageを使うやり方とportsを使うやり方がありますが、最近の状況ではpackageを使うのが無難のように思います。portsを利用するのは、動作するpackageが用意されていないと公式にアナウンスされている場合、標準ではないビルドオプションでビルドする必要がある場合、その他packageが利用できない場合といったところじゃないでしょうか。

  1. ports treeの構築・更新
  2. pkgとportmasterとportdowngradeのインストール
  3. packagesのインストール・アンインストール、他
  4. portsのインストール・アンインストール、他
  5. ports/packagesの情報の参照

いずれの作業も、シェルでrootでログインして、行います。

  1. ports treeの構築・更新
    1. ports treeの作成
    2. 最初にports treeを構築する必要があります。以下のコマンドを打ちます。

        # portsnap fetch extract[ENTER]
      fetchは、ports treeをFreeBSDのサイトからダウンロードするオプション、extractはダウンロードしたports treeを展開するオプションです。

    3. ports treeの更新
    4. ports treeは、日々更新されているので、ports/packgesを利用するときは都度ports treeを更新した方が良いです。以下のコマンドを打ちます。

        # portsnap fetch update[ENTER]

  2. pkgとportmasterとportdowngradeのインストール
  3. packagesを扱うツールとしてpkgを、portsを扱うツールとしてportmasterを、portsを以前のバージョンに戻すツールとしてportdowngradeをインストールします。

    1. pkgのインストール
    2. コマンドプロンプトで以下のコマンドを打ちます。

        # pkg[ENTER]
      すると、「....Do you want to fetch and install it now? [y/N]」と表示されるので、<y>を入力してEnterキーを押します。

    3. portmasterのインストール
    4. コマンドプロンプトで以下のコマンドを打ちます。

        # pkg install portmaster[ENTER]

    5. portdowngradeのインストール
    6. コマンドプロンプトで以下のコマンドを打ちます。

        # pkg install portdowngrade[ENTER]

  4. packageのインストール・アンインストール、他
  5. packagesのインストール・アンインストール等は、以下のように行います。

    1. packageの検索
    2. インストールしたいpackageを検索する場合は、以下のコマンドを打ちます。

        # pkg search xorg[ENTER]
      インストールするpackageがxorgの場合です。モジュール名は、一致するものが複数あれば全て選択されます。

      行数が多い場合は、grepを使って絞り込みができます。例えば

        # pkg search nvidia | grep driver[ENTER]
      のような感じです。このほかに「-eオプション(厳密に一致しているものを検索する)」、「-gオプション(引数をグロブパターンとして扱う)」というオプションがあります。

    3. インストール
    4. packagesからモジュールをインストールする場合は、以下のコマンドを打ちます。

        # pkg install xorg[ENTER]
      インストールするモジュールがxorgの場合です。モジュール名は、一致するものが複数あれば全てインストールされますので、注意してください。

      モジュールは複数指定することができます。その場合は、半角スペースで区切ってください。以下のような感じです。

        # pkg install xorg slim slim-themes[ENTER]

    5. アップデート・再インストール
    6. インストールしたモジュールをアップデートするのも、インストールと同じコマンドで行います。

        # pkg install xorg[ENTER]
      インストールされているバージョンが最新の場合は、最新であるというメッセージを出して、何もしません。

      (再インストールする場合)

      同じバージョンを再度インストールする場合は、-fオプションをつけます。以下のコマンドになります。

        # pkg install -f xorg[ENTER]
      いずれの場合も複数指定可能です。

    7. アンインストール
    8. インストールしたモジュールをアンインストールする場合は、以下のコマンドを打ちます。

        # pkg delete xorg[ENTER]
      複数指定可能です。

    9. インストールしたモジュールの一斉更新
    10. 以下のコマンドで、インストールしたモジュールを一斉に更新できます。新しいバージョンがあるものを更新し、インストールされているバージョンが最新であれば、何もしません。依存しているpackageの再インストールが必要であれば、それもやってくれます。

        # pkg upgrade[ENTER]

    11. インストールしたモジュールの一括削除
    12. 以下のコマンドで、インストールしたモジュールを一括して削除できます。

        # pkg delete -af[ENTER]
      これでpkgも含めて全て削除されます。

    13. バージョンの変更
    14. 複数バージョンが平行して供給されているモジュールがあります。例えば、peal5は、perl-5.24、perl-5.26、perl-5.28の三つのバージョンが用意されていて、現在は5.26がデフォルトのバージョンになっています。このデフォルトバージョンが、例えば5.26から5.28に変わった場合の処理です。以下のコマンドを打ちます。

        # pkg set -o lang/perl5.26 : lang/perl5.28[ENTER]
        # pkg install -Rf lang/perl5.28[ENTER]
      「oオブション (今インストールしてあるモジュール) : (新しくインストールするモジュール)」という書式で指定します。

    15. 新しいバージョンが存在するpackageのリストの出力
    16. 以下のコマンドで、インストールしているバージョンよりも新しいバージョンが出ているpackageの一覧を出力できます。コマンドプロンプトで以下のコマンドを打ちます。

        # pkg version | grep '<'[ENTER]

  6. portsのインストール・アンインストール、他
  7. portsを使ったモジュールのインストール・アンインストール等は、以下のように行います。

    1. portsの検索
    2. インストールしたいportsを検索する場合は、以下のコマンドを打ちます。

        # whereis xorg[ENTER]
      検索したいportsがxorgの場合です。一致するもの全てのportsが表示されます。

      行数が多い場合は、grepを使って絞り込みができます。例えば

        # whereis nvidia | grep driver[ENTER]
      のような感じです。

    3. インストール
    4. portsからモジュールをインストールする場合は、以下のコマンドを打ちます。

        # portmaster -d x11/xorg[ENTER]
      インストールするportsがxorgの場合です。xorgは、ports tree上では、/usr/ports/x11/xorgという場所にあるのですが、この場所の/usr/ports/の後の部分をportmasterのオプションの後の引数に指定します。以下同様です。

      portsは複数指定することができます。その場合は、半角スペースで区切ってください。以下のような感じです。

        # portmaster -d x11/xorg x11/slim x11-themes/slim-themes[ENTER]

    5. アップデート・再インストール
    6. インストールしたportsをアップデートするのも、インストールと同じコマンドで行います。

        # portmaster -d x11/xorg[ENTER]
      インストールされているバージョンが最新の場合は、最新であるというメッセージを出して、何もしません。

      (再インストールする場合)

      同じバージョンを再度インストールする場合は、-fオプションを指定します。以下のコマンドになります。

        # portmaster -df x11/xorg[ENTER]

      (ビルドオプションを変更してアップデートする場合)

      アップデートの際、ビルドオプションを変更するためにオプション設定のダイアログを表示させたい場合は、以下のコマンドを打ちます。

        # portmaster --force-config -d x11/xorg[ENTER]
      再インストールの場合は、-fオプションを追加します。

      いずれの場合も複数指定可能です

    7. アンインストール
    8. インストールしたモジュールをアンインストールする場合は、以下のコマンドを打ちます。

        # portmaster -de x11/xorg[ENTER]
      複数指定可能です。

    9. 以前のバージョンへのダウングレード
    10. インストールしたモジュールを以前のバージョンに戻す場合は、以下のコマンドを打ちます。

        # portdowngrade x11/xorg (レビジョン番号)[ENTER]
        # cd (カレントディレクトリ)/xorg[ENTER}
        # make deinstall install clean[ENTER]
      詳しい説明は、「portdowngradeの操作」を参照してください。

    11. インストールしたモジュールの一斉更新
    12. 以下のコマンドで、インストールしたモジュールを一斉に更新できます。新しいバージョンがあるものを更新し、インストールされているバージョンが最新であれば、何もしません。

        # portmaster -a[ENTER]

    13. インストールしたモジュールの一括削除
    14. 以下のコマンドで、インストールしたモジュールを一括して削除できます。これはpkgツールを使用します。

        # pkg delete -af[ENTER]
      これでpkgも含めて全て削除されます。-fオプションを外すとpkgだけ残ります。

    15. バージョンの変更
    16. 複数バージョンが平行して供給されているモジュールがあります。例えば、peal5は、perl-5.24、perl-5.26、perl-5.28の三つのバージョンが用意されていて、現在は5.26がデフォルトのバージョンになっています。このデフォルトバージョンが、例えば5.26から5.28に変わった場合の処理です。以下のコマンドを打ちます。

        # portmaster -d -o lang/perl5.28 lang/perl5.26[ENTER]
      「oオブション (新しくインストールするモジュール) (今インストールしてあるモジュール)」という書式で指定します。

    17. 新しいバージョンが存在するpackageのリストの出力
    18. 以下のコマンドで、インストールしているバージョンよりも新しいバージョンが出ているpackageの一覧を出力できます。コマンドプロンプトで以下のコマンドを打ちます。

        # portmaster -L | grep 'New'[ENTER]

  8. ports/packagesの情報の参照
  9. ports/packagesについては、いくつかの形で情報が提供されていますが、それの参照方法をまとめます。

    1. pkg-messageの参照
    2. ports/packagesの中には、インストール後に動作させるための追加作業等を記したメッセージを表示するものがありますが、そのメッセージは以下のコマンドで参照します(xorgを例としています)。

        # pkg info -D xorg[ENTER]
      なお、メッセージが表示されるのは、インストールされたpackageに関するものだけです。

    3. ports/UPDATINGの参照
    4. バージョンアップする際の注意事項が/usr/ports/UPDATINGというファイルにまとめられています。この内容は、以下のコマンドで参照します。

        # pkg updating xorg[ENTER]
      これで、/usr/ports/UPDATINGに書かれているxorgに関する情報が参照できます。引数を省略すると全てのportsの情報が表示されます。-d 20180101のように「(dオプション) + (8けたの日付)」を指定すると指定した日付以降の情報に限定されます。なお、メッセージが表示されるのは、インストールされたpackageに関するものだけです。

    5. Fresh Portsサイトの参照
    6. Fresh Portsというサイトにportsの更新に関する情報がまとめられています。更新の際にはチェックしておいた方が良いと思います。トラブったときは重要度高いです。
      (URL : https://www.freshports.org/)

    7. インストールされたモジュールのバージョン一覧の出力
    8. 以下のコマンドで、インストールされたモジュールのバージョン一覧が出力できます。

        # pkg version > /root/versions[ENTER]
      /root/versionsというファイルを開くと内容が確認できます。

[その他の情報]

なお、このページを書くに当たって、以下の記事を参考にしました。

それ以外にこのサイトに「portmasterマニュアル(2011年12月12日版)」があります。

(2018年 9月29日 記
2019年 3月16日 更新)