Linuxサーバーにログインしてみる

ほろ酔いLinuxシステム管理(1)

🐧 そもそもLinuxとは?

Linux(リナックス)は、コンピュータを動かすためのオペレーティングシステム(OS)の一種です。WindowsやmacOSと同じく、アプリケーションとハードウェアの橋渡しをする役割を担っています。

ただし、Linuxには以下のような特徴があります:

  • オープンソース:ソースコードが公開されており、誰でも自由に使ったり改良したりできます。
  • 無料で利用可能:商用利用もOK。ライセンス料が不要。
  • 高い安定性とセキュリティ:長期間の運用に強く、サーバー用途に最適。

🛠 Linuxの生い立ち

Linuxは1991年、フィンランドの大学生リーナス・トーバルズによって開発されました。

背景と経緯を簡単にまとめます。

  • 当時、教育用OS「MINIX」に不満を持っていたリーナスが、自作のOSカーネルを開発。
  • 1991年8月、「comp.os.minix」というニュースグループに「自作のOSを作ってみた」と投稿。
  • その後、世界中の開発者が協力し、Linuxカーネルが急速に進化。
  • GNUプロジェクトのツール群と組み合わさり、GNU/Linuxとして実用的なOSに。

ちなみに「Linux」という名前は、当初「Freax(フリークス)」と呼ばれていましたが、FTPサーバの管理者が勝手に「Linux」と名付けたのが定着したという逸話もあります。

🌍 Linuxの使われ方

Linuxは、私たちの生活のあらゆるところに使われています。

用途説明
サーバーWebサーバー、メールサーバー、データベースなど。世界中のサーバーの多くがLinuxベース。
スマートフォンAndroidはLinuxカーネルをベースにしています。
スーパーコンピュータ世界のTOP500スーパーコンピュータのほぼすべてがLinuxを採用。
組み込み機器ルーター、テレビ、カーナビ、IoT機器など。
開発環境プログラミングやシステム開発に最適。DockerやWSLなどでも活用。
デスクトップPCUbuntuやFedoraなど、初心者向けディストリビューションも多数。

Linuxは「自由」と「協調」の象徴とも言える存在といえるかもしれません。

マルチユーザーとマルチタスクとは

👥 マルチユーザーとは

マルチユーザー(multi-user)とは、1台のコンピュータを複数のユーザーが同時に利用できる仕組みのことです。

  • 各ユーザーは独立したアカウントを持ち、個別のホームディレクトリや設定を保持。
  • ユーザーごとにアクセス権限が設定され、他人のファイルやプロセスに干渉できない。
  • リモート接続(SSHなど)を使えば、複数人が同時にログインして作業可能。
  • root(管理者)ユーザー一般ユーザーを明確に分離し、セキュリティを確保。

たとえば、大学のサーバーや企業の開発環境では、1台のLinuxマシンを何十人ものユーザーが同時に使っていることも珍しくありません。

🔄 マルチタスクとは

マルチタスク(multi-tasking)とは、複数のプログラム(プロセス)を同時に実行できる機能のことです。

Linuxのマルチタスクの仕組みを簡単に説明します。

  • 実際にはCPUは1つの処理しかできませんが、非常に短い時間でタスクを切り替えることで、同時に動いているように見せています(タイムシェアリング)。
  • Linuxカーネルのスケジューラが、各プロセスにCPU時間を割り当てて管理。
  • バックグラウンド処理やデーモン(常駐プロセス)も同時に動作可能。
  • tophtop コマンドで、現在動いているプロセスをリアルタイムで確認できます。

🧠 Linuxがマルチユーザー&マルチタスクであることの意義

特徴メリット
マルチユーザーセキュリティとプライバシーの確保、共同作業の効率化
マルチタスク複数の処理を並行して実行、システムの効率的な利用

この2つの特性があるからこそ、Linuxはサーバー用途や開発環境、組み込み機器など、幅広い分野で活躍しているといえます。

Linuxサーバーに触れてみよう

本稿では、Ubuntu Server 24.04.2 LTSを使用します。

🖥️ Ubuntu Server 24.04.2 LTS は、Canonical社が開発する Linux ディストリビューション「Ubuntu」のサーバー向け長期サポート版(LTS)の最新版です。2025年2月にリリースされたこのバージョンは、安定性とセキュリティを重視した運用環境に適しています。

🌟 主な特徴

  • LTS(Long Term Support)版:2029年4月までの5年間のサポート付き。Ubuntu Proを利用すれば最大10年まで延長可能。
  • GUIなしの軽量構成:サーバー用途に特化し、不要なデスクトップ環境を含まない。
  • 高い安定性とセキュリティ:企業や教育機関など、長期運用が求められる環境に最適。

📦 インストールと運用

  • ISOファイルは Ubuntu公式サイト から入手可能。
  • 仮想環境(VirtualBoxなど)や実機へのインストールも容易。

システムにログインしてみよう

システムを起動すると上の画面が表示されます。
ユーザ名とパスワードを入力してログインします。

上の①かっこの中はLinuxカーネルのバージョンとPCのプロセッサのタイプです。その後、システム情報などが多数表示されます。
最後にシェルのプロンプトが表示されます。

lin@ub-srv-2404:~$

Ubuntuではデフォルトでプロンプトに、下の情報が表示されます。

<ユーザ名>@<ホスト名>:<カレントディレクトリ>

ログアウトするには

“exit”または”logout”と入力します。

lin@ub-srv-2404:~$ exit
logout
Connection to 192.168.1.15 closed.

上はSSHでリモートログインしている状態からログアウトしたところです。

シャットダウンするには

通常、”shutdown”コマンドを使用します。

lin@ub-srv-2404:~$ sudo shutdown -h 0
[sudo] password for lin:
Shutdown scheduled for Thu 2025-07-10 01:52:17 UTC, use 'shutdown -c' to cancel.
lin@ub-srv-2404:~$ client_loop: send disconnect: Connection reset

上はSSHでリモートログインしている状態からシャットダウンしたところです。
シャットダウンは通常、特権ユーザの権限が必要です。

上の”sudo”コマンドは、「一時的に管理者権限(root権限)でコマンドを実行する」ための仕組みです。LinuxやUNIX系OSでは、通常のユーザーでは実行できない操作(例:システム設定の変更、パッケージのインストールなど)を安全に行うために使われます。パスワードを入力後、”sudo”コマンド経由でシャットダウンが実施されます。

ここで、Ubuntuなどでは、コンソールからのシャットダウンの場合、管理者権限がなくても(sudoコマンドなしで)行うことができます。

上の実行例で最後の行は、プロンプトが表示されていますが、コマンドは入力されておらず、プロンプトが表示された後にシステムメッセージが表示されている状態です。この直後はネットワークがシャットダウンされてSSHが終了しています。