Ubuntu
Ubuntu
概要(サマリー)
Ubuntu(ウブントゥ)とは、Linuxという仕組みをベースにして作られた、世界中で広く使われている無償利用可能な基本ソフト(OS)である。
WindowsやmacOSが「高価でメーカーがお任せで作ってくれる製品(有料)」だとすれば、Ubuntuは「みんなで協力して作り上げた、誰でも無料でもらえて改造も自由なシステム(オープンソース)」である。
操作がシンプルで初心者にも扱いやすく、インターネット上のWebサーバーを動かすシステムや、プログラマーの開発環境(Windows上でLinuxを動かすWSL2など)として絶対的な地位を築いている。
詳細解説
Ubuntuとは何か
Ubuntuは、Debianという別のLinux OSをベースに「誰にでも使いやすいLinux」を目指して2004年に開発された。名前の「Ubuntu」は、南アフリカの言葉で「他者への思いやり」や「人間らしさ」を意味する。
かつてのLinuxは「黒い画面(コマンドライン)でしか操作できない、プロ向けの難しいシステム」だったが、UbuntuはWindowsのようにマウスでフォルダを開いたりブラウザをクリックしたりできるデスクトップ画面(GUI)を最初から備え、かつ誰でも無料でダウンロードしてインストールできることで爆発的に普及した。
Ubuntuが開発者に選ばれる理由
- 完全無料で使い放題:
OS自体のライセンス料がかからないため、何台のパソコンやサーバーにも導入しやすい。ただし、商用サポート、クラウド利用料、運用コストは別に発生する場合がある。 - パッケージ管理システム(APT)が便利:
ターミナル(コマンド画面)からコマンドを1行打つだけで、世界中にある安全なリポジトリから各種プログラミングツールやアプリ(Python, Node.js, Gitなど)を自動でダウンロード・インストールできる。 - WSL2での標準的な存在:
Windowsの中にLinux環境を構築する仕組み(WSL2)を導入する際、標準のLinux環境として最も推奨され、手軽にインストールできるのがUbuntuである。これにより、Windowsの快適さを保ちながら、本番サーバーと全く同じLinux環境で開発を行うことができる。
ターミナルでの基本操作:APTコマンドの例
Ubuntuで新しい開発ツール(例:Webからファイルを取得する curl コマンド)をインストールする際の、実際のターミナルコマンド手順である。
# 1. サーバーのパッケージリスト(ソフトウェアの目次)を最新にする
sudo apt update
# 2. curlコマンドをインストールする
sudo apt install -y curl
sudo は「管理者として実行する」という意味の指示である。
Ubuntuのリリースサイクル:LTSとは何か
Ubuntuには定期的にリリースされる2つの種類がある。
- 通常版(非LTS): 毎年4月と10月の年2回リリース。新機能が積極的に追加されるが、サポート期間は9ヶ月のみと短い。新技術を試したい開発者向け。
- LTS版(Long Term Support): 2年ごとの4月にリリース(例:20.04, 22.04, 24.04)。通常5年間(最長10年)の長期サポートが提供される。安定性が最重要なサーバー環境や本番稼働環境では、必ずLTS版が選ばれる。
AWS EC2やGoogle Cloudなどクラウドサービスでサーバーを構築する際も、OSの選択肢にはUbuntu LTS版が必ず用意されており、多くのチュートリアルもLTS版を前提として書かれている。
AIコーディングとの関係
開発環境を構築したり、クラウド上にUbuntuのサーバーを立ち上げてWebアプリをデプロイしたりする際、AIを使って設定手順や必要なコマンド(シェルスクリプト)のたたき台を作ることができる。
- 環境構築スクリプトの自動生成:
AIに対して、「新しく立ち上げたUbuntuのサーバーに、Git、Docker、Node.jsをインストールして初期設定を完了させるためのセットアップ用シェルスクリプト(.sh)を書いて」と指示する。
これにより、手順を一つずつ調べて打ち込む手間を減らし、開発環境を整える自動化スクリプトの出発点を作れる。ただし、実行前に公式ドキュメントと照合し、スクリプトの内容を必ず確認する必要がある。
初期構築シェルスクリプトの例(AI生成):
#!/bin/bash
# Ubuntu初期設定用シェルスクリプト
echo "システムを最新化します..."
sudo apt update && sudo apt upgrade -y
echo "必要な基本ツールをインストールします..."
sudo apt install -y git curl build-essential
echo "Dockerをインストールします..."
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
echo "セットアップが完了しました!"
よくある勘違い
コマンド(黒い画面)を打ち込まないと一切使えない?
そんなことはない。
Ubuntuを自分のPC(古いノートパソコンの再利用など)にインストールすると、Windowsと同じように美しいデスクトップ画面が表示される。Google Chromeブラウザでのインターネット閲覧、ファイルの整理、Office互換ソフト(LibreOffice)での文書作成など、すべての操作をマウスとキーボード(GUI)だけで快適に行うことができる。プログラミングやサーバー運用の際のみ、コマンド(ターミナル)を活用する。
無料のOSだからセキュリティが甘くて危険?
むしろ逆である。
Ubuntuは世界中のエンジニアやセキュリティ研究者がコードを確認し、脆弱性(欠陥)が見つかれば修正パッチが配布されるオープンソースモデルをとっている。また、多くのWebサーバーがLinux(Ubuntu等)で動いているため、広く利用され、継続的にセキュリティ対応が行われているOSの一つである。
Ubuntuは個人のPCには使えず、サーバー用のOSである?
全くそんなことはない。
Ubuntuには「デスクトップ版」と「サーバー版」があり、デスクトップ版はWindowsやmacOSと同様に、グラフィカルなデスクトップ画面(GUI)を持ち、個人のパソコンの日常的なOSとして完全に機能する。古くなってWindowsが重くなったノートPCにUbuntuをインストールし直して「快適な作業マシン」として復活させている開発者も世界中に多数存在する。Webブラウザ(Chrome等)やVS Codeなどの開発ツール、さらにはSteamを通じたゲームまで、多くのアプリが対応している。
まとめ
- Ubuntuは、Linuxをベースとした広く普及している無償利用可能なオープンソースOS。
- デスクトップ画面(GUI)も完備されており、初心者でも使いやすいように設計されている。
- コマンド一発でツールを導入できるパッケージ管理(APT)があり、開発者にとって非常に使いやすい。
- AIにセットアップ手順やシェルスクリプトのたたき台を書いてもらうことで、インフラ構築の効率を高められる。
情報ソース
より詳しくAIに聞いてみよう
- Windowsパソコンに「WSL2」を導入して、その上でUbuntuを起動して開発環境を構築するまでの具体的な手順を教えてください。
- Ubuntuの長期サポート版である「LTS(Long Term Support)」とは何ですか?通常版とのサポート期間や用途の違いについて教えてください。
- Ubuntuのパッケージ管理ツール「apt」と、新しい形式である「snap」の違いとそれぞれのメリットについて教えてください。
- Ubuntuサーバーのセキュリティを高めるために、SSH接続のパスワード認証を禁止して「公開鍵認証」のみにする設定手順を教えてください。
- 古くて動作が遅くなったWindowsノートPCにUbuntuをインストールして、開発用マシンとして復活させる手順を教えてください。