パッケージ使う

目次

Unknown programmer's programming note.

<2022-01-11 火>

1 はじめに

このページでは、FreeBSDにソフトウェアを追加する簡単な方法について書きます。 FreeBSDでは、統括的にソフトウェアを管理するための方法が2つ用意されています。

  • ports
  • packages

現在使用している公式のFreeBSDの仮想マシンでは、おそらくディスク容量の節約のため、portsを利用できる状態になっていません。 また、packagesの方が使い方が簡単だと思います。 なので、packagesの方だけを利用するようにします。

2 追加したいソフトウェア

これからLuaでプログラミングを始めていくつもりです。 そのために絶対必要だろうと思うソフトウェアをいくつかFreeBSDに追加したいと思います。 このページで追加するのは、次の3つです。

  • sudo
  • Lua
  • RCS

それぞれを簡単に説明しておきます。

sudoは、前回紹介したsuの代わりに使用します。 システムに変更を加える必要があるとき、いちいちsuでrootに切り替える手間を省くことができます。 代わりに、指定したコマンドをroot権限で実行することができます。 日常的な作業では、sudoを使えば、rootでログインする必要はほとんどなくなります。

Luaは、プログラミング言語です。 正確には、Luaというプログラミング言語のインタープリタです。 大体、Luaで書かれたコードを実行するために必要な環境と思ってもらえば良いと思います。

RCSは、バージョン管理を行なうためのソフトウェアです。 正確には、RCSは Revision Control System の略で、リビジョンを管理するシステムと言う意味です。 バージョン管理を行なうようにすれば、記録しておいたある時点の状態に簡単に戻したりすることができるようになります。 バージョン管理システムにRCSを選択したのは、必要とされるディスクの容量が小さいからです。 本当はGitを使いたいのですが、空き容量の問題で断念しました。

3 ディスクの空き容量を調べる

上記の3つをインストールするために必要な空き領域は大したことありません。 ですが、あとどれだけディスクが使用可能なのかを知る方法を紹介しておきます。

その前にVirtualBoxの仮想マシンにおけるディスクについて、少し書き加えておきます。

3.1 VirtualBoxのハードディスクイメージについて

仮想マシンは、VirtualBoxを動かしている実マシンに搭載されたSSDやハードディスクを直接扱う訳ではありません。 仮想マシンを作成時に指定した、ハードディスクイメージをハードディスクとして認識しています。 ハードディスクイメージは実マシンのOSから見れば、ただのファイルです。 簡単にコピーしたり、削除したり、VirtualBoxマネージャーから新規に作成したりできます。

現在、使っている仮想マシンのFreeBSDは、公式で配布されている仮想マシンのイメージを利用しているのでした。 その仮想マシンのイメージとは、VirtualBoxで利用できるハードディスクイメージです。 要は、FreeBSDがインストールされたハードディスクを仮想マシンに取り付けて、そのハードディスクを起動ディスクすることで、仮想マシン上でFreeBSDが実行されています。

このハードディスクイメージの使用可能な領域のサイズは、ハードディスクイメージの作成時に決定します。 仮想マシンのFreeBSDは、このハードディスクイメージのサイズを認識します。 そして、あたかもそれだけのサイズを持つ物理的なハードディスクが載っかているかのように振舞います。 すでに動いているFreeBSDでは、接続されたハードディスクを加工して利用可能な状態になっています。

ハードディスクイメージのサイズは、作成後であっても、VirtualBoxマネージャから簡単に変更が可能です。 しかし、FreeBSD側からしたら、すでにハードディスクはもう加工済のため、そのままでは利用することはできません。 変更した分も使えるようにするためには、ちょっとした手間が必要になります。

やたらディスクの空き容量を気にしているのは、このちょっとした手間を掛けたくないからです。 一度理解してしまえばそんなに難しい作業ではないです。 しかし、今の段階でやっても謎のコマンドを入力させられるだけで、苦痛に感じられる可能性があります。 なので、今の空き容量でも大丈夫そうなものだけを選んでインストールしていきます。

