設定 - Debian GNU/Linux

提供: MochiuWiki : SUSE, EC, PCB

概要

Debian GNU/Linuxは、1993年にIan Murdock氏によって設立された、最も歴史のあるLinuxディストリビューションの1つである。
名前は、創設者Ian Murdock氏と当時の彼女であったDebra Lynn氏の名前を組み合わせたものである。

Debianは、Debian社会契約とDebianフリーソフトウェアガイドライン (DFSG) に基づき、フリーソフトウェアの理念を重視している。
そのため、デフォルトではフリーソフトウェアのみがインストールされ、プロプライエタリなソフトウェアは別途設定が必要となる。

Debianの主な特徴を以下に示す。

  • 安定性
    厳格なテストプロセスを経てリリースされるため、サーバ用途に適している。
  • パッケージ管理
    APT (Advanced Package Tool) による強力なパッケージ管理システムを提供する。
  • アーキテクチャサポート
    x86、x86-64、ARM、RISC-V、MIPS等、多くのアーキテクチャをサポートする。


Debianには3つのリリースブランチが存在する。

  • stable
    安定版であり、本番環境での使用に推奨される。
  • testing
    次期安定版の候補であり、比較的新しいパッケージが含まれる。
  • unstable (sid)
    最新のパッケージが含まれるが、安定性は保証されない。


各安定版リリースには、トイストーリーのキャラクター名がコードネームとして付けられている。
例えば、Debian 12はBookworm、Debian 11はBullseye、Debian 10はBusterである。


sudoの使用

インストール直後のDebianでは、sudoコマンドは使用できない。
sudoコマンドを使用できるようにする手順を以下に示す。

まず、rootユーザでログインする。

su -


sudoパッケージがインストールされているかどうかを確認する。

dpkg -l | grep sudo


sudoパッケージをインストールする。

apt update
apt install sudo


sudoグループに一般ユーザを追加する。

usermod -aG sudo <ユーザ名>


または、visudoコマンドを使用して、/etc/sudoersファイルに以下の設定を追加する。

visudo


# /etc/sudoersファイル

# User privilege specification
root    ALL=(ALL:ALL) ALL
<ユーザ名> ALL=(ALL:ALL) ALL


設定を有効にするため、再ログインまたは再起動する。


システムの更新

インストールした直後に、システムの更新を実行して、システムが最新の状態を保つようにする。

apt update

パッケージリストを更新する。
このコマンドは、リポジトリから最新のパッケージ情報を取得するが、パッケージ自体はインストールまたは更新しない。

sudo apt update


apt upgrade

インストール済みパッケージを更新する。
このコマンドは、既存のパッケージを削除したり、新しいパッケージをインストールすることはない。

sudo apt upgrade


apt full-upgrade

システム全体を更新する。

このコマンドは、必要に応じて既存のパッケージを削除したり、新しいパッケージをインストールする。
通常のシステム更新では、upgradeではなくfull-upgradeを使用することを推奨する。

sudo apt full-upgrade


apt autoremove

不要になった依存パッケージを削除する。
パッケージをアンインストールした際に、依存関係として自動インストールされたが現在は不要になったパッケージを削除する。

sudo apt autoremove


apt clean

ダウンロードしたパッケージファイルをすべて削除する。
/var/cache/apt/archivesディレクトリ内の全ての.debファイルが削除される。

sudo apt clean


apt autoclean

古いパッケージファイルのみを削除する。
現在のリポジトリで利用できないパッケージファイルのみを削除する。

sudo apt autoclean



リポジトリの設定

Debianのリポジトリは、/etc/apt/sources.listファイル または /etc/apt/sources.list.d/ディレクトリ内のファイルに記述されている。

/etc/apt/sources.listファイルを編集して、リポジトリを追加または変更する。

sudo vi /etc/apt/sources.list


Debianのリポジトリには、以下に示す種類がある。

  • main
    Debianフリーソフトウェアガイドライン (DFSG) に準拠したフリーソフトウェアパッケージ
  • contrib
    DFSGに準拠しているが、非フリーソフトウェアに依存するパッケージ
  • non-free
    DFSGに準拠していないパッケージ
  • non-free-firmware
    非フリーファームウェアパッケージ (Debian 12以降)


基本的なリポジトリ設定の例を以下に示す。

# Debian 12 (Bookworm) の例

deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware

deb http://deb.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware


日本のミラーサーバを使用する場合は、以下に示すように設定する。

deb http://ftp.jp.debian.org/debian bookworm main contrib non-free non-free-firmware
deb-src http://ftp.jp.debian.org/debian bookworm main contrib non-free non-free-firmware

deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

deb http://ftp.jp.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb-src http://ftp.jp.debian.org/debian bookworm-updates main contrib non-free non-free-firmware


リポジトリの設定を変更した後は、パッケージリストを更新する。

sudo apt update



タイムゾーンとロケールの設定

タイムゾーンの設定

タイムゾーンを設定するには、timedatectlコマンドを使用する。

現在のタイムゾーンを確認する。

timedatectl


利用可能なタイムゾーンのリストを表示する。

timedatectl list-timezones


日本のタイムゾーンを検索する。

timedatectl list-timezones | grep Tokyo


タイムゾーンを日本時間に設定する。

sudo timedatectl set-timezone Asia/Tokyo


NTP同期の設定

systemd-timesyncdを使用してNTP同期を有効にする。

sudo timedatectl set-ntp true


NTP同期の状態を確認する。

timedatectl


systemd-timesyncdのステータスを確認する。

systemctl status systemd-timesyncd


NTPサーバを設定するには、/etc/systemd/timesyncd.confファイルを編集する。

sudo vi /etc/systemd/timesyncd.conf


 # /etc/systemd/timesyncd.confファイル
 
 [Time]
 NTP=ntp.nict.jp ntp1.jst.mfeed.ad.jp ntp2.jst.mfeed.ad.jp ntp3.jst.mfeed.ad.jp
 FallbackNTP=ntp.ubuntu.com


設定を反映させるため、systemd-timesyncdを再起動する。

sudo systemctl restart systemd-timesyncd


ロケールの設定

ロケールを設定するには、locale-genコマンドを使用する。

現在のロケールを確認する。

locale


利用可能なロケールを確認する。

locale -a


/etc/locale.genファイルを編集して、使用するロケールのコメントアウトを解除する。

sudo vi /etc/locale.gen


# /etc/locale.genファイル

en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8


ロケールを生成する。

sudo locale-gen


対話的にロケールを設定する場合は、dpkg-reconfigure localesコマンドを使用する。

sudo dpkg-reconfigure locales


システム全体のロケールを設定するには、/etc/default/localeファイルを編集する。

sudo vi /etc/default/locale


 # /etc/default/localeファイル
 
 LANG=ja_JP.UTF-8
 LANGUAGE=ja_JP:ja
 LC_ALL=ja_JP.UTF-8


設定を有効にするため、ログアウトして再ログインする。


ネットワークの設定

/etc/network/interfacesによる設定

/etc/network/interfacesファイルを編集して、静的IPアドレスを設定する。

sudo vi /etc/network/interfaces


 # /etc/network/interfacesファイル
 
 # ループバックインターフェース
 auto lo
 iface lo inet loopback
 
 # 有線接続 (DHCP)
 auto eth0
 iface eth0 inet dhcp
 
 # 有線接続 (静的IP)
 auto eth0
 iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4


設定を反映させるため、ネットワークを再起動する。

sudo systemctl restart networking


または、以下のコマンドを実行する。

sudo ifdown eth0
sudo ifup eth0


NetworkManagerによる設定

NetworkManagerを使用する場合は、以下のパッケージをインストールする。

sudo apt install network-manager


NetworkManagerを有効にして起動する。

sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager


nmcliコマンドを使用してネットワークを設定する。

接続リストを表示する。

nmcli connection show


デバイスリストを表示する。

nmcli device status


静的IPアドレスを設定する。

sudo nmcli connection modify <接続名> ipv4.addresses 192.168.1.100/24
sudo nmcli connection modify <接続名> ipv4.gateway 192.168.1.1
sudo nmcli connection modify <接続名> ipv4.dns "8.8.8.8 8.8.4.4"
sudo nmcli connection modify <接続名> ipv4.method manual


DHCPに戻す場合は、以下のコマンドを実行する。

sudo nmcli connection modify <接続名> ipv4.method auto


接続を再起動する。

sudo nmcli connection down <接続名>
sudo nmcli connection up <接続名>


nmtuiコマンドを使用して対話的に設定する。

sudo nmtui


