Debianを最小構成でインストール

Debianを最小構成でインストール

 それぞれ決まったところで、実際のサーバ構築に話題を移そう。

 本連載では、x86アーキテクチャのサーバを信頼できるネットワーク環境に配置でき、かつHTTPもしくはFTPにてDebianのリポジトリにアクセスできる環境があると仮定して、サーバとしてDebianをインストールするときのポイントを紹介する。また、ハードウェアが用意できずとも、既存の環境に「間借り」することも可能であるため、その方法についても後述する。

 なお、Debianインストールの詳しい手順は、Debianの公式サイトに記載されているマニュアルを見ていただいたほうが良い。ここでは、サーバとして構成するときのポイントを紹介する。

 まず、インストールに使用するCDイメージは、netinstイメージを利用するのが良いだろう。

 Debianにはそのほかのイメージとしてbusinesscardイメージや、ネットワークからのダウンロードが不要な全セットのCD/DVDイメージが用意されているが、いずれもサーバOSとしてインストールする場合はおすすめできない。これは、インストールに必要なファイルやアプリケーションをダウンロードにて取得するため時間がかかったり、大量のパッケージがインストールされていると、サーバOSとしては不要なパッケージの削除作業を行う必要があったりするからである。

 netinstイメージで起動するとCUIのダイアログが表示される。最近の多くのLinuxディストリビューションはインストール時にGUIを採用していることが多いため、ちょっと面食らってしまうかもしれないが、十字キーとTABキー、そしてエンターキーで十分操作可能だ。

 また、CUIであるがゆえに、ハードウェアによってはインストール時からシリアルコンソールが利用可能である。これは、モデムなどを経由してリモートインストールも可能であることを意味し、ハードウェアをデータセンターに配置している場合は、現地オペレータにCD-ROMをセットしてもらい電源ONしてもらうだけでインストール作業を開始できる。これはサーバ向けの特徴と言えよう。

 そのほか、インストール時のポイントとしては「ソフトウェアの選択」で、何も指定しないことだろう。こうすることで、最小限のシステムを構築することができる。

 以上、ここまでの作業は、ダウンロードの時間にもよるが、手慣れていれば30分前後、慣れていなくとも1時間でインストール可能だ。

インストール後の初期設定

 インストール直後のプロセスを見ると、不要なサービスは一切動いておらず、サーバOSの初期状態としては非常に理想的な環境だ。しかし何も入っていないがゆえに、何も行うことができない。まずは、sshによるリモートログイン環境を整えて、Tracの環境構築に備えることにする。

 その前に、OS自体のアップグレード確認作業を忘れてはならない。インストール直後のOSに対し、すでにセキュリティパッチが出ている可能性があるからだ。DebianはAPTによって新しいアプリケーションのインストールから、インストール済みアプリケーションのアップグレードまでの作業を簡単にできる。

# aptitude update
# aptitude upgrade

 筆者の環境では、kernel(linux-imageパッケージ)のアップグレードが発生した。aptitude upgrade後に再起動し、最新のkernelで稼働するようにした。

 なおroot権限が必要な作業はsudoを利用するのが常とう手段ではあるが、今回はコマンドラインを簡素化するため、すべてrootユーザで作業を行っている。

 さて、次はリモートログイン環境である。インストール直後の状態では、常にサーバの前で作業をしなければならないため、sshによるリモートログインが可能なように構成する。これもAPTで簡単に構成可能だ。

# aptitude install openssh-server

 これでsshによるリモートログインが可能になった。ただし、この時点ではrootユーザによるログインが許可された状態(PermitRootLogin yes)であるため、サーバが信頼できるネットワークに配置されているかを、再度確認しておく。

 もし信頼できないネットワークに配置されていたのであれば、直ちにsshdを停止し、信頼できるネットワークへ再配置してからセットアップ作業を行うようにする。また、セットアップが完了したら、PermitRootLoginをnoにした上で、ログイン方法に公開鍵を利用するなどでセキュリティを向上させる作業を行っておきたい。

 以上で、起動するだけのクリーンなDebian環境ができ上がった。クリーン環境の構築は、システム開発において比較的頻繁に行われる作業であるため、この手法を知っておくだけでもシステム開発の効率を上げられるのではないだろうか。

 では、このクリーン環境に対し、Tracの環境構築を行っていく。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30