openSUSE® Leap は 64 ビットプラットフォームで動作します。ですが、開発者側で全てのアプリケーションを 64 ビットプラットフォームに移植しているわけではありません。本章では、 64 ビットの openSUSE Leap プラットフォームで、どのようにして 32 ビットアプリケーションを動作させているのかについて、概要を説明しています。
Linux システムの起動に際しては、様々なコンポーネントや処理が介在しています。ファームウエアとハードウエアの初期化処理が完了した後は、マシンのアーキテクチャによって異なりますが、ブートローダ GRUB 2 などを利用してカーネルを起動します。この時点まで到達すると、ようやくオペレーティングシステムが制御できる状況になり、 systemd
が続きを処理するようになります。 systemd
は 「ターゲット」 と呼ばれるセットを提供し、日々の費用やメンテナンス、緊急時用など、それぞれに役割が設定されています。
systemd
デーモンsystemd
はシステムの準備を担っているプロセスで、プロセス ID 1 のプロセスでもあります。 systemd
はカーネルから直接起動され、通常であればプロセスを強制終了させるシグナル 9 を受けても耐えられる仕組みを備えています。 systemd
以外のプログラムは systemd
から直接起動されるか、直接起動されたプロセスの子プロセスとして起動されます。また、 systemd
は System V init デーモンの代替として提供され、 System V init との完全な互換性もあります (init スクリプトを動作させることができます) 。
journalctl
: systemd
ジャーナルへの問い合わせコマンドsystemd
には独自のログ記録機能として、 ジャーナル と呼ばれる機能が用意されています。これにより、 syslog
ベースのサービスを動作させる必要はなくなり、全てのイベントがジャーナルに書き込まれるようになっています。
本章では、 openSUSE® Leap 内で使用されているブートローダである GRUB 2 について、その設定方法を説明しています。 なお、 YaST モジュールを利用すれば、ほとんどの重要な設定を行うことができます。起動処理そのものに関する説明は 第9章 「起動処理の紹介」 を、 UEFI 環境における Secure Boot サポートについては 第14章 「UEFI (Unified Extensible Firmware Interface)」 をそれぞれお読みください。
Linux には、全ての種類のネットワーク構成で利用することのできる、様々なネットワークツールやネットワーク機能が用意されています。ネットワークカードを利用したアクセス設定は YaST で行うことができます。もちろん手作業での設定も可能です。本章では、ごく基本的な構造と、関連するネットワーク設定ファイルについて説明しています。
UEFI (Unified Extensible Firmware Interface) はシステムに付属するファームウエアと、システム内の全てのハードウエアコンポーネント、そしてオペレーティングシステムとの間に存在するインターフェイスを意味する用語です。
本章では、仮想コンソールやキーボードレイアウトなどのソフトウエアパッケージについて説明を行っています。特に bash
, cron
, logrotate
については、直近のリリースサイクルで変更や機能追加が行われていることから、これらを詳しく説明しています。これらのソフトウエアは、いずれもシステムに密接に繋がっていることから、小さな変更やあまり重要ではない変更についても、ユーザ側に影響があるためです。また、本章では言語や国固有の設定 (I18N や L10N と呼ばれるもの) についても説明しています。
udev
による動的なカーネルデバイス管理カーネルは、それが実行中であったとしても、ほぼ全てのデバイスを追加したり削除したりすることができます。また、デバイスの状態の変化 (デバイスの接続や取り外し) についても、その情報をユーザスペース側に配信する必要がありますし、接続時や認識時に設定を行う必要もあります。また、デバイスによっては、ユーザ側にその認識状態を知らせる必要があるものもあります。 udev では、 /dev ディレクトリ内にあるデバイスノードファイルやシンボリックリンクファイルを動的に管理するのに必要な、インフラストラクチャを提供しています。また、 udev のルールでは、カーネルのデバイスイベントを処理する外部プログラム…