DNS設定

/etc/resolv.confファイルを編集してDNSサーバを設定する。

sudo vi /etc/resolv.conf


# /etc/resolv.confファイル

nameserver 8.8.8.8
nameserver 8.8.4.4


NetworkManagerを使用している場合は、/etc/resolv.confファイルは自動的に生成されるため、直接編集しないこと。

systemd-resolvedを使用する場合は、以下のコマンドを実行する。

sudo systemctl enable systemd-resolved
sudo systemctl start systemd-resolved


/etc/resolv.confファイルをsystemd-resolvedのリンクに置き換える。

sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf



ユーザの管理

ユーザの追加

adduserコマンドを使用してユーザを追加する。

sudo adduser <ユーザ名>


対話的にユーザ情報を入力する。
パスワード、フルネーム、部屋番号、電話番号などを入力する。

ユーザの削除

deluserコマンドを使用してユーザを削除する。

sudo deluser <ユーザ名>


ホームディレクトリも削除する場合は、--remove-homeオプションを使用する。

sudo deluser --remove-home <ユーザ名>


グループの追加

usermodコマンドを使用してユーザをグループに追加する。

sudo usermod -aG <グループ名> <ユーザ名>


例えば、sudoグループに追加する場合は、以下のコマンドを実行する。

sudo usermod -aG sudo <ユーザ名>


複数のグループに同時に追加する場合は、カンマで区切る。

sudo usermod -aG sudo,adm,cdrom,plugdev <ユーザ名>


パスワードの変更

passwdコマンドを使用してパスワードを変更する。

自分のパスワードを変更する場合。

passwd


他のユーザのパスワードを変更する場合 (root権限が必要)。

sudo passwd <ユーザ名>


ユーザ情報の確認

/etc/passwdファイルを確認してユーザ情報を表示する。

cat /etc/passwd


/etc/groupファイルを確認してグループ情報を表示する。

cat /etc/group


特定のユーザが所属するグループを確認する。

groups <ユーザ名>


現在のユーザのID情報を表示する。

id



ファイアウォールの設定

UFW (Uncomplicated Firewall) を使用してファイアウォールを設定する。

UFWのインストール

UFWをインストールする。

sudo apt install ufw


UFWの有効化

UFWを有効にする。

sudo ufw enable


システム起動時に自動起動するように設定する。

sudo systemctl enable ufw


ルールの設定

基本的なルール設定を以下に示す。

デフォルトポリシーを設定する。

sudo ufw default deny incoming
sudo ufw default allow outgoing


特定のポートを許可する。

sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443


特定のサービスを許可する。

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https


特定のIPアドレスからの接続を許可する。

sudo ufw allow from 192.168.1.100


特定のIPアドレスからの特定のポートへの接続を許可する。

sudo ufw allow from 192.168.1.100 to any port 22


ルールを削除する。

sudo ufw delete allow 80


番号を指定してルールを削除する。

sudo ufw status numbered
sudo ufw delete <番号>


ステータスの確認

UFWのステータスを確認する。

sudo ufw status


詳細なステータスを確認する。

sudo ufw status verbose


番号付きでルールを表示する。

sudo ufw status numbered


アプリケーションプロファイル

利用可能なアプリケーションプロファイルを表示する。

sudo ufw app list


アプリケーションプロファイルの詳細を確認する。

sudo ufw app info <アプリケーション名>


アプリケーションプロファイルを許可する。

sudo ufw allow <アプリケーション名>



自動セキュリティアップデート

unattended-upgradesパッケージを使用して、セキュリティアップデートを自動化する。

インストール

unattended-upgradesパッケージをインストールする。

sudo apt install unattended-upgrades


設定

対話的に設定する場合は、以下のコマンドを実行する。

sudo dpkg-reconfigure unattended-upgrades


自動アップデートを有効にするか尋ねられるため、Yesを選択する。

詳細設定

/etc/apt/apt.conf.d/50unattended-upgradesファイルを編集して、詳細な設定を行う。

