2024年8月18日日曜日

D-STAR リピータ ゲートウェイ用 AlmaLinux のインストール

Back



 長年、D-STAR リピータ・ゲートウェイ用 OS として、愛用されて来た CentOS のサポート期間が終了を迎え、昨年辺りから次期 OS として AlmaLinux への以降が検討され始めました。 2024年に入ってテストサイトも増え、CentOS でのバージョンアップが出来なかった様な PC でもすんなりインストール出来るとの現実も踏まえ、各管理団体へも移行マニュアルを添え通知されました。
 そこで新たに手順を書き直しました。

 Gateway APP のインストール

(最終更新 2024.08.23)

AlmaLinux のISO イメージを準備

=MEMO= 2024年8月現在 最新バージョンはAlmaLinux OS 9.4 です。
  1. 上図をクリックしてリンク先から必要なイメージをダウンロードします。

  2.  ダウンロード  をクリックするとイメージリンクのページに移りますので、 完全なイメージが欲しい方は AlmaLinux OS 9.x DVD ISO を選んでください。 ただし、10GBほど有りますのでブルーレイディスク又は USBが必要で約2時間近く掛かります。

    手っ取り早く済ませたい方は、AlmaLinux OS 9.x Boot ISO を選択すると、インストール初期の設定が済むとその後の必要ファイルはインターネット経由で取得します。

    今回の手順は後者のブートイメージを、一覧の下に有る[ミラーサイトからISOをダウンロード]から取得してみました。(ダウンロードが速い場合が有るので)

    この時(右図)表示されているページの URL をメモ帳などでメモって置いてください。 インストール時、必要になります。
  3. USB にブートイメージを焼くにはツールが必要です。

  4. 私の愛用は Rufus です。 USBドライブを指定して、ISO イメージをアプリの上にドラッグ&ドロップするだけです。