3.2 具体的にはどのくらい空き容量があるのか

現在のディスクの空き容量を調べるには、dfというコマンドを使います。 名前の由来は、たぶん Disk Free の略です。

以下ではrootで実行していますが、通常のユーザーでもdfは使えます。

root@freebsd:~ # df
Filesystem      1K-blocks    Used  Avail Capacity  Mounted on
/dev/gpt/rootfs   4053668 3353640 375736    90%    /
devfs                   1       1      0   100%    /dev
/dev/gpt/efiesp     32765     877  31887     3%    /boot/efi

「Avail (利用可能)」の列に書かれているのが、利用可能なサイズです。 1K(キロ)ブロック単位でちょっと見にくいです。 オプション -h を付けると、人間が読みやすい書式で表示してくれます。

root@freebsd:~ # df -h
Filesystem         Size    Used   Avail Capacity  Mounted on
/dev/gpt/rootfs    3.9G    3.2G    367M    90%    /          🡄ここに注目
devfs              1.0K    1.0K      0B   100%    /dev
/dev/gpt/efiesp     32M    878K     31M     3%    /boot/efi

どこを見るべきかというと、一番最後の列の「Mounted on (どこにマウントされているか)」が「/」となっている行、要は一番上の行です。 他は気にしなくて良いです。 この行のAvailは367Mとなっています。 つまり、あと367Mバイトまで利用できるということです。 今後しばらくは、ソフトウェアを追加でインストールするとき、空き容量がこの程度だということは気に止めておく必要があります。

4 コマンド pkg

packageを扱うコマンドはpkgです。

pkgは、第一引数にサブコマンドを取ります。 なので pkg サブコマンド オプション サブコマンドに対する引数 という形のコマンドになります。 サブコマンドは結構な数があります。 ここで扱うのはsearch、install、removeの三つです。

まず最初にpkg自体をインストールする必要があります。 どうするのかというと、pkgを実行することです。 初めてpkgを実行したとき、pkgをダウンロードしてきてインストールしてくれます。

rootでログインして pkg と打ち込んで下さい。

root@freebsd:~ # pkg⏎
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y⏎                ▹y を打ち込む
Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:13:amd64/quarterly, please wait...
Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
Installing pkg-1.17.5...
省略
root@freebsd:~ # ▋

これでpkgが使えるようになりました。

4.1 パッケージを検索する pkg search

パッケージをインストールするには、正確なパッケージ名を知る必要があります。

正確なパッケージ名が分からなくても、名前の一部や、興味のあるカテゴリなどがある場合は pkg search 検索語 で探すことがきます。

例を挙げます。 何かゲームをインストールしたいとします。 パッケージ名は知らないけど、テトリスのようなゲームを探しているとします。 このときは、次のようにtetrisというキーワードでsearchをかけてみると良いです。

root@freebsd:~ # pkg search tetris⏎
patapizza-tetris-1.0_7         Unofficial clone of the original Tetris game
vitetris-0.59.1                Terminal-based Tetris clone in vein of Nintendo Tetris
root@freebsd:~ # ▋

2件ヒットしました。 左側がパッケージ名で、右側が簡単な説明文です。 検索対象となるのは、パッケージ名のみです。 説明文は対象になりません。

このようにまったく未知のパッケージを探索するのにも使えます。 しかし、実際の利用では、ソフトウェアの名称を知っていて大体のパッケージ名の一部の見当がついているということが多いです。

もう一つ例を挙げます。 今回は採用しませんでしたが、microというテキストエディタがあります。 名前がmicroなのだから、パッケージ名にもmicroが含まれるだろうと推測できます。 そこで、そのまんま「micro」という語で検索してみます。

