システムメンテナンス · 1 min read · Dec 25, 2025
Arch Linuxシステムの一般的なメンテナンス
Arch Linuxのインストールを維持することは、いくつかのことを心に留めておけば、実際には非常に簡単で明確です。このディストリビューションのローリングリリースの性質により、他のディストリビューション(UbuntuやDebianなど)と同様のメジャーバージョンアップグレードを心配する必要はありません。Pacmanを賢く使用し、パッケージを定期的に更新すれば、Archで物事が壊れたり、パッケージが動作しなくなる問題に直面することはありません。以下は、Archを最新の状態に保ち、インストールした日と同じように、あるいはそれ以上に動作させるための私の推奨事項を概説します。また、最初にインストールした後にArchを最適化するための短いセクションも提供し、長期的にメンテナンスをより迅速かつ簡単にします。いつものように、これは私の考えに過ぎず、Archを使用する際には公式のドキュメントを参照するべきです。以下のすべてのコマンドについて、あなたがsudo権限を持っていると仮定しています。ただし、sudo権限があるか、rootユーザーに切り替えられる限り、大丈夫です。ArchWikiは素晴らしいリソースであり、そこにある多くのガイドや情報は、Archを使用していなくても役立ちます。彼らのIRCチャンネル、#archlinuxはirc.freenode.netで見つけることができます。これは、質問をしたり、より経験豊富なユーザーから有益な洞察を得るためのもう一つの素晴らしい場所です。ただし、チャンネルを埋め尽くしたり、同じ質問を繰り返し続けないでください!
まず、メンテナンスと継続的な使用を迅速かつ簡単にするためにArchを最適化する方法を見ていきます。これらは時には大きな違いを生む小さなことです。多くの人がそれらを見落としたり、Pacman(パッケージマネージャー)などの設定を適切に行うのが面倒で、システムで実行されないことがよくあります。強力にスタートし、システムをある程度自己持続可能にすることは、長い目で見て大きな効果があり、後で多くの頭痛を避けることができます!
ミラーリストの更新
まず、あなたに最も速いミラーを利用するためにミラーリストを更新する方法を説明します。ミラーリストは/etc/pacman.d/mirrorlistにあります。1つのオプションは、リストを見て、地理的に自分に近いと思われるミラーを選択することです。これは場合によっては便利ですが、ミラーが近いからといって必ずしも最速であるとは限りません。もう少し具体的な何かに基づいて決定を下したい場合は、/usr/bin/rankmirrorsにあるArchが提供する組み込みツールを使用できます。デフォルトでは、/etc/pacman.d/mirrorlist内のほとんどのミラーはコメントアウトされていますが、rankmirrorsを使用するにはすべてのコメントを解除する必要があります。これを行う簡単な方法は、ファイルを新しい名前にコピーし、sedを使用して次のコマンドでコメントを示すすべての”#”を削除することです:
sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.toBeTested
sudo sed -i 's/^#Server/Server/' /etc/pacman.d/mirrorlist.toBeTestedこれで、rankmirrorsのヘルプ出力を使用してその機能についてすべて学ぶことができますが、ここでは単に3つの最速のミラーが欲しいと仮定しましょう。新しく生成したファイル(コメント解除されたミラーを含む)を使用して、rankmirrorsを使用して3つの最速のミラーを印刷します:
sudo rankmirrors /etc/pacman.d/mirrorlist.toBeTested -n 3そのコマンドの出力を取得し、それがあなたの3つの最速のミラーであるはずです。それを実際のミラーリストでコメント解除し、お気に入りのテキストエディタを使用して次のようにします:
sudo vim /etc/pacman.d/mirrorlist私はこれを数ヶ月ごとに自分のシステムで行うのが好きです。なぜなら、時にはミラーが利用できなくなったり、もはや速くなくなるように変更されたりするからです。これを些細なことと呼ぶ人もいるかもしれませんが、Archはローリングリリースディストリビューションであるため、更新が非常に多くなります。ダウンロードするパッケージごとに3秒を節約できたとしても、それは1年またはそれ以上の間に数十分に加算される可能性があります!さらに、Archを実行しているシステムが1つ以上ある場合、時間の要因はさらに複雑になります。塩を少々加えて考えてくださいが、多くのシステムや時間をかけて扱う際には、小さなことがすべての違いを生むのです。
時間を正確に保つ
システム時間が正確であることがどれほど重要であるかを強調することはできません。これは、ハードウェアクロックを持たないシステム(例:VM)について話している場合に特に当てはまります。多くの実行中のサービスは、クライアントとサーバー間の時間が同じであることを必要とします。また、システム時間が間違っているために、証明書がまだ有効だとシステムが考えることは望ましくありません!さらに、ログファイルの時間が正確であることを望みます。問題を診断しようとする際に、何かが実際にいつ起こったのか、システムクロックが「いつ起こった」と言っているのかを知ることができるからです。Archでこれを行う最も簡単な方法は、NTP(Network Time Protocol)を使用することです。この場合、NTP、またはより具体的にはntpdは、定期的にシステムの時計をインターネット上のサーバーと同期させて、システム時間が一致するようにします。また、時間のずれを追跡することもできるので、気になる場合は、任意の時点で時計がどれだけずれていたかを確認できます。
Arch Linuxインストールのタイムゾーンを確認する
すべてのArchインストールで利用可能なコマンドtimedatectlがあり、システムの時間と日付に関する多くの有用な情報を表示します。
[jonathan@zabaglione]$ sudo timedatectl
Local time: Sun 2015-07-05 18:30:18 MDT
Universal time: Mon 2015-07-06 00:30:18 UTC
RTC time: n/a
Time zone: America/Denver (MDT, -0600)
Network time on: no
NTP synchronized: no
RTC in local TZ: noその出力からすべてが良好に見える場合は、NTPを設定しても大丈夫です(読み続けてください)。タイムゾーンやその他の設定を変更する必要がある場合は、詳細についてはこのページを参照してください。
NTPのインストールと設定
Arch Linuxでは、NTPのインストールと設定は簡単で、ほとんどの人にとって機能する設定が付属しています。まず、パッケージをインストールする必要があります:
sudo pacman -S ntpインストールが問題なく完了した場合は、/etc/ntp.confを確認してください。執筆時点でのデフォルトは次のようになります:
# Please consider joining the pool:
#
# http://www.pool.ntp.org/join.html
#
# For additional information see:
# - https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon
# - http://support.ntp.org/bin/view/Support/GettingStarted
# - the ntp.conf man page
# Associate to Arch's NTP pool
server 0.arch.pool.ntp.org
server 1.arch.pool.ntp.org
server 2.arch.pool.ntp.org
server 3.arch.pool.ntp.org
# By default, the server allows:
# - all queries from the local host
# - only time queries from remote hosts, protected by rate limiting and kod
restrict default kod limited nomodify nopeer noquery notrap
restrict 127.0.0.1
restrict ::1
# Location of drift file
driftfile /var/lib/ntp/ntp.driftデフォルトを変更することに興味がある場合は、こちらのArchWikiの記事を確認することをお勧めします。そうでなければ、ntp.confファイルがあなたの望むように見えると仮定し続けます。ほとんどの人にとって、デフォルト設定は問題ありません。さて、ntpdはArch Linuxインストールのバックグラウンドで実行したいデーモンです。次のコマンドは、ntpdを開始し、起動時に有効にします。
sudo systemctl start ntpdsudo systemctl enable ntpdArchのメンテナンスは、他のディストリビューションやオペレーティングシステムのメンテナンスとはあまり変わりません。Archインストールを台無しにする最も一般的な方法は、パッケージを定期的に更新しないことです。Arch Linuxはローリングリリースディストリビューションです。メジャーバージョンリリースはなく、パッケージは継続的に「利用可能な場合」に更新されます。これを念頭に置いて、システムを一度も更新しない場合、物事が変わる速度があまりにも速くなり、最終的に更新することに決めたときに問題を引き起こす可能性があります。競合や問題を避けるために頻繁に更新してください。これにより、システムが最新のセキュリティ脆弱性のパッチを適用した状態で動作していることも保証されます。
Arch Linuxシステム全体のアップグレード
Pacmanは非常に強力なパッケージマネージャーですが、使用フラグやコマンドの構文に慣れると簡単に使用できます。Arch Linuxシステムに対して行うべき最も重要なことは、できるだけ定期的に更新することです。私は個人的に毎日システムを更新しており、これまで問題が発生したことはありません。ただし、数日から1週間ごとに更新するのが良いでしょう!次のコマンドは、Pacmanにインストールされているすべてのパッケージをリポジトリと同期するよう指示します:
sudo pacman -Syuこれにより、すべての利用可能な更新のリストが提供され、その後、続行するかどうかを尋ねられます:
[root@zabaglione ~]# pacman -Syu
:: Synchronizing package databases...
core 121.6 KiB 599K/s 00:00 [----------------------------------------------------------------------------------------] 100%
extra 1738.1 KiB 3.12M/s 00:01 [----------------------------------------------------------------------------------------] 100%
community 2.7 MiB 8.81M/s 00:00 [----------------------------------------------------------------------------------------] 100%
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (8) gnupg-2.1.6-1 less-478-1 libldap-2.4.41-1 lz4-131-1 mercurial-3.4.2-1 openssh-6.9p1-1 vim-7.4.764-1 vim-runtime-7.4.764-1
Total Download Size: 11.29 MiB
Total Installed Size: 56.65 MiB
Net Upgrade Size: 0.11 MiB
:: Proceed with installation? [Y/n] 注意深く読んでください!時々、Pacmanはミラーリストや他のファイルを更新するようなことを行い、その前にそれを通知し、古いものがどこにバックアップされているかを教えてくれます。パッケージのアップグレードに基づいてこのようなことが発生するタイミングを時間とともに感じるようになりますが、慣れるまでは注意してください!
パッケージとその依存関係の削除
パッケージを削除する際、私は通常、Pacmanに未使用の依存関係も削除するよう指示します。つまり、他のパッケージによって必要とされていないパッケージです。これにより、システムを一般的にクリーンで混乱のない状態に保つことができます。私は、Pacmanを使用してこれを行う際に問題に直面したことはありませんので、依存関係ツリーはかなり良好に保たれています。パッケージとその不要な依存関係を削除するには:
pacman -Rs packageName未使用のパッケージの削除
時間が経つにつれて、多くのインストールとアンインストールの結果、もはや必要ないパッケージがたくさん蓄積されることがあります。明示的にインストールされたすべてのパッケージ(したがって、他のパッケージの依存関係としてインストールされていないもの)を表示するには、次のコマンドを使用できます:
pacman -Qen出力を注意深く読み、もはや必要ないものを特定します。必要ないと思われる限り、それらをアンインストールしても安全です。依存関係として引き込まれたが、もはやどのパッケージにも必要とされていないパッケージを削除するには、次のようにします:
pacman -Rns $(pacman -Qtdq)「エラー:ターゲットが指定されていません」というエラーが表示された場合、それは条件を満たす削除すべきパッケージがないことを意味します。
Pacmanキャッシュのクリーンアップ
Pacmanは、最終的にシステムにインストールされるすべてのパッケージをダウンロードする必要があります。それらのパッケージは、/var/cache/pacman/pkg/にあるキャッシュに保存されます。時間が経つにつれてかなりのディスクスペースを占有する可能性があり、埋め込みシステムで実行している場合や、使用しているディスクスペースが気になる場合は、目標に応じてキャッシュをクリーンアップする方法がいくつかあります。注意してください:キャッシュを完全にクリアすると、インストールされたソフトウェアの古いバージョンに簡単にダウングレードできなくなります。なぜなら、キャッシュから削除するとシステムからも削除されるからです。以下に、すべての古いバージョンを削除しないようにキャッシュをより慎重にクリーンアップする方法を示します。
方法1:キャッシュ全体をクリアする(注意!)
スペースが本当に限られていて、システムの安定性に比較的満足している場合、または古いパッケージを見つけてリポジトリから取得せずにインストールする方法を知っているより高度なユーザーである場合、このPacmanキャッシュをクリアする方法は使用しても問題ありません。私はこれを限られた場合にのみ、非常に注意して使用します。なぜなら、パッケージを迅速にダウングレードしたい場合、その柔軟性を持っていたいからです。特に生産機や作業を行うために頼っているコンピュータでは特にそうです。次のコマンドは、キャッシュ内のすべてを削除します:
pacman -Sc最後にもう一度警告しますが、これからは戻れません、キャッシュは消えます。
方法2:いくつかのバージョンを維持する
もし、リスクを冒したくなく、すべてを削除せずにキャッシュを安全にクリーンアップしたいのであれば、この方法を使用するべきです。pacmanパッケージの一部である組み込みツールpaccacheがあります。デフォルトでは、paccacheはパッケージの最新の3つのバージョンを除いてすべてを削除しますので、通常はこの方法で行うのが良い考えです。また、出力は非常に役立ち、どれだけのスペースが解放されたかを教えてくれます:
[jonathan@zabaglione ~]$ paccache -r
==> Privilege escalation required
[sudo] password for jonathan:
==> finished: 233 packages removed (disk space saved: 511.94 MiB)アンインストールされたパッケージのすべてのキャッシュバージョンを削除したい場合は、次のようにpaccacheを実行できます:
paccache -ruk0パッケージの古いバージョンに戻す
時折、すべての良いLinuxユーザーの生活の中で、パッケージのアップグレードが重要な何かを壊す時が来ます。バグが見逃され、オペレーティングシステムに入り込むことがあります。または、特定のバージョンのパッケージが必要な特別な作業を行っている場合、うっかり最新バージョンにアップデートしてしまったかもしれません!以下は、上記のキャッシュに必要なバージョンがあると仮定していますが、そうでない場合は、適切なバージョンをダウンロードし、Pacmanにそれを指示すれば、望む結果が得られるはずです。もちろん、「name」と「package」を実際に操作しようとしているパッケージの名前に置き換えることを忘れないでください:
pacman -U /var/cache/pacman/pkg/name-version.pkg.tar.gz
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。