AlmaLinux のインストール
  1. USB を初期起ち上げドライブに指定して起動します。

  2. 現在まで使用していたPCを再利用する場合、USB をスキップしてハードディスクから旧OSが立ち上がってしまう場合があります。その時は BIOS 初期立ち上げメディアの指定を変更するか、メーカーによって違いますが[F9]等のファンクションキーを押してUSBドライブを指定するなど変更してください。
    GRUB version 2.06
    ┌──────────────────────────────────────┐ │*Install AlmaLinux 9.x │ │ Test this media & install AlmaLinux 9.x │ │ Troubleshooting --> │

    通常は、[Test this media & install AlmaLinux 9.x]を選択しメディアチェックをした上でインストールを開始します。 すでに、メディアに問題がないと自信がある場合は、その上の[*Install AlmaLinux 9.x]を選んで[Enter]してください。

  3. 言語を指定して、[続行 (C)] をクリックします。

  4. インストールの設定をします。


    • 先ず[地域設定]は、先の画面で「日本」「日本語」を選択していればそれが反映されています。
    • [ユーザの設定]については、常に管理上 root でしか使用しないと言う場合は[rootパスワード(R)]で次のように設定します。

    root パスワード
    完了(D)
    システムの管理にはrootアカウントを使用します。rootユーザーのパスワードを入力してください。
    rootパスワード(R): ●●●●●●●●                
     ━━━━━━ ━━━━━━ ━━━━━━ ━━━━━━ --> グリーンになるまでした方が良い
    確認(C):      ●●●●●●●●                
    □ rootアカウントをロック
    ☑ パスワードによるroot SSH ログインを許可 -------> リモートでメンテナンスをするためには必ずチェック

      安全のためには、rootを無効にしたまま[ユーザーの作成(U)]をします。(推奨)

    • [ソフトウェア] では [インストールソース(I)] の設定が必須になります。
    インストールソース
    完了(D)
    使用するインストールソースを選択してください。
    自動検出したインストールメディア(A):
    デバイス: sda1
    ラベル: LABEL=ALMALINUX-9
    検証する(V)

    ネットワーク上(O):
    最寄のミラー▼
    ftp.riken.jp/Linux/almalinux/9.4/isos/x86_64
    プロキシーの設定(P)...

      ここまでに必要であったファイルが入っているUSBは選択せずネットワークのURLに、ダウンロードの際メモ帳などにメモって置いたURLを貼り付けます。
      画面上の例では「理研」(だと思います)のサーバーを設定しました。(実際これでインストール出来ています。)

      勿論、10GBをフルに保存してあるUSBを使用しているときは[自動検出したインストールメディア]を選択します。

      次はの設定はどんなサーバーにするのか、[ソフトウェアの選択]です。
      候補はたくさんリストアップされていますが、ゲートウェイの最小条件としては次のような組合せで良いと思います。

      ベース環境
      サーバー(GUI 使用)
      又はサーバー
      ルータ等のGUIメンテナンスが不要なら
      「サーバー」
      その他のソフトウェア
      Linux 向けリモート管理
      SSHによるリモートメンテナンスのため


    • [システム] では [インストール先(D)] を指定します。

    インストール先
    完了(D)
    デバイスの選択
    インストールするデバイスを選択してください。 なお、めいんめにゅーの「インストールの開始」ボタンをクリックしない限り、インストール処理は開始されません。

    ローカル標準ディスク
    476.94 GiB
    [ディスク画像]
    SK hynix XXX YYYYY999
    nvne0n1 / 2.3 MiB の空き
    29.81 GiB
    [USB画像]
    SanDisk Cruzer Fit
    sda / 1 MiB の空き

    特殊なディスクおよびネットワークディスク
    [画像]
    ディスクの追加(A)...


    ストレージの設定
    自動構成(U)     ○カスタム(C)
    □利用可能な領域を追加する(M)。
    暗号化
    □データを暗号化する(E)。

      ここで問題になるのは、ハードディスクやSSDの中にボリュームが存在しないときは上記2ヶ所を選択するだけで良いのですが、 今まで使用していた Windowsマシンまたは既存のゲートウェイPC の場合ボリュームやパーディションが存在します。(図の場合 2.3 MiB の空き)

      この場合は、[完了]をクリックすると、注意が表示されそのダイアログの中で「すべてのパーティションを削除」出来ます。 その上で「自動構成」を選択すればお任せ作業となります。

    • 最後に[ネットワークとホスト名(N)]のところで接続済みになっていることを確認してください。 通常DHCPが設定されているネットワークに接続していれば自動的に接続されます。指定のIPアドレスには後ほど設定します。


  5. いよいよメインメニューの右下に有る[インストールの開始]をクリックします。

  6. プログレス・バーが進んで行き、画面右下に下記の表示されたらインストールは完了です。

    AlmaLinux が正しくインストールされ、利用準備が整いました! 利用開始するにはシステムを再起動してください!


    システムの再起動(R)

