はじめに
この記事では、VirtualBox上にUbuntuを構築し、APTでのパッケージ管理・アップデートまでを体験した流れをまとめています。
LPICの学習として、パッケージ管理の手順やコマンドの意味を理解することを目的としています。
初心者の自分が詰まったポイントやコマンドを整理してまとめています。
(環境構築の際に大いに参考にした記事は文末に記載しています)
1. 仮想マシン作成
- VirtualBoxを使用
- CPU、メモリ、仮想ディスクサイズなどを設定
- Ubuntu ISO(日本語RemixでもOK)を光学ドライブにマウント
※自分は今回、ノートパソコンに導入しました。
端末スペック
- 第8世代 Core i5 (4コア8スレッド)
- メモリ: 20GB
- SSD: 512GB
仮想マシン設定
- CPU: 4スレッド
- メモリ: 6GB
- 仮想ディスク: 30GB
2. Ubuntuインストール
- インストーラー起動後に注意するポイント:
- 画面サイズが小さい場合はスケールモードや解像度設定を調整
→自分は解像度がうまく変えられず「次へ」ボタンが画面外に位置して見えない状態でした。最初はTabキーを何度か押して「次へ」ボタンっぽいところを勘で選択していましたが、調べたところ、Alt+F7でウインドウをドラッグできるようになり解決しました。 - 光学ドライブにISOを残さないようにする
- 画面サイズが小さい場合はスケールモードや解像度設定を調整
3. 基本的なAPTコマンド
3-1. パッケージ設定の修復
sudo dpkg --configure -a
- 意味: 中途半端なパッケージを設定し直す
-
-a
= 保留中のすべてのパッケージに適用
3-2. 依存関係の修復
sudo apt install -f
- 意味: 壊れた依存関係を自動修復
3-3. パッケージ情報更新
sudo apt update
- 意味: リポジトリの最新パッケージ情報を取得
3-4. パッケージアップグレード
sudo apt upgrade -y
- 意味: 更新可能なパッケージをまとめて最新版に
-
-y
= 自動承認で進行
3-5. 不要パッケージ削除
sudo apt autoremove
- 意味: もはや必要のない自動インストールパッケージを削除
4. 競合プロセス・ロック解除
- APTやdpkgのロック中に処理が止まった場合
※今回自分はupgradeで-y(自動承認)を入れずにコマンド入力したところ、途中で20~30分ほど処理が止まってしまったので、Ctrl+Cで中断、状態を調べましたが改善せず、やむなく最終手段まで至りました。
sudo fuser -v /var/lib/dpkg/lock
sudo fuser -v /var/lib/apt/lists/lock
sudo fuser -v /var/cache/apt/archives/lock
sudo kill <PID>
sudo kill -9 <PID> # 最終手段
- 意味: 競合プロセスを確認して安全に終了
5. 再起動
sudo reboot
- 意味: カーネルやアップデートを反映するために再起動
- GUIから再起動してもOK
- VirtualBoxではISOマウントの光学ドライブは空にしておく
6. 確認コマンド
6-1. カーネルバージョン確認
uname -r
6-2. OS情報確認
lsb_release -a
- 出力例:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04
Codename: jammy
6-3. アップグレード可能パッケージ確認
sudo apt list --upgradable
まとめ
- 今回やってみたこと:VirtualBox上でのUbuntu構築 → パッケージ管理 → アップデート → 再起動 → 確認
- 仮想マシン上とはいえ軽いトラブルシューティングの経験になった
- コマンドごとに意味を理解することが LPIC試験対策としても実践的
その他学んだこと
今回の環境構築の作業手順に直接は関係ありませんが、途中で調べることにより理解が深まった用語やコマンドを整理します。
用語編
-
ISO (International Organization for Standardization)
- 国際標準化機構の略。
.iso
ファイル(ディスクイメージ形式)の名前の由来でもある。
- 国際標準化機構の略。
-
IDE (Integrated Drive Electronics)
- 古い規格のHDD/光学ドライブ接続方式。現在はほぼ使われていない。
-
SATA (Serial Advanced Technology Attachment)
- HDDやSSDを接続するための主流規格。IDEの後継。
-
VDI (Virtual Disk Image)
- VirtualBox独自の仮想ディスク形式。実際のPCにおけるHDD/SSDの役割。
-
APT (Advanced Package Tool)
- Debian/Ubuntu系のパッケージ管理システム。ソフトウェアのインストールや更新を担当。
-
LSB (Linux Standard Base)
- Linuxの標準化プロジェクト。
lsb_release -a
でディストリビューション情報を確認できる。
- Linuxの標準化プロジェクト。
-
CPUのコアとスレッド
- コア:CPUの物理的な処理ユニット。並列処理できる数を決める。
- スレッド:コアが同時に扱える処理の単位。IntelのHyper-Threadingなどで1コア=2スレッドになることがある。
- 例:第8世代Core i5(4コア8スレッド)は、物理的に4つのコアを持ち、それぞれが2スレッドを処理できるため、最大で8並列の処理が可能。
コマンド編(補足)
-
ps -ef
- 正式名称:process status
- 用途:全プロセスを詳細情報付きで確認する。PID(プロセスID)確認に便利。
- オプション:
-
-e
:全プロセス表示(entireに由来) -
-f
:詳細情報フル表示(UID, PID, PPID, CMD など)
-
-
grep
- 正式名称:global regular expression print
- 用途:文字列検索。標準入力やファイルから特定の文字列を含む行を抽出できる
- 例:
ps -ef | grep 3218
→ 実行中のプロセスからPID 3218を含む行を表示
-
kill -9 PID
- 意味:プロセスを強制終了する
-
-9
はシグナル番号 SIGKILL を意味する - 注意:通常の終了要求(SIGTERM=15)では終わらないプロセスを無理やり終了させるため、最後の手段で使用
-
fuser
- 正式名称:特になし(“file user” が由来とされる)
- 用途:どのプロセスが特定のファイルやディレクトリを使用しているか確認する
- 例:
sudo fuser -v /var/lib/dpkg/lock
→ dpkgのロックファイルを使用中のプロセスを確認
-
ls
- 正式名称:list(リスト)
- 用途:ディレクトリ内のファイルやフォルダを一覧表示する
- 補足:
ls -l
で詳細情報付き、ls -a
で隠しファイルも表示
参考記事