Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

Ubuntuでsystemdを完全に無効化する方法:ステップバイステップ完全ガイド

GNU/Linuxの世界で、vi対Emacsの永遠の論争に匹敵するほど熱い議論といえば、systemdを使うべきかどうかをめぐる論争でしょう。systemdを個人的に使うべきかどうかは誰にも決められませんが、幸いなことに、UbuntuおよびCanonicalが支援する各種派生ディストリビューションに関しては、今でも選択の余地が残されています。Ubuntuでsystemdを無効化すること自体は決して難しくありません。Bourneシェルの操作経験があれば、OSカーネルサービスに関する専門知識がほとんどなくても、いくつかの簡単なコマンドで実行できます。

難しいのは、systemdを永久に無効のまま維持することです。かつてのUnix System Vパッケージと同様に、systemdはユーザースペースをブートストラップし、その後すべてのプロセスを管理します。開発者たちはこのパラダイムを前提としてUbuntuパッケージを作成しているため、多くのパッケージはsystemdに最適化されており、systemdを必要とします。そこで、apt-getパッケージマネージャーに対し、systemdを再ダウンロードさせないためのルールを課すという回避策が登場します。この手法は最終的に一部のパッケージを壊す可能性がありますが、Ubuntuを手放さずにsystemdを避けたいユーザーにとっては十分に価値のある選択肢です。実際、systemdへの最大の批判の一つは、GNOME 3デスクトップ環境がかつてsystemdに依存していたという事実でした。

方法1:Debian流ピン留め(ピニング)テクニックを使う

Ubuntuベースのディストリビューションからsystemdを削除するために機能する可能性のある方法の一つが、Debian流のピン留めテクニックです。一部のシステムでは完璧に機能しますが、環境によって結果が異なる場合がある点にご注意ください。作業を試みる前に、必ずシステムのフルバックアップを作成しておきましょう。

まず、systemdを削除した後に代わりに動作する仕組みを用意する必要があります。ターミナルから apt-get install upstart-sysv sysvinit-utils -y を実行し、新しいsysvinitサービスが有効になっていることを確認してください。続いて update-initramfs -u コマンドを実行してから、マシンを完全に再起動します。

マシンが再起動したら、apt-get remove --purge --auto-remove systemd systemd:i386 -y を実行してsystemd本体を削除します。その後、複数のechoコマンドを実行して各設定ファイルに行を書き込み、systemdが二度と復活しないようにします。これらのコマンドは理論上bashスクリプトにまとめることも可能ですが、ターミナルから順番に実行するだけで問題ないなら、その必要はありません。

すべて完了したら、再起動前にsyncコマンドを1〜2回実行しておくと安心です。ここまで完了すれば、他のパッケージの依存関係としてsystemdが勝手にインストールされる問題は発生しなくなるはずですが、意図せずsystemdパッケージが混入しないよう、apt-getの出力には引き続き目を光らせておいてください。

これらのコマンドをpreferences.dディレクトリに配置すると、apt-getに対して「systemdは優先パッケージではない」ことを伝えることになります。-1という値は0より低いため、他のパッケージからの要求があったとしても、apt-getは積極的にsystemdパッケージをダウンロードしなくなります。だからこそ、他のパッケージによってこの優先度設定がリセットされないよう、定期的に確認することが重要なのです。

方法2:systemdを使わないUbuntu系に近いディストリビューションへ移行する

UbuntuはDebianをベースとしているため、Debianがsystemdの各種機能と一体化を進めるにつれて、Ubuntuも同じ道をたどりつつあります。一部の開発者は、この系統のLinuxディストリビューションが、Microsoft Windowsにおけるサービスホストのように、最終的にsystemdを不可欠な要素として採用するようになると予測しています。より根本的な解決策ではありますが、最初からsystemdを使用しないディストリビューションに乗り換えるのも有力な選択肢です。

既存のUbuntuユーザーであれば、こうしたディストリビューションのISOイメージの扱い方について新しく学ぶことはほとんどありません。CanonicalのUbuntuイメージとほぼ同じ要領で、起動可能なUSBメモリやSDカードに書き込むことができるからです。