ゲートウェイサーバとしての準備
    ログインプロンプトが表示されたら、パスワードを入力して無事 AlmaLinux が立ち上がりました。 例ではインストールの途中で root ではないユーザ(フルネーム:Gateway User / ID:gatewayuser)を作った前提で表示および説明をしていきます。 (必要に応じてrootになれます。又、rootしか作らなかった場合もコマンドで sudo を付けないで実行すれば同じです。)

  1. 準備作業の最初に折角 GUIモードなので、電源に関する設定をしておきます











  2. リモートした時に、
    スリープやサスペンド
    しないように設定します。
    画面上の[アクティビティ]で切り変わるメニューアイコン[9つの点のアイコン]から[ギヤアイコンの設定]、さらに[電源]と辿ります。

  3. GUIの場合、ネットワーク設定も至極簡単ですので、ここでやってしまいます。

  4. 上の設定は、この例ではUSB LAN インターフェースで繋いだネットワーク(コントローラ側)です。これは、どのリピータも同じ設定です。
    IPv4 のみ設定して、IPv6 は無効にします。また、画像では下方に隠れていますがルートは[自動]を OFF にしています。

    左の設定は、標準装備のRJ45 有線LAN(ルータ側)の設定です。
    こちらも IPv6 は明示的に無効にします。

    この作業をコマンドで行う方法は後述します。
    このまま、GUI でログインして、端末(Terminal)アプリで作業することも可能ですが、GUI はマシンによっては負担になることも有りますので最終的には、SSH でログインしてルータのブラウザーによるメンテナンスのような GUI を使う場合は、必要に応じて GUIモードを起ち上げる様に設定したいと思います。

    今後の作業はすべてターミナルモードで行えますので、ログインプロンプトが出ている状態(一旦ログアウト)で [Ctrl] + [Alt] + [F2 又は F3] を押すとキャラクターベースのモードに切り替わります。 [Ctrl] + [Alt] + [F1] で元のグラフィカルモードに復帰します。

    また、この状態ですでに SSH は使用可能です。但し、ウェルノウンポートの 22 ですので後ほど変更します。

  5. そのままログイン又は SSH でアクセスして gatewayuser を sudoers の設定に加え sudo 実行時毎回パスワードを必要としないようにします。

  6. $ sudo su			# Super User(つまりroot同様)になってみましょう
    
    あなたはシステム管理者から通常の講習を受けたはずです。
    これは通常、以下の3点に要約されます:
    
        #1) 他人のプライバシーを尊重すること。
        #2) タイプする前に考えること。
        #3) 大いなる力には大いなる責任が伴うこと。
    
    [sudo] gatewayuser のパスワード:********
    
    # _	
    
    これでrootと同じです。(ただし現フォルダは/home/gatewayuser のままなので注意)
    
    # nano /etc/sudoers		# viになれている方は visudo でOK
    gatewayuser     ALL=(ALL) NOPASSWD: ALL
      

  7. SSH のポートを変更します。

  8. # nano /etc/ssh/sshd.conf
      GNU nano 5.6.1                /etc/ssh/sshd_config
    # If you want to change the port on a SELinux system, you have to tell
    # SELinux about this change.
    # semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
    #
    Port 22222				# 初期値22から変更する
    #AddressFamily any
    #ListenAddress 0.0.0.0
    #ListenAddress ::
      

  9. 本来は危険を増す行為なのでちゃんと穴開けすべきですが、SELINUXとfirewallを解除します。

  10. # systemctl disable firewalld.service
    # nano /etc/selinux/config
      GNU nano 5.6.1                 /etc/selinux/config
    #SELINUX=enforcing      		# コメントアウトして
    SELINUX=disabled			# Disabled に設定
    # SELINUXTYPE= can take one of these three values:
    #     targeted - Targeted processes are protected,
    #     minimum - Modification of targeted policy. Only selected processes are protected.
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted
      

  11. ここで一旦 reboot します。

  12. 新しい SSH ポートでの SSHリモートが可能になります。
    SSHリモート又は直接、ユーザモードgatewayuser) でログインします。

  13. 先ほどのネットワーク設定をコマンドで行ってみます。(設定済みなら不要)

  14. # nmcli device				# LAN インターフェースのデバイス名確認
    
    
    # nmcli con add ifname enp0s20f0u11 type ethernet

    確認したデバイスを connectionに加えると ethernet-enp0s20f0u11 というコネクション名になります。長すぎて今後扱いにくいので次のようにします。

    # nmcli con modify ethernet-enp0s20f0u11 connection.id eno2

    標準装備の RJ45 LAN が eno1 だったので合わせました。


    =MEMO= 折角名前を変えましたが、これは下記のコマンド設定でのミスを減らすためであって、このコネクション名は D-STAR の設定には使えません。 設定のインターフェース指定に使えるのはあくまで デバイス名 ですので上の例では enp0s20f0u11 を設定します。 ただ、今回の例では eno1 はデバイス名・コネクション名共に eno1 ですので、D-STAR の指定も eno1 です。

    # nmcli con modify eno2 ipv4.addresses 172.16.0.20/24 ipv4.gateway 172.16.0.1
    # nmcli con modify eno2 ipv4.method manual
    # nmcli con modify eno2 ipv6.method disable

    もし、接続を解除して最初からやり直す場合は

    # nmcli con del eno2

    eno1 を固定アドレスに変更する必要が有りますが、同様に行います。

    # nmcli con modify eno2 ipv4.addresses 10.0.10.22/24 ipv4.gateway 10.0.10.50 ipv4.dns 10.0.10.50
    # nmcli connection modify eno1 ipv4.method manual
    # nmcli con modify eno2 ipv6.method disable

    余談ですが、1行目は connection、2行目は con と書いています。どちらも同じ意味で con は短縮形です。因みに c でも使えます。 また、同様に devdevice と同義です。

  15. 次にグラフィカルモードでの VNC リモート が出来る様にします。

  16. $ sudo dnf -y install tigervnc-server
    $ vncpasswd
    Password: ********
    Verify: ********
    Would you like to enter a view-only password (y/n)? n
    A view-only password is not used	# 見るだけのパスワードではないと言う意味
    
    $ nano ~/.vnc/config			# 新規作成
    
      GNU nano 5.6.1            	/home/gatewayuser/.vnc/config
    session=gnome
    securitytypes=vncauth,tlsvnc
    geometry=1024x768			# 800x600 1280x960 1600x1200....
    
    $ sudo nano /etc/tigervnc/vncserver.users
      GNU nano 5.6.1             /etc/tigervnc/vncserver.users
    # TigerVNC User assignment
    #
    # This file assigns users to specific VNC display numbers.
    # The syntax is =. E.g.:
    #
    # :2=andrew
    # :3=lisa
    
    :1=gatewayuser			# View windowが :1 つまり ポート:5901(5900+1)
    :2=root				# 同様に 5902 となる
    

    今回は、root には VNC は設定していませんが、root だけにしたい場合は root でログインして同様の .vnc/config ファイルを root のホームに作成してください。
    ここまで準備できたら、VNC を自動起動にして確認してみます。

    $ sudo systemctl enable --now vncserver@:1 vncserver@:2
    $ sudo reboot

    rootもgatewayuserも受け付けられるようなコマンドですが、vncserver@:1 (gatewayuser)、vncserver@:2 (root) どちらか一つの指定も出来ます。

    サーバがリブートしたら、そのままにして同じネットワーク内に有る別のPCから、ReaVNC ViewerUltraVNC Viewer などにゲートウェイサーバーの [IP Address:1 ] [gatewayuser] と設定して接続してみてください。