root@freebsd:~ # pkg search micro⏎
R-cran-microbenchmark-1.4.2_5  Infrastructure to measure the execution time of R expressions
antimicro-2.23_3               Program for mapping keyboard and mouse to a gamepad
font-micro-misc-1.0.3_4        X.Org miscellaneous Micro fonts
fpc-libmicrohttpd-3.2.2        Free Pascal libmicrohttpd unit
libmicro-0.4.1                 Set of utilities to benchmark productivity of system calls
libmicrodns-0.2.0              mDNS library focused on being simple and cross-platform
libmicrohttpd-0.9.74           C library for embedding HTTP server functionality
micro-2.0.10                   Modern and intuitive terminal-based text editor 🡄ここに注目
micro_httpd-2014.08.14         Extremely small web server
micro_inetd-2014.08.14         inetd-like program intended for temporarily usage
micro_proxy-20140814           Really small HTTP/HTTPS proxy
以下たくさん、省略…
root@freebsd:~ # ▋

microのパッケージ名は、「micro-2.0.10」であることが分かりました。

しかし、上の検索結果は数が多すぎます。 もう少し条件を厳しくして、絞り込む方法も紹介しておきます。 microのパッケージ名は、おそらく「micro」で始まるのではないか、ということを推測します。 そこで、検索語を「^micro」として検索をかけます。

root@freebsd:~ # pkg search ^micro⏎
micro-2.0.10                   Modern and intuitive terminal-based text editor
micro_httpd-2014.08.14         Extremely small web server
micro_inetd-2014.08.14         inetd-like program intended for temporarily usage
micro_proxy-20140814           Really small HTTP/HTTPS proxy
microdc2-0.15.6_8              Command-line based Direct Connect client
micropython-1.17               Implementation of the Python language for microcontrollers
microsocks-1.0.2               Multithreaded, small, efficient SOCKS5 server
microsoft-gsl-3.1.0            Guidelines Support Library
root@freebsd:~ # ▋

今度は結果を省略していません。 ヒットしたのはこれで全てです。 検索語の頭に「^」を付けて「^micro」とすると、パッケージ名の先頭がmicroで始まるもの、という意味になります。

これは正規表現と呼ばれるテキストを検索するための記法の一種です。

他にも絞り込むための特別な書き方は色々用意されています。 今後パッケージをインストールする際に必要になったら書くことにして、ここではこれ以上書かないでおきます。

名称がありふれた単語だったり、短すぎるものだったりすると、検索結果が多くなりすぎることは多々あります。 とりあえずは、「^」だけでも覚えておけばだいぶ絞り込めると思います。

4.2 パッケージをインストールする pkg install

インストールしたいパッケージの名前を知る方法は分かりました。 パッケージ名さえ分かれば、インストールするのは簡単です。 pkg install パッケージ名 とするだけです。

例として、slという名前のソフトウェアをインストールしてみます。

まず、slのパッケージ名を知る必要があるので、検索してみます。 単に「sl」を検索語とすると、結果が多くなりすぎるので工夫します。 実際にやってみるといいと思うのですが、「^sl」でもまだ多いです。 もう少し条件を厳しくして「^sl-」としてみます。

root@freebsd:~ # pkg search ^sl-⏎
sl-5.02                        Steam locomotive runs across the screen if you type "sl"
sl-aspell-0.50.0_1,1           Aspell Slovenian dictionary
sl-hunspell-2020.12.31         Slovenian hunspell dictionary
sl-hyphen-2007.01.27_1         Slovenian hyphenation rules
sl-libreoffice-7.2.5.2         sl language pack for libreoffice
sl-mythes-2016.06.30           Slovenian thesaurus
root@freebsd:~ # ▋

一番上の「sl-5.02」が目的のものです。 これをインストールしてみます。

root@freebsd:~ # pkg install sl⏎
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	      sl: 5.02

Number of packages to be installed: 1

Proceed with this action? [y/N]: y⏎        ▹インストールを開始するには y を打ち込む
[1/1] Installing sl-5.02...
[1/1] Extracting sl-5.02: 100%
root@freebsd:~ # ▋

