3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

この記事はK4e Linux Distros Advent Calendar 2025の七日目の記事です

前書き

Linuxの用途の一つとして「古くなったPCの復活」があります。

古いPCではWindows11がまともに動きません。Windows11の最低動作条件を少し上げると

  • CPU: 2コア以上 64bit
  • メモリ: 4GB以上
  • TPM対応

となっています。

7世代以前のintel CPU、TPM非対応、メモリ4GB未満だとインストール時にはじかれます。しかも最低要件ではまともにパソコンを使うことができません。例えばメモリは最低8GBないとまともに動きません。

Linuxディストリビューションには古いPCを対象にした軽量Linuxディストリビューションというものがあります。antiX、Linux Mintなどです。これらはメモリ2GB程度の古いPCでのサクサク動作します。いまだに32bitに対応しているものもあり、Windows2000時代のPCでも動くLinuxがまだあります。

そんな中でも今日は、特に動作が軽量で軽量Linuxの代表格として紹介されることも多いPuppy Linuxを紹介していきます。

概要

  • 系統: 独自系(昔はSlackware互換)
  • リリースタイプ: 不定期リリース(複数バージョンが独自にリリース)
  • パッケージマネージャ: APT(Debian・Ubuntuベースのバージョン)、Puppy Package Manager(PPM)(互換性のため)

Puppy Linuxとは

Puppy Linuxは極端に軽量な独自系Linuxです。20年前のWindows XP初期のPCでもびっくりするくらいサクサク動きます。

Screenshot-20251207T195523.png

高速動作の秘密はシステム起動時にあります。Puppyはシステム起動時にシステム全体をRAMに読み込みます。そのため、動作中ストレージの読み込みが発生しません。メモリ上ですべて動作するため、ストレージのI/Oが遅い古いシステムでも快適動作します。

提供される.imgを用いてLive USBとして動作させることができます。Live USBとして起動したとしても、システムはすべてメモリ上で動作するため快適に使用することができます。

Live USBとして利用するほかに、Puppyをシステムにインストールすることもできます。
PuppyのインストールにはFrugal installというとても面白い方法を用います。

Frugal Install

Frugal InstallとはOS全体を数個の圧縮ファイルとして既存のファイルシステムに保存するインストール方法です。通常のインストール方法とは異なり、HDDのパーティションを変更することなく現在のOSとのデュアルブート環境を作成することができます。

Frugal Installを行うと指定したフォルダにvmlinuzと初期RAMディスク、OSの本体であるpuppy.sfsなどの.sfsファイル、保存ファイル、その他数ファイルが保存されます。起動時はpuppy.sfsなどの.sfsファイルがメモリに書き出されます。

image.png

OSを数個のファイルで管理するため、既存のUSBメモリ、外付けSSDに状態を変えることなくOSをインストールすることができます。また、システムの変更は状態を保存するsavefileにのみ書き込まれるため、もし設定に失敗してもsavefileを消すだけで元通り。実験的な用途でも使用できます。

インストール

後から日本語環境を整備するのは面倒なので有志が作成している日本語版をインストールします。
以下のURLからダウンロードできます。

因みにhttps://sakurapup.comはPuppy Linuxに関する情報交換に使われる日本語掲示板です

wikiに書かれた情報は古く、BookwormPup64のイメージサイズは800MBを超えています。fossapupあたりからサイズが700MBを超え出し、CDにシステムが乗らなくなりました。無念。DVDかUSBに書きましょう。

今回はVentoyに.imgを置いてVentoy経由で起動させます。

初回起動

起動時Puppy特有の表示が出てきます。

Copying 'puppy_dpupbw64_10.0.12.sfs' to ram...
Copying 'adrv_dpupbw64_10.0.12.sfs' to ram...
Copying 'ydrv_dpupbw64_10.0.12.sfs' to ram...
Copying 'bdrv_dpupbw64_10.0.12.sfs' to ram...
...

Puppyのシステムは.sfsファイルとして保存されており、起動時にシステム全体がRAMにコピーされます。.sfsとはSquashFSという、Linux向けの圧縮された読み込み専用のファイルシステムです。ブロックデバイスやメモリの制限が厳しい、組込みシステムのようなシステムで使われます。起動時にシステム全体がRAMにシステムがコピーされるため、読み込み速度が遅い古いシステムでも爆速でアプリが起動し、I/Oに問題が起きてもUSBメモリを抜いても動作を継続できます。ハードウェアでの問題が起きやすい古いシステムでも問題なく使用することができます。

初回起動時の画面

日本語版のため何も変える必要はありません。

Screenshot-20251207T195506.png

Screenshot-20251207T195523.png

neofetch

デフォルトでneofetchがダウンロードされています。

Screenshot-20251207T195615.png

Kernelバージョンは6.1.148。LTS系のカーネルでDebian12の既定カーネルです。

システムを全てメモリに移す関係でかなりメモリを食います。メモリが足らなくなるとストレージからの直接参照に切り替わるようです。古いPCでメモリが不足しているシステムだとPuppyの強みが生かせないというジレンマがあります...。

それではPuppyをインストールしていきます。

FrugalPup Installers

FrugalPup Installersというアプリが用意されています。FrugalPupボタンを押します。

Screenshot-20251208T050415.png

Puppyボタンを押します。

Screenshot-20251208T050843.png

インストール元は"このPuppy"を選択します。

Screenshot-20251208T051509.png

Puppyをインストールするパーティションを選びます。今回は昨日の記事でインストールしたCachyOSに忍び込ませます。btrfsでも問題なくインストールできます。

Screenshot-20251208T051523.png

パーティション内にフォルダを作成して、それを選択します。

Screenshot-20251208T051534.png

今回は/mnt/nvme0n1p2/puppy/BookworkPup64というディレクトリを作成しました。
インストール先を確認してOKボタンを押しましょう。
(インストール先を/puppyとしてしまっている画像しか残ってませんでした。)

Screenshot-20251208T051854.png

書き込まれました。

Screenshot-20251208T051906.png

起動フォルダをどこに置くかを指定します。Frugal Installしたnvme0n1p2を指定します。

Screenshot-20251208T051943.png

Screenshot-20251208T052015.png

Grub2 ブートローダの設定

Menu>セットアップ>Grub2ブートローダの設定を開いてブートローダの設定をしましょう。
Puppy Linux用のGrubを用意する形になります。

まず、ブートパーティションを選びます。既にCachyOSで使われているnvme0n1p1を指定します。

Screenshot-20251208T052036.png

起動ファイルの選択。uefiを選びます。

Screenshot-20251208T052054.png

すでにsystemd bootがありますが、systemd bootとpuppy用のGrub2が共存する形でインストールがされます。

Screenshot-20251208T052102.png

内容を確認してOKボタンを押します。

Screenshot-20251208T052123.png

Screenshot-20251208T052135.png

再起動

インストールが終わったら再起動します。

Screenshot-20251208T052407.png

初回シャットダウン時にsavefileを作成します。

Screenshot-20251208T052419.png

savefileを作成するパーティションを指定します。ここではnvme0n1p2を選択。

Screenshot-20251208T052431.png

savefileを暗号化するかを選べます。今回は暗号化なしで。

Screenshot-20251208T052445.png

保存スタイルを選択します。フォルダの中に保存が推奨されているのでこちらを選択。

Screenshot-20251208T052455.png

保存ファイル名を指定します。johnとしたりpochiとしたりshibaとしたりお好きにどうぞ。

Screenshot-20251208T055152.png

はい、保存します ボタンを押した瞬間にシャットダウンが始まります。

Screenshot-20251208T055213.png

それでは再起動してみましょう。インストールした時点でPuppyを起動するGrub2が起動順序1位に変更されています。

起動しない?

備忘録としてエラー対処について書いておきます。

起動時エラーの対処

Grub2からの初期起動の際に問題が起きました。

root /puppy/BookwormPup64/puppy_ppupbw64_10.0.12.sfs not found.

システムが見つからないというエラーが出てきてしまいました。
ログを見てみます。

Partition root not found.

rootなどというパーティションはないはず。
問題となっているのはGrubの起動オプションです。
Grubのlinuxから始まる行の起動オプションに

pdrv=root

という記載があります。これが悪さをしています。
pdrvはsfsやinitrdの場所を指定するオプションです。本来はsda2やnvme0n1p2などのデバイスファイル名やUUIDが入る場所なのですが、なぜかrootというパラメータが設定されています。これを消しましょう。

pdrvの指定がない場合、全デバイスを順番にスキャンして自動検出します。pdrv=rootを消してF10で起動が出来ました。
私はnvmeにインストールしており、自動検出も一瞬で終わったため次回起動時にも単純にpdrvを消して起動を行うようにgrub.cfgを変更しました。

Screenshot-20251208T063642.png

再起動後

Screenshot-20251207T195523.png

今後は先ほど設定した保存ファイルにシャットダウン時自動で保存がされるようになります。

LibreOfficeのインストール

文書作成くらいはできるようにしたいです。フリーのオフィスソフトであるLibreOfficeをインストールしましょう。

BookwormPupはDebianベースで開発されているため、パッケージマネージャとしてaptが使えます。

# apt update 
# apt install libreoffice

Menu>グラフィックにDrawとImpress、Menu>文書にWriter、Menu>ビジネスにCalcが追加されます。

日本語入力について

日本語版ではデフォルトでAnthyを用いた日本語入力環境が整備されています。半角/全角キーで英字ローマ字の切り替えが可能です。

まとめ

今日は超軽量Linux代表格である、Puppy Linuxを紹介しました。前回私が触ったPuppyはFossapup64で、こちらはUbuntu20.04ベースでした。今後もDebianかUbuntuをベースに開発されると、流石にメモリに乗らないくらいのシステムサイズになってきそうです。デフォルトで1000以上のパッケージがダウンロードされているため、いらないデフォルトパッケージを消して最適なシステムサイズに自分で調節する必要がありますね。

それにしてもFrugal installはPuppy独自の非常に面白い仕組みですね。grubを入れるEFIパーティションさえ用意しておけばpuppy本体はファイルとして保存ができます。USBメモリに仕組んでおいて、もしものときのリカバリーディスクとして持っておくのはおすすめです。システムはすべてメモリ上で動くためUSBブート特有の動作遅延がありません。

明日は非常に面白いシステム管理方法を採用しているセキュリティ重視のOS、Vanilla OSを紹介します。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?