以上で D-STAR リピータ用 ゲートウェイサーバ向け OS AlmaLinux のインストールとゲートウェイ・アプリケーション導入に関する準備は完了です。

蛇足 通常はSSHで、必要に応じてVNCを使う
  1. 現状VNCもSSHも使える状態で完成しています。VNCだけ無効にします。
  2. そのためには、SSHでログインするか、GUIのログインプロンプトで [Ctrl] + [Alt] + [F2 or F3] してコンソールにログインします。

    $ sudo systemctl disable vncserver@:1 vncserver@:2
    $ sudo systemctl disable gdm
    $ sudo reboot

    今度はもうGUIのログインプロンプトは表示されません。いきなりコンソールのログイン画面となります。

  3. 次にスクリプトを2つ作成します。

  4. $ nano vs
      GNU nano 5.6.1                 vs
    sudo systemctl restart gdm
    sudo systemctl restart vncserver@:1
    echo 'VNCが使用可能です。'
    echo


    $ nano vk
      GNU nano 5.6.1                 vk
    sudo systemctl stop vncserver@:1
    sudo systemctl stop gdm
    echo 'VNCを終了しコンソールモードになりました。'
    echo

    先ほど自動起ち上げは無効にしましたので、必要な時サッと起ち上げるコマンドとして vs (Vnc Start) と vk (Vnc Kill) としました。

  5. これらを起ち上げ可能コマンドに設定し、コマンドフォルダに移動します。

  6. $ sudo chmod +x vs vk
    $ sudo mv v* /usr/local/bin

    これで、不要なときはGUIも立ち上がらず、CPUに負荷も掛からず節電にもなります。何よりも危険が減ります。



Back


73
Yosh Todo/J E 3 H C Z

ご意見等は当ブログトップメニューページの「FORUM」リンクからお願いします。

0 件のコメント:

コメントを投稿