これでインストールできました。 確認のために sl と打ち込んで実行してみると良いです。

installで指定するパッケージ名は、searchで得られた名前の末尾の「-バージョン番号」の部分は省略できます。 今やったslの場合、「sl-5.02」の「-5.02」の部分を省略して、単に「sl」とすれば良いということです。

実際にinstallを試してみたなら、おそらくダウンロードするパッケージのサイズが表示されたのではないかと思います。 上でやったのは、一度インストールしてアンインストールしてからやり直しているので、表示されていません。

また、このslのように小さなパッケージでなくそこそこの大きさのものの場合、インストールに必要な空き容量も表示されます。 そして実際にインストールすると、その領域だけ消費されます。

4.2.1 パッケージのインストールの概要を確認する pkg install -n

パッケージをインストールするときは、必要な空き容量などの概要が表示されたあと、本当にインストールを続行するかの問い合わせが表示されます。 確認とは Proceed with this action? [y/N]: というメッセージです。 これは「このアクションを続行しますか? [y/N]」という意味です。 もし、yと答えればインストールを開始して、nと答えるか何も打たず単にEnterを叩いたら、キャンセルされます。

[y/N] のように表示されるとき、大文字になっている方がデフォルトの動作です。 何も文字を打たずに、単にEnterを叩いたら「no」の意味である n が入力されたとみなされます。 もし [Y/n] であれば「yes」の意味である y がデフォルトになります。

これを利用して、どの程度の容量を必要か確認するために、とりあえず pkg install パッケージ名 とする方法が使えます。 概要だけ確認したら、続行の問い合わせのところでキャンセルしてしまうのです。

しかし、この方法は間違ってyと答えてインストールを開始してしまう可能性があるので、あまり良くありません。 代わりに -n オプションを使う方が良いです。

具体的には pkg install -n パッケージ名 とします。 そうすると、問い合わせのところでは自動的にnが入力されたものとなり、実際にインストールが開始されることはありません。

便利なので覚えておくと良いかと思います。

4.3 パッケージをアンインストールする pkg remove

パッケージのアンインストールは pkg remove パッケージ名 でできます。

面倒なのは、インストールされたパッケージ名をどうやって知るかです。 インストールしたときのパッケージ名を覚えていれば問題ありません。 しかし、いくつもパッケージをインストールしていると、そうもいかなくなってきます。

インストールされたパッケージの一覧を表示するには pkg info を実行します。

root@freebsd:~ # pkg info⏎
pkg-1.17.5                     Package manager
sl-5.02                        Steam locomotive runs across the screen if you type "sl"
root@freebsd:~ # ▋

インストールされているパッケージが「pkg-1.17.5」と「sl-5.02」であることが分かりました。 今slを削除したいとしましょう。

もしslをまだ実行していないのなら、面白いので一度実行してみることをお勧めします。 気に入ったら再度インストールすることも検討して下さい。

root@freebsd:~ # pkg remove sl⏎
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:
	      sl: 5.02

Number of packages to be removed: 1

Proceed with deinstalling packages? [y/N]: y⏎        ▹アンインストールを開始するには y を打ち込む

[1/1] Deinstalling sl-5.02...
[1/1] Deleting files for sl-5.02: 100%
root@freebsd:~ # ▋

アンインストールはこれでお終いです。

5 sudo をインストールする

実際に使用するソフトウェアのパッケージをインストールしていきます。

まずは、sudoです。 パッケージ名はおそらくそのままsudoではないか、という推測が出来ます。 一応searchでヒットするかどうかを確認しておきます。 単に「sudo」で検索すると結果が多くなりすぎるので「^sudo」とします。

root@freebsd:~ # pkg search ^sudo⏎
sudo-1.9.8p2                   Allow others to run commands as root
sudo-font-0.61                 Font for programmers and command-line users
sudoscript-2.1.2               Audited shells in Perl with sudo(8) and script(1)
root@freebsd:~ # ▋