sudo vi /etc/apt/apt.conf.d/50unattended-upgrades


 # /etc/apt/apt.conf.d/50unattended-upgradesファイル
 
 Unattended-Upgrade::Allowed-Origins {
     "${distro_id}:${distro_codename}";
     "${distro_id}:${distro_codename}-security";
     "${distro_id}ESMApps:${distro_codename}-apps-security";
     "${distro_id}ESM:${distro_codename}-infra-security";
     "${distro_id}:${distro_codename}-updates";
 };
 
 Unattended-Upgrade::AutoFixInterruptedDpkg "true";
 Unattended-Upgrade::MinimalSteps "true";
 Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
 Unattended-Upgrade::Remove-Unused-Dependencies "true";
 Unattended-Upgrade::Automatic-Reboot "false";
 Unattended-Upgrade::Automatic-Reboot-Time "02:00";


/etc/apt/apt.conf.d/20auto-upgradesファイルを編集して、更新頻度を設定する。

sudo vi /etc/apt/apt.conf.d/20auto-upgrades


 # /etc/apt/apt.conf.d/20auto-upgradesファイル
 
 APT::Periodic::Update-Package-Lists "1";
 APT::Periodic::Download-Upgradeable-Packages "1";
 APT::Periodic::AutocleanInterval "7";
 APT::Periodic::Unattended-Upgrade "1";


設定を確認するため、ドライランを実行する。

sudo unattended-upgrades --dry-run --debug



サービスの管理

サービスの起動と停止

サービスを起動する。

sudo systemctl start <サービス名>


サービスを停止する。

sudo systemctl stop <サービス名>


サービスを再起動する。

sudo systemctl restart <サービス名>


設定を再読み込みする (サービスを停止せずに設定を反映)。

sudo systemctl reload <サービス名>


自動起動の設定

サービスを自動起動に設定する。

sudo systemctl enable <サービス名>


サービスの自動起動を無効にする。

sudo systemctl disable <サービス名>


サービスを有効にして即座に起動する。

sudo systemctl enable --now <サービス名>


サービスを無効にして即座に停止する。

sudo systemctl disable --now <サービス名>


サービスの状態確認

サービスのステータスを確認する。

sudo systemctl status <サービス名>


サービスが有効かどうかを確認する。

systemctl is-enabled <サービス名>


サービスが起動中かどうかを確認する。

systemctl is-active <サービス名>


すべてのサービスをリスト表示する。

systemctl list-units --type=service


有効なサービスのみをリスト表示する。

systemctl list-unit-files --type=service --state=enabled


ログの確認

journalctlコマンドを使用してサービスのログを確認する。

特定のサービスのログを表示する。

sudo journalctl -u <サービス名>


最新のログをリアルタイムで表示する。

sudo journalctl -u <サービス名> -f


最新の100行を表示する。

sudo journalctl -u <サービス名> -n 100


今日のログを表示する。

sudo journalctl -u <サービス名> --since today


特定の期間のログを表示する。

sudo journalctl -u <サービス名> --since "2024-01-01" --until "2024-01-31"



.profileファイルの設定

.profileファイルは、ログイン時に実行されるシェルスクリプトである。

.bashrcファイルは、対話型シェルの起動時に実行される。
.bash_profileファイルは、ログインシェルの起動時に実行される。

ファイルの違い

各ファイルの違いを以下に示す。

  • ~/.profile
    ログインシェルの起動時に読み込まれる
    POSIXシェル互換のため、Bashだけでなく他のシェルでも使用可能
    通常、環境変数の設定に使用される

  • ~/.bashrc
    対話型シェルの起動時に読み込まれる
    Bash専用の設定ファイル
    エイリアス、シェル関数、プロンプトのカスタマイズに使用される

  • ~/.bash_profile
    ログインシェルの起動時に読み込まれる
    Bash専用の設定ファイル
    Debianでは通常使用されない (~/.profileが使用される)


環境変数の設定

~/.profileファイルを編集して、環境変数を設定する。

vi ~/.profile


 # ~/.profileファイル
 
 # カスタムパスの追加
 export PATH="$HOME/bin:$HOME/.local/bin:$PATH"
 
 # エディタの設定
 export EDITOR=vim
 export VISUAL=vim
 
 # 言語設定
 export LANG=ja_JP.UTF-8
 export LC_ALL=ja_JP.UTF-8
 
 # Java環境
 export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
 export PATH="$JAVA_HOME/bin:$PATH"


設定を反映させるには、以下のコマンドを実行する。

source ~/.profile


または、ログアウトして再ログインする。


/etc/profile.d/の設定

