はじめに
こんにちは!今回はagettyコマンドについて解説します。
agettyはシリアルポートやコンソールでログインプロンプトを表示するコマンドです。システム起動時にログインプロンプトを出したり、シリアル接続でのリモートアクセスに使う、システム管理者向けのコマンドですね。
/etc/inittabやsystemdで自動起動されることが多いです。けっこう重要なコマンド。
agettyコマンドとは
agettyは、シリアルポート、コンソール、ネットワークに対してログインプロンプトを表示する外部コマンドです。
システム起動時にinit(またはsystemd)によって自動的に起動され、ユーザーにログインプロンプトを提供します。接続速度の自動検出、文字エンコーディングの指定、カスタムメッセージの表示など、多くの機能を備えています。
基本構文
|
|
port: デバイスポート(例:ttyS0, tty1)baud_rate: ボーレート(9600, 115200など)terminal_type: ターミナルタイプ(vt100, linux など)
主なオプション
| オプション | 説明 |
|---|---|
-I initstring |
初期化文字列を送信 |
-8 |
8ビット文字セットを使用 |
-L |
CLOCAL フラグを設定(モデム制御なし) |
-m |
ボーレートを自動検出 |
-n |
ログイン名をプリセット |
-p |
パスワード不要 |
-f issue_file |
カスタムメッセージファイル |
-h |
ホスト名をプロンプトに表示 |
使用例
例1: コンソールでのログインプロンプト
|
|
実行結果:
|
|
tty1にログインプロンプトを表示します。
例2: シリアルポートの設定
|
|
実行結果:
|
|
シリアルポートttyS0を115200ボーレートで開きます。
例3: ボーレート自動検出
|
|
実行結果:
|
|
接続速度を自動的に検出します。
例4: カスタムメッセージの表示
|
|
実行結果:
|
|
カスタムメッセージファイルの内容を表示してからログインプロンプトを出します。
例5: ホスト名を表示
|
|
実行結果:
|
|
ホスト名をプロンプトに含めます。
例6: 複数のポートで同時起動
|
|
実行結果:
|
|
複数のポートで同時にログインを受け付けます。
例7: systemdでの自動起動設定
|
|
実行結果:
|
|
systemdでの自動起動設定例です。
例8: 初期化文字列を指定
|
|
実行結果:
|
|
初期化シーケンスを送信してからプロンプトを表示します。
Tips・注意点
root権限が必須
agettyを実行するにはroot権限が必要です。
|
|
デバイスの確認
利用可能なポートを確認します。
|
|
ボーレートの選択
シリアル接続の場合、デバイス側の設定と一致させる必要があります。
|
|
systemdでの設定
最新のシステムではsystemdのunitファイルで管理されます。
|
|
実践的な使い方
リモートシリアルコンソールの設定
|
|
リモートサーバーのシリアルコンソールアクセスを設定します。
仮想マシンのコンソール設定
|
|
仮想マシンのシリアルコンソールアクセスを有効にします。
トラブルシューティング用コンソール
|
|
ブート失敗時の緊急アクセスポイントとして設定します。
まとめ
agettyコマンドのポイント:
- シリアル/コンソールでログインプロンプトを表示
- -L: モデム制御なし(シリアル接続用)
- -m: ボーレート自動検出
- -f: カスタムメッセージファイル
- -I: 初期化文字列
- よく使う組み合わせ:
agetty -L -m ttyS0 115200
システム管理の現場で活躍する重要なコマンド。シリアルアクセスが必要ならagettyです!