それっぽいのが一番最初に見つかりました。 「sudo-1.9.8p2」というやつです。 これをインストールします。 インストールする際に指定するパッケージ名からは、末尾の「-バージョン番号」を省略できるので pkg install sudo とします。

root@freebsd:~ # pkg install sudo⏎
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 3 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	      gettext-runtime: 0.21
	      indexinfo: 0.3.1
	      sudo: 1.9.8p2

Number of packages to be installed: 3

The process will require 7 MiB more space.
2 MiB to be downloaded.

Proceed with this action? [y/N]: y⏎
[1/3] Fetching sudo-1.9.8p2.pkg: 100%    1 MiB   1.5MB/s    00:01    
[2/3] Fetching gettext-runtime-0.21.pkg: 100%  166 KiB 169.9kB/s    00:01    
[3/3] Fetching indexinfo-0.3.1.pkg: 100%    6 KiB   5.7kB/s    00:01    
Checking integrity... done (0 conflicting)
[1/3] Installing indexinfo-0.3.1...
[1/3] Extracting indexinfo-0.3.1: 100%
[2/3] Installing gettext-runtime-0.21...
[2/3] Extracting gettext-runtime-0.21: 100%
[3/3] Installing sudo-1.9.8p2...
[3/3] Extracting sudo-1.9.8p2: 100%
root@freebsd:~ # ▋

これでsudoがインストールできました。

5.1 sudoを使えるようにする

sudoをインストールした直後は、rootしかsudoを使えないようになっています。 これでは意味がないので、前回追加したユーザーがsudoを使えるようにします。

sudoの設定を変更するには、visudoというコマンドを使います。 visudoは、テキストエディタを起動して、sudoの設定ファイルを開いた状態にしてくれます。 そして、編集を終えてテキストエディタを終了すると、設定に間違いがないかチェックしてくれます。 間違いがなければ、そのまま設定は保存されます。

visudoを起動にはrootで visudo と打ち込めば良いです。 ただし、デフォルトではviで編集する状態になるので、eeを選択した人は一手間必要です。 eeを使っている場合は、次のコマンドを実行しておいて下さい。 viを使っている場合は、不要です。

root@freebsd:~ # setenv EDITOR ee⏎
root@freebsd:~ # ▋

そして visudo と打ち込みます。

root@freebsd:~ # visudo⏎

viかeeかどちらかが起動します。 カーソルを下に移動していって、次のようになっている部分を見つけます。

# %wheel ALL=(ALL) ALL 

結構下の方(89行目)にあります。 「wheel」で検索して移動するのが楽かもしれません。 この行の先頭の「# 」の部分を削除して、次のようになるように書き変えます。

%wheel ALL=(ALL) ALL

変更できたら、保存して終了します。 間違いがなければ、そのまま自動でvisudoも終了して、プロンプトに戻ってきます。

間違いがあった場合、その場所が提示され What now? と表示されます。 この場合、Enterを叩くと、どのように処理するか選択肢が表示されます。

  • e: テキストエディタに戻って編集し直す
  • x: 変更を破棄して終了する
  • Q: とにかく保存して終了する (危険)

Qは選択しない方が良いです。

変更すべき箇所は僅かです。 xで一旦破棄してから、やり直した方が早いでしょう。

これでsudoの設定は完了です。

5.2 sudoを使ってみる

さっそく、前回追加したユーザーでsudoが使えるかどうか試してみましょう。

今rootでログインしているなら、一度ログアウトしてください。

そして、前回追加したユーザーでログインします。 こちらではtomaという名前のユーザーを使います。 自分のユーザーに合わせて置き換えて読み進めてください。

login: toma⏎
Password:⏎
toma@freebsd:~ $ ▋

ユーザーの権限ではできないことを、sudoを使ってやってみます。

toma@freebsd:~ $ sudo ls /root⏎

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

Password:⏎
.cshrc			.lesshst		.shrc
.history		.login			typescript.cowsay
.k5login		.profile		typescript.sudo.install
toma@freebsd:~ $ ▋