/etc/profile.d/ディレクトリは、システム全体の環境変数を設定するために使用される。
このディレクトリ内の.shファイルは、ログイン時に自動的に読み込まれる。

スクリプトの作成

/etc/profile.d/ディレクトリにスクリプトを作成する。

sudo vi /etc/profile.d/custom.sh


 # /etc/profile.d/custom.shファイル
 
 export PATH="/opt/custom/bin:$PATH"
 export CUSTOM_VAR="value"


実行権限を付与する。

sudo chmod +x /etc/profile.d/custom.sh


設定を反映させるには、再ログインまたは再起動する。

注意事項

/etc/profile.d/内のスクリプトは、以下に示す事柄に注意する。

  • POSIXシェル互換の構文を使用すること
  • ファイル名は.shで終わること
  • 実行権限が必要
  • 全てのユーザに影響する



パスワードフィードバックの設定

sudoコマンドでパスワード入力時に、アスタリスクを表示するように設定する。

まず、/etc/sudoersファイルのバックアップを作成する。

sudo cp /etc/sudoers /etc/sudoers.backup


visudoコマンドを使用して、/etc/sudoersファイルを編集する。

sudo visudo


/etc/sudoersファイルに以下の設定を追加する。

# /etc/sudoersファイル

Defaults env_reset
Defaults pwfeedback


または、既存のDefaults行を以下のように変更する。

# 変更前
Defaults env_reset

# 変更後
Defaults env_reset,pwfeedback



キーボード

キーボードレイアウトを設定するには、dpkg-reconfigure keyboard-configurationコマンドを使用する。

キーボードレイアウトの設定

対話的にキーボードレイアウトを設定する。

sudo dpkg-reconfigure keyboard-configuration


以下の項目を順に設定する。

  1. キーボードモデルの選択 (例: Generic 105-key PC)
  2. キーボードのレイアウト (例: Japanese)
  3. AltGrキーの機能
  4. Composeキーの設定


設定ファイルの編集

/etc/default/keyboardファイルを直接編集することもできる。

sudo vi /etc/default/keyboard


 # /etc/default/keyboardファイル
 
 # 日本語キーボードの例
 XKBMODEL="pc105"
 XKBLAYOUT="jp"
 XKBVARIANT=""
 XKBOPTIONS=""
 
 BACKSPACE="guess"


# US配列キーボードの例
XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS=""

BACKSPACE="guess"


設定を反映させるため、キーボードデーモンを再起動する。

sudo systemctl restart keyboard-setup


コンソールのキーボードレイアウト

コンソール (tty) のキーボードレイアウトを一時的に変更する。

sudo loadkeys jp106


US配列に変更する場合。

sudo loadkeys us



その他の設定

自動ログイン

GDM (GNOME Display Manager) を使用している場合の自動ログイン設定。

/etc/gdm3/daemon.confファイルを編集する。

sudo vi /etc/gdm3/daemon.conf


 # /etc/gdm3/daemon.confファイル
 
 [daemon]
 AutomaticLoginEnable = true
 AutomaticLogin = <ユーザ名>


LightDMを使用している場合。

sudo vi /etc/lightdm/lightdm.conf


 # /etc/lightdm/lightdm.confファイル
 
 [Seat:*]
 autologin-user=<ユーザ名>
 autologin-user-timeout=0


設定を有効にするため、PCを再起動する。

日本語環境のインストール

日本語環境をインストールするには、以下のパッケージをインストールする。

sudo apt install task-japanese


または、個別にパッケージをインストールする。

sudo apt install task-japanese-desktop
sudo apt install fonts-noto-cjk fonts-noto-cjk-extra
sudo apt install ibus-mozc


日本語入力の詳細設定については、別ページを参照すること。

ロケールの変更

ロケールを変更するには、タイムゾーンとロケールの設定セクションを参照すること。

ホームディレクトリのディレクトリ名を英語に変更する

ホームディレクトリ内のディレクトリ名を英語に変更する。

LANG=C xdg-user-dirs-update --force


変更されたディレクトリ名を確認する。

ls ~


以下に示すディレクトリ名が英語に変更される。

  • デスクトップ → Desktop
  • ダウンロード → Downloads
  • テンプレート → Templates
  • 公開 → Public
  • ドキュメント → Documents
  • ミュージック → Music
  • ピクチャ → Pictures
  • ビデオ → Videos



セキュリティ

