気の向くままに辿るIT/ICT/IoT
システム開発

NetBSDで各種サーバを構築

ホーム前へ次へ
NetBSDのインストールと運用/NetBSD/i386 6.1.x編

NetBSDで各種サーバを構築

NetBSDで各種サーバを構築

 NetBSDは、コンパクトで洗練されたオリジナルのカーネルとユーザーランドから成るUNIX系、BSD系のOSであり、UNIX系OSは、標準で組み込まれているものだけでも、また、リポジトリにあるものを使ってHTTP、FTP、SSHといった各種サーバ構築やsh、csh/tcsh、ksh、bash。。。といった各種シェル、Perl、Python、Rubyといった各種スクリプト、C/C++/Javaといったプログラミング言語、必要ならPostgreSQL/MySQL/MariaDB。。。といったデータベースを使った開発などもOSをインストールした時点ですぐに始めることができる点も魅力の1つです。

 ここでは、NetBSDにおけるFTP/SFTPサーバ、SSHサーバ、関連して近年、ssh/scpに移行が推奨されるr系コマンド(rlogin/rsh/rcp)、telnetなどについては、とりあえず利用できるところまで、HTTP/HTTPSサーバ、SMTP/POPサーバ、rsyncなどについては、基本的な情報について記すものとします。

 これらは、サーバ、それはRaspberry Piのようなボードコンピュータでもよいわけですが、たとえこれらにモニタやキーボードがなかったとしてもリモート(遠隔)操作することができます。

 もっと身近な例で言えば、個人用途でも家庭内でも十分に実用的で、例えば、特に夏や冬、エアコンのない部屋にある、そうでなくとも別部屋や3Fにある有線もしくは無線LANでつながったデスクトップPCの電源を入れてsshdを起動した任意のOSを立ち上げておきさえすれば、当該マシンでログインしなくてもエアコンのある快適な部屋にいても、はたまた、1Fにいても、ノートパソコンなどからsshでデスクトップPCにログイン、遠隔操作でき、scpを使ってデスクトップとノートPC間でコピーすることもできるようになります。

 同一のOS同士はもとより、*BSDとLinux間など違うOS間であってもsshでアクセスしていれば、操作しているマシンリソースの消費を気にする必要もなくリモートホスト(SSHサーバ)側のパッケージのアップデートができたり、*BSDとLinuxにおいて同名コマンドのmanを見比べるなんてこともできたりしますし、こうしたことは、一方で他方のパーティションをマウント(Linuxで*BSDのパーティションをマウントする場合、読み込みのみ)することでもできますが、そうするまでもなく、sshで十分事足りますし、sshなら、間接的にマウントできないパーティションでもリモートホスト上ならできたりと単にmountするより快適に多くのことができたりもします。

 また、当該マシンを直接操作するのと全く同じ速度というわけではないものの、近年、その速度も著しく向上しており、GUIが必要なら、構成ファイルでOpenSSHのX11 forwarding機能を有効にするとか、VNCソフトウェアを使うといった方法などで利用することもでき、NetBSD上で遠隔操作しているFedora上のVirtualBoxの仮想マシンにインストールしたWindowsを操作する(そもそもVirtualBoxはヘッドレス・モニタレス・ウィンドウ非表示用にVNCを利用できるようになっているので仮想マシンをVNCサーバとする)なんてこともできるので離れた場所にあるデスクトップパソコン上でできることのほぼ全てを手許にあるノートパソコンで行うことができます。

 一方、rsyncを使えば、ローカルの1台のディレクトリ間やPC2台の間で、はたまたインターネットを介してファイル類の同期を取ることができるので無駄なファイルの重複を防ぎ、HDDやSSDなど記録メディアの節約になるのはもちろん、整理する手間も省けるでしょう。

 他方、同一のアーキテクチャのマシンが複数台あってNetBSDのようにソースコード情報からのコンパイルとバイナリを使うことができ、システム化されているOSをそれぞれにインストールして利用している場合、より高速なマシンをバイナリの生成を含むコンパイルに使っていれば、仮にバイナリが配布されていない場合でも、また、たとえインストール時にパッケージ生成をしていなかったとしてもmake package以上にインストール済みパッケージからバイナリを生成するpkg_tarupを使えば、依存関係を含めたバイナリの生成もすぐにでき、そのマシンでFTPサーバを構築しておけば、生成したバイナリのあるディレクトリをリポジトリとして他のマシンではバイナリをインストールすることができるので各マシンでコンパイルするよりも遥かに時間短縮になり、かなり便利になります。

  • 14. NetBSDとシステム管理
  • 15. NetBSDのビルドとbuild.sh
  • NetBSDあれこれ
  • ホーム前へ次へ