目次
libpaper1
パッケージをインストールするとシステム全体のデフォルト用紙サイズを聞いてきます。この設定はファイル
/etc/papersize
に残されます。
Users can override the paper size setting using the
PAPERSIZE
environment variable. For details, see the
manual page
papersize(5).
/dev
ディレクトリにある多数のデバイスファイルは事前に定義されたグループのいくつかに所属しています。例えば
/dev/sr0
は cdrom
グループに属しています。
こういったデバイスの1つに特定のユーザがアクセスできるようにしたい場合は、そのデバイスが属するグループにそのユーザを追加するだけで済みます。つまり:
adduser ユーザ グループ
こうすることでデバイス上のファイルの権限を変更しなくてよくなります。
ユーザシェルや GUI
環境でこれを行った場合はそのグループ権の効果を反映させるには一旦ログアウトして再びログインしなければなりません。自分が属するグループを確認するには
groups
を実行してください。
udev
の導入以降、ハードウェア周辺機器の権限を変更した場合、デバイスによってはシステム起動時に調整されることがあることに注意してください。差し込んだハードウェア周辺機器でこれが起きた場合は
/etc/udev
にある規則を調整する必要があるでしょう。
Debian の X プログラムはアプリケーションのリソースデータを /etc/X11/app-defaults/
ディレクトリにインストールします。X
アプリケーション全体を独自化したい場合、その独自化に関するファイルはここに配置してください。ここに配置したものは設定ファイルとして扱うためアップグレードしてもその内容が維持されます。
Like all Unices, Debian boots up by executing the program
init
. Like most Linux distributions, a default Debian
system uses systemd
as the implementation of
init
. Traditional System-V style init and other methods
are also supported. [6]
To control the order in which services are started, traditional System-V style Unix systems use runlevels. These are replaced by targets under systemd. To display the default target to which systemd will bring the system, run the command
systemctl get-default
During boot-up, systemd starts the services or other targets listed in the
default target file /lib/systemd/system/default.target
.
The files for these services and targets are installed and the service is
enabled during Debian package installation. If you
specifically wish not to start a service during boot-up, instead of removing
the corresponding package, you can run the command
systemctl disable service
.service
using the name of the service file installed in
/lib/systemd/system
(usually based on the name of the
package).
The service file
/lib/systemd/system/rc-local.service
provides an easy way
to run customized scripts in the file /etc/rc.local
after
boot-up, similar to what's offered on Debian systems running System-V style
init. Beware: this script will fail if it tries to interact with the
console such as asking for a user password or trying to clear the screen.
You can check the status of any service by the command
service package
status
. To start or stop a service, run
service package
start
and
service package
stop
. The service
command works with any init system
supported on a Debian system, not just with systemd. If you however prefer
to use the same command on any systemd-supported Linux system, for checking
the status run
systemctl status package
.service
to get the same information.
For more information on systemd for Debian, see https://wiki.debian.org/systemd.
Debian supports booting using traditional System V init, via the
sysvinit-core package. The configuration file for System V
init
(which is /etc/inittab
) specifies
that the first script to be executed should be
/etc/init.d/rcS
. This script runs all of the scripts in
/etc/rcS.d/
by forking subprocesses to perform
initialization such as to check and to mount file systems, to load modules,
to start the network services, to set the clock, and to perform other
initialization.
ブートプロセスの完了後、init
はデフォルトランレベル (このランレベルは
/etc/inittab
の id
エントリで指定されています)
で指定されたディレクトリにある開始スクリプトを全て実行します。ほとんどの System V 互換 Unix と同様、Linux
にはランレベルが7つあります:
0 (システムの停止)、
1 (シングルユーザモード)、
2から5 (様々なマルチユーザモード)、
6 (システムの再起動)。
Debian システムは id=2
で、マルチユーザ状態に入ったときのデフォルトのランレベルが「2」であることを示し、/etc/rc2.d/
にあるスクリプトが実行されます。
Debian は /etc/init.d/
にある各スクリプトの LSB
ヘッダを使い、insserv 経由で依存関係を基にしてブート順を決定し、さらに
startpar を利用し、同時に平行してブートすることでブートプロセスを高速化しています。
ディレクトリ群 /etc/rcN.d/
にあるスクリプトは
/etc/init.d/
にあるスクリプトに向けた単なるシンボリックリンクです。ただし、各
/etc/rcN.d/
ディレクトリにあるファイルの名前は
/etc/init.d/
にあるスクリプトの実行方法を示すようになっています。具体的に言うと、そのランレベルに入る前に「K」で始まるスクリプトがすべて実行されます。このスクリプト群はサービスを終了させます。それから「S」で始まるスクリプトがすべて実行されます。このスクリプト群はサービスを開始させます。「K」や「S」に続く2ケタの数値はスクリプトの実行順を示します。この数値の低いスクリプトから実行されます。
このやり方は /etc/init.d/
にあるスクリプトが全て、「start」、「stop」、「reload」、「restart」、「force-reload」のどれかを引数に取り、その引数で示された作業を実行するため機能します。このスクリプト群はシステム起動後でも、様々なプロセスを制御するのに利用できます。
例えばコマンドに引数「reload」を付けて
/etc/init.d/sendmail reload
sendmail デーモンにシグナルを送り設定ファイルを再読込させます。
/etc/init.d/
スクリプトを呼び出すために invoke-rc.d
を使うべきではないことに注意してください。代わりに service を使うべきです。
If you do like System V init, but don't like the /etc/rc?.d/* links, you
could install the file-rc
package.
That will convert the links into one single configuration file
/etc/runlevel.conf instead.
If you like neither System V nor systemd, you might like openrc
or runit
or daemontools
.
例えば Debian パッケージ群とローカルで生成した設定ファイル群からなるパッケージをインストールすることで新しいサーバを作成したいユーザがいます。これは通常良い方法ではありません。というのは、設定ファイルが異なるパッケージにある場合、dpkg はそのことについて知らず、最初のパッケージ「群」のどれかがアップグレードされたときに競合する設定を書き込むかもしれません。
代わりに、当該 Debian パッケージ「群」の設定ファイルを変更するローカルパッケージを作成します。そうすると dpkg その他のパッケージ管理システムはそのファイルがローカル「システム管理者」により変更されたことを理解し、そのパッケージのアップグレード時に上書きしようとはしません。
システム管理者やローカルユーザが Debian の login
パッケージにより提供されるプログラム「login」に代えてプログラム「login-local」を使いたいと仮定して
/bin/login
を login-local
で上書きする
ということはしないでください。パッケージ管理システムはこの変更について知らず、login
(や任意の /bin/login
を提供するパッケージ) がインストールまたは更新されたときに独自化した
/bin/login
をあっさりと上書きします。
上書きするのではなく
そのシステムで現在どの代替が有効になっているのか確認するには dpkg-divert --list
を実行してください。
Details are given in the manual page dpkg-divert(8).
コマンド
dpkg-scanpackages BIN_DIR OVERRIDE_FILE [PATHPREFIX] > my_Packages
を実行してください。
BIN-DIR は Debian アーカイブファイル (拡張子は通常「.deb」) が置かれるディレクトリです。
OVERRIDE_FILE is a file that is edited by the distribution maintainers and
is usually stored on a Debian archive at
indices/override.main.gz
for the Debian packages in the
"main" distribution. You can ignore this for local packages.
PATHPREFIX はオプションの文字列で、my_Packages
ファイルを生成するときに前に付加されます。
ファイル my_Packages
をビルドできたら、コマンド
dpkg --merge-avail my_Packages
If you are using APT, you can add the local repository to your sources.list(5) file, too.
2つのパッケージが1つのプログラムの異なるバージョンを提供し、どちらも同一の主要機能を提供しているような状況がいくらかあります。ユーザによっては習慣から、あるいはパッケージのユーザインターフェイスが他方のインターフェイスよりもいくらか使いやすいという理由で、どちらか一方を好むかもしれません。同一のシステムの別のユーザは異なる選択をするかもしれません。
Debian は「仮想」パッケージシステムを使って、同一の基本機能を提供するツールが複数ある場合に、システム管理者 (またはユーザ) に好みのものを選択させつつ、特定のパッケージを指定することなくパッケージの依存要求を満たすことができるようにしています。
例えばあるシステム上に2つの異なるバージョンのニュースリーダーが存在するかもしれません。ニュースサーバパッケージはあるニュースリーダーがそのシステムに存在することを「推奨」するかもしれません。しかし、tin
か trn
のどちらを選択するかは個々のユーザに委ねたい。これは仮想パッケージ news-reader
を提供する tin
と trn
パッケージの両方を持っておくことで満たせます。起動するプログラムは、仮想パッケージの
/etc/alternatives/news-reader
というファイルから選択したファイル、例えば
/usr/bin/trn
を指すリンクにより判断します。
単一のリンクでは代替プログラムのあらゆる用途に対応するには不十分です。通常はマニュアルページや、もしかすると他の支援ファイルも選択する必要があるかもしれません。Perl
スクリプト update-alternatives
が、指定されたパッケージに関連するファイルがシステムのデフォルトとして確実に全て選択する方法を提供しています。
例えばどの実行可能ファイルが「x-window-manager」を提供しているのか確認したい場合は
update-alternatives --display x-window-manager
を実行します。変更したい場合は
update-alternatives --config x-window-manager
を実行して表示される指示に従ってください (基本的には良いと思う番号を押せばいいでしょう)。
あるパッケージがなんらかの理由によりそれ自体をウィンドウマネージャとして登録しない (それが誤りであればバグを報告してください)、あるいはウィンドウマネージャを /usr/local ディレクトリから利用する場合、表示される選択肢には希望する項目がないでしょう。コマンドラインオプションから
update-alternatives --install /usr/bin/x-window-manager \ x-window-manager /usr/local/bin/wmaker-cvs 50
のようにしてリンクを更新できます。「--install」オプションへの最初の引数は /etc/alternatives/[名前] を指すシンボリックリンクで、[名前]は2つ目の引数になります。3つ目の引数は /etc/alternatives/[名前] が指すシンボリックリンクで、4つめの引数は優先度 (大きな値を指示するとその代替は自動的に選択される可能性が高くなります) です。
追加した代替を削除する場合は、単純に以下を実行します:
update-alternatives --remove x-window-manager /usr/local/bin/wmaker-cvs
[6] In 2014, Debian changed its default init system from System V init to systemd. Debian 8 "jessie" in April 2015 was the first release to ship with systemd as default init. Four decisions of the Debian Technical Committee were involved: Bug #727708 2014-02-11: "The committee decided that the default init system for Linux architectures in jessie should be systemd." Bug #746715 2014-08-01: "The technical committee expects maintainers to continue to support the multiple available init systems", and merge reasonable contributions. Bug #746578 2014-11-15: "The committee decided that systemd-shim should be the first listed alternative dependency of libpam-systemd instead of systemd-sysv." This decision made it easier to keep running a non-systemd Debian system. Bug #7621942017-11-04: "On automatic init system switching on upgrade"