AppArmorの状態確認

Debianでは、AppArmorがデフォルトで有効になっている。

AppArmorのステータスを確認する。

sudo aa-status


AppArmorが実行中かどうかを確認する。

sudo systemctl status apparmor


プロファイルの管理

AppArmorのプロファイルは、/etc/apparmor.d/ディレクトリに配置されている。

プロファイルをenforceモード (強制モード) に設定する。

sudo aa-enforce /etc/apparmor.d/<プロファイル名>


プロファイルをcomplainモード (学習モード) に設定する。

sudo aa-complain /etc/apparmor.d/<プロファイル名>


プロファイルを無効にする。

sudo ln -s /etc/apparmor.d/<プロファイル名> /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/<プロファイル名>


プロファイルを再度有効にする。

sudo rm /etc/apparmor.d/disable/<プロファイル名>
sudo apparmor_parser -r /etc/apparmor.d/<プロファイル名>


AppArmorを再起動する。

sudo systemctl restart apparmor



aptコマンドでアップデートできない場合の対処

中断されたdpkgの修復

パッケージのインストールが中断された場合、以下に示すコマンドを実行する。

sudo dpkg --configure -a


パッケージキャッシュのクリア

パッケージキャッシュをクリアする。

sudo apt clean


パッケージリストをクリアする。

sudo rm -rf /var/lib/apt/lists/*
sudo mkdir -p /var/lib/apt/lists/partial


パッケージリストを再取得する。

sudo apt update


壊れた依存関係の修復

壊れた依存関係を修復する。

sudo apt --fix-broken install


または、以下のコマンドを実行する。

sudo apt install -f


ロックファイルの削除

aptコマンドがロックされている場合、ロックファイルを削除する。

まず、apt関連のプロセスが実行されていないことを確認する。

ps aux | grep -i apt


実行中のプロセスがない場合、ロックファイルを削除する。

sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/dpkg/lock-frontend


その後、以下に示すコマンドを実行する。

sudo dpkg --configure -a
sudo apt update



シャットダウンおよび再起動の待ち時間の変更

シャットダウンおよび再起動時の待ち時間を変更するには、/etc/systemd/system.confファイルを編集する。

/etc/systemd/system.confファイルを編集する。

sudo vi /etc/systemd/system.conf


 # /etc/systemd/system.confファイル
 
 [Manager]
 DefaultTimeoutStartSec=15s
 DefaultTimeoutStopSec=15s


または、ドロップインファイルを作成する。

sudo mkdir -p /etc/systemd/system.conf.d/
sudo vi /etc/systemd/system.conf.d/timeout.conf


 # /etc/systemd/system.conf.d/timeout.confファイル
 
 [Manager]
 DefaultTimeoutStartSec=15s
 DefaultTimeoutStopSec=15s


設定を再読み込みする。

sudo systemctl daemon-reload


設定を確認する。

systemctl show | grep DefaultTimeout


# 出力例
DefaultTimeoutStartUSec=15s
DefaultTimeoutStopUSec=15s



その他のエラー対処法

ロックエラー

以下のようなエラーが発生した場合。

E: Could not get lock /var/lib/dpkg/lock-frontend
E: Unable to acquire the dpkg frontend lock


他のapt関連プロセスが実行中でないか確認する。

ps aux | grep -i apt
ps aux | grep -i dpkg


実行中のプロセスを終了させてから、ロックファイルを削除する。

sudo killall apt apt-get
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a
sudo apt update


依存関係エラー

依存関係のエラーが発生した場合。

sudo apt --fix-broken install
sudo apt autoremove
sudo apt clean
sudo apt update
sudo apt upgrade


それでも解決しない場合、aptitudeを使用する。

sudo apt install aptitude
sudo aptitude install <パッケージ名>


aptitudeは、aptよりも高度な依存関係の解決を行う。

GPGエラー

GPGキーのエラーが発生した場合。

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <キーID>


または、以下のコマンドを実行する。

sudo apt update --allow-unauthenticated


パッケージの完全削除

パッケージを完全に削除する (設定ファイルも含めて)。

sudo apt purge <パッケージ名>
sudo apt autoremove


残った設定ファイルを確認する。

dpkg -l | grep ^rc


残った設定ファイルを削除する。

sudo dpkg --purge $(dpkg -l | grep ^rc | awk '{print $2}')