通常なら、ユーザーはrootのホームディレクトリの中を覗くことはできません。 sudoによって盗み見ることができました。 最初に表示された文章には、sudoを使うに当たって肝に銘じておくべきことが書かれています。

  • 他者のプライバシーを尊重すること。
  • タイプする前に考えること。
  • 大きな力には大きな責任が伴うこと。

ということです。

これでもう普段からrootでログインする必然性はなくなりました。 このページの残りも含めて、今後は、ユーザーでログインして、必要ならsudoを利用するようにしていきます。

5.3 sudo出来ない場合

visudoで設定を変更してもユーザーでvisudoできない場合、ユーザーがwheelというグループに入っていない可能性が高いです。

toma@freebsd:~ $ sudo ls /root⏎
Password:⏎
toma is not in the sudoers file.  This incident will be reported.
toma@freebsd:~ $ ▋

この場合、いったんrootでログインし直して pw groupmod wheel -m ユーザー名 とコマンドを実行して下さい。

root@freebsd:~ # pw groupmod wheel -m toma⏎
root@freebsd:~ # ▋

念のため、wheelに入っているユーザーの表示を確認するコマンドも実行しておきます。

root@freebsd:~ # pw groupshow wheel⏎
wheel:*0:root,toma
root@freebsd:~ # ▋

確認できたら、再度ユーザーでログインして、sudoを試してみて下さい。

6 Lua をインストールする

Luaもpkgコマンドを使ってインストールすることができます。

なお、これ以降はrootでなく、一般ユーザーを使って作業していきます。 root権限が必要なコマンドはsudoを使っていくようにします。 こちらはtomaという名前のユーザーですが、おそらく同じではないでしょう。 これまでrootのときのプロンプトは root@freebsd:~ # としてきました。 今後、一般ユーザーであることを示すために、プロンプトは % とします。 おそらく、実際に表示されているプロンプトは toma@freebsd:~ % あるいは toma@freebsd:~ $ のような感じだと思います。 適当に読み換えて下さい。

6.1 Luaのパッケージ名を特定する

パッケージをインストールするためには正確な名前が必要です。 pkg search を使ってLuaのパッケージ名を見つけます。

おそらく「lua」という文字が含まれるのは間違いないでしょう。 そして、「lua」という文字は、たぶんパッケージ名の先頭にあるのではないかと推測を立てます。 試しに pkg search ^lua で検索してみます。 結果はたくさんありすぎて、前の方が流れてしまうので見つけることができません。 画面に残った部分だけみると、「lua54」で始まるパッケージがあることが判ります。

そこで、また推測を立てます。 Luaはバージョンもパッケージ名に含まれているのではないかと考えてみます。 一度、WebブラウザでLuaの公式サイト(英語)を訪問してみます。 すると、「Lua 5.4.3 released (Lua 5.4.3がリリースされました)」と書かれています。 最新バージョンはおそらくこれだろうと考えられます。 そうすると、インストールするべきパッケージの名前は「lua54-バージョン番号」で、これをインストールするには pkg install lua54 でいける可能性があります。

pkg search ^lua54- のようにして検索しても、まだ十分には絞り込むことはできません。 pkg search ^lua54-[^a-z]+ ならちょうど1件のみがヒットしました。 [^a-z]+ は正規表現で、aからz以外の文字からなる1文字以上連続するテキスト、というような意味です。 「5.4.2」のようなバージョン番号はこれにマッチします。 しかし、ここまで推測できたのなら、検索するよりとりあえずインストールを試してみた方が早いでしょう。

試しにやってみます。

% pkg install -n lua54⏎
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	   libedit: 3.1.20210216,1
	   lua54: 5.4.2

Number of packages to be installed: 2

The process will require 2 MiB more space.
450 KiB to be downloaded.
% ▋

見つかりました。 パッケージ名は「lua54」で良さそうです。 ここではオプション -n を付けているので、実際にはインストールをしません。 そのためsudoしなくても大丈夫なのことに注意してください。

6.2 Luaのインストール

今度はsudoを付けて実際にインストールします。

% sudo pkg install lua54⏎
Password:⏎
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	   libedit: 3.1.20210216,1
	   lua54: 5.4.2

Number of packages to be installed: 2

The process will require 2 MiB more space.
450 KiB to be downloaded.

Proceed with this action? [y/N]: y⏎
[1/2] Fetching lua54-5.4.2.pkg: 100%  314 KiB 321.7kB/s    00:01    
[2/2] Fetching libedit-3.1.20210216,1.pkg: 100%  135 KiB 138.7kB/s    00:01    
Checking integrity... done (0 conflicting)
[1/2] Installing libedit-3.1.20210216,1...
[1/2] Extracting libedit-3.1.20210216,1: 100%
[2/2] Installing lua54-5.4.2...
[2/2] Extracting lua54-5.4.2: 100%
% ▋

これでインストールできました。

6.3 インストールされたLuaのバージョンの確認

試しにLuaのバージョンを表示させるコマンドを実行して確認しておきます。

% lua54 -v⏎
Lua 5.4.2  Copyright (C) 1994-2020 Lua.org, PUC-Rio
% ▋

こんな感じで表示されればOKです。

7 RCS をインストールする

RCSもpkgコマンドを使ってインストールすることができます。

パッケージ名はrcsではないかと推測できます。 一応searchしておきます。

% pkg search ^rcs⏎
rcs-5.10.0                     Version control system
rcs57-5.7                      Version control system (as was in FreeBSD prior to removal)
% ▋

2件ヒットしました。 バージョンの違いがあるのみで、どちらも目的のRCSのようです。

なぜ二つ用意されているのかというと、ライセンスがGPLv2からGPLv3に変わったためではないかと考えられます。 rcsはGPLv3で、rcs57はGPLv2です。 またrcs57の方の説明文にある、「as was in FreeBSD prior to removal (削除されるより前からFreeBSDにあったもの)」はどういうことかというと、ちょっと込み入った事情があるようです。 もし気になれば、こちらが参考になります。

今回はrcsの方を選択することにします。

% sudo pkg install rcs⏎
Password:
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	   rcs: 5.10.0

Number of packages to be installed: 1

196 KiB to be downloaded.

Proceed with this action? [y/N]: y⏎
[1/1] Fetching rcs-5.10.0.pkg: 100%  196 KiB 200.7kB/s    00:01    
Checking integrity... done (0 conflicting)
[1/1] Installing rcs-5.10.0...
[1/1] Extracting rcs-5.10.0: 100%
% ▋

インストールはこれで終りです。 試しに一度走らせてみます。 オプション --version を指定して、RCSのバージョンを表示させてみます。

% rcs --version⏎
rcs (GNU RCS) 5.10.0
Copyright (C) 2010-2020 Thien-Thi Nguyen
Copyright (C) 1990-1995 Paul Eggert
Copyright (C) 1982,1988,1989 Walter F. Tichy, Purdue CS
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
% ▋

このように表示されればOKです。

RCSの使い方は、今後プログラミングをしていきながら覚えていくことにします。

8 まとめ

コマンドpkgの使い方が分かりました。 興味があれば、この時点でも色々なソフトウェアを試してみることができます。 もし試すのであれば、ディスクの空き容量には注意してください。

さらに追加でソフトウェアをインストールする必要が出てきたら、今回と同様に、pkgを使ってインストールしていきます。

sudoを導入したので、もうrootでログインする必要はなくなりました。 今後は一般ユーザーでログインして作業を行なうことになります。

RCSの使い方は書きませんでした。 実際に使いながら覚えた方が良いだろうからです。

環境が整ったので、次回からLuaを使ってプログラミングをやっていきます。

著者: watercat

Created: 2023-03-19 日 01:35

Emacs 27.1 (Org mode 9.3)

Validate