systemdパッケージを避けたい*buntu系ディストリビューションのユーザーには、まずDevuanを検討してみることをおすすめします。Devuanはsystemdなしで構築されたDebianベースのディストリビューションで、馴染みのあるインターフェースと慣れたOSの構成方法をそのまま提供します。開発メンバーは元Debianプロジェクトの参加者であり、同じ設計思想に基づいて開発が行われています。Devuanは依存関係の都合上libsystemd0を保持し続けているため、純粋主義的なユーザーには不向きな面もありますが、https://www.devuan.org/os/announce/stable-jessie-announce-052517 ではUbuntuと同等の使いやすいISOイメージが公開されています。イメージをダウンロードしたら、消去しても構わないリムーバブルメディアに dd コマンドで書き込んでください。OSインストール用にメディアへ書き込む際は、既存のファイルシステムが実質的に消去される点に注意しましょう。作業完了後は、メディアを再フォーマットして別の用途に再利用することも可能です。

あるいは、systemdを採用していないさまざまなディストリビューションを比較検討するのも良いでしょう。https://distrowatch.com/search.php?pkg=systemd&distrorange=NotInLatest#pkgsearch のページを利用すれば簡単です。DistroWatchはLinuxベースのOSを素早く概観できるポータルサイトで、systemdパッケージを必要としないOSを一覧表示する検索ツールを提供しています。

リストはデフォルトで人気順に並んでいますが、FreeBSDやTrueOSなど、Linux以外のフリーなオペレーティングシステムも含まれている点には留意してください。これらはLinuxベースではないためUbuntuユーザーにはやや馴染みがないかもしれませんが、いずれもUnix系のOSです。この問題に強いこだわりを持つユーザーの中には、BourneシェルとXfceなどの軽量デスクトップ環境を備えたBSD系OSへ移行することで、Ubuntuで慣れ親しんだ操作性を保ちながらsystemdから完全に解放される道を選ぶ人もいます。


著者について

Ubuntuでsystemdを完全に無効化する方法:ステップバイステップ完全ガイド

Kevin Arrows(ケビン・アローズ)

Kevin Arrowsは、10年以上の業界経験を持つテクノロジースペシャリストです。Microsoft認定テクノロジースペシャリスト(MCTS)の資格を保有し、最新の技術動向を追いかけることに強い情熱を注いでいます。ソフトウェア開発、サイバーセキュリティ、クラウドコンピューティングなど幅広い分野で執筆活動を行っており、その貢献は業界内で広く認められています。複雑な技術的概念を明快かつ簡潔に説明する能力でも高い評価を得ています。

  1. PuTTY X11プロキシ「サポートされていない認証プロトコル」エラーを修正する5つの方法

    PuTTY X11は、リモートアプリケーションやサーバーの表示・操作をローカルマシンに転送することで、遠隔アクセスを実現する仕組みです。これにより、ユーザーは自分のPCからリモートマシンのGUIやSSHを直接操作できるようになり、快適なリモート作業が可能になります。しかし、サーバーやアプリケーションに接続しようとした際に、「PuTTY X11 proxy: Unsupported authorization protocol(サポートされていない認証プロトコル)」というエラーが発生することがあります。このエラーの主な原因は以下の通りです。Xauthorityファイルの所有権が誤っている(ファイ

  2. Cubicで独自のLinuxディストリビューションを作る方法|初心者向けステップバイステップ完全ガイド

    自分だけのLinuxディストリビューションを作ってみようと考えたことはありませんか?自分のニーズに完璧に合わせたOSを持つことができるため、非常にやりがいのあるプロジェクトです。 そんなカスタマイズを実現するのに役立つのがCubicです。このツールは、Ubuntuやその他Debian系システムのカスタマイズ作業をシンプルかつ効率的にするための多彩な機能を備えています。 この記事では、Cubicとは何か、どのように動作するのか、そしてなぜ多くの人に選ばれるモダンなカスタマイズツールとなったのかを詳しく解説します。 Cubicとは何か? Cubic(Custom Ubuntu ISO Creato