MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
設定 - Agamaのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
設定 - Agama
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == Agamaは、YaSTチームにより開発された最新のLinuxインストーラであり、数十年使用されてきた従来のYaSTツールの後継として位置づけられている。<br> <br> サービスベースのアーキテクチャを採用し、対話的なインストールと無人インストール (自動インストール) の両方に対応する。<br> Web UIとコマンドラインインターフェース (CLI)、HTTP APIを提供しており、ユーザはWebブラウザ、CLIツール、JSONプロファイルを通じてインストールプロセスを制御できる。<br> <br> SLE 16とopenSUSE Leap 16では、YaSTはメンテナンスモードに移行され、Agamaが標準インストーラとして採用された。<br> <br><br> == YaSTからの移行背景 == YaSTは長年にわたり使用されてきたが、複雑なアーキテクチャと技術的負債を抱えていた。<br> <br> YaSTが抱えていた主な課題は以下の通りである。<br> * 最新のリッチなUIの構築の難しさ * SaltやAnsible等のツールとロジックの共有の困難性 * libyuiのような特殊なソリューションへの依存による貢献の障壁 <br> Agamaの設計思想は「再利用性、サードパーティツールとの統合、それを基盤とした高度なUIの構築可能性を提供する」ことである。<br> <br> YaSTの役割は廃止と共に3つのツールに分割された。<br> * Agama *: インストーラ (YaSTインストーラの後継) * Cockpit *: Webベースのシステム管理 (ファイアウォール、ネットワーク、プリンタ等) * Myrlyn *: パッケージ管理GUI (YaSTソフトウェアモジュールの後継) <br><br> == 技術仕様 == ==== アーキテクチャ ==== Agamaはサービス指向アーキテクチャを採用しており、各機能領域が独立したサービスとして実装されている。<br> <br> 設計の基本原則は以下の通りである。<br> * サービス指向 *: 各機能領域が独立したサービスとして動作し、D-Busを通じて通信する。 * API中心 *: 全ての機能がHTTP APIを通じて公開される。 * UI分離 *: UIとバックエンドが完全に分離されており、フロントエンドの差し替えが容易である。 <br> バックエンドで使用されている主な技術は以下の通りである。<br> * ソフトウェア管理 *: <u>libzypp</u> * 製品登録 *: <u>SUSE::Connect</u> * ストレージ *: YaSTストレージスタック * ネットワーク *: YaSTネットワーク設定スタック * D-Bus *: 各機能領域が独立したサービスとしてD-Bus通信を行う * HTTP API *: 統一されたHTTP APIで全機能を公開 <br> ==== 技術スタック ==== Agamaを構成するプログラミング言語の比率は以下の通りである。<br> <br> <center> {| class="wikitable" |+ 技術スタック一覧 ! 言語 !! 比率 !! 用途 |- | TypeScript || 32.2% || フロントエンドUI |- | Ruby || 26.1% || YaST統合とサービス実装 |- | Rust || 24.3% || Webサーバー、CLI、D-Bus調整 |- | JavaScript || 13.7% || UI補助 |- | Shell || 2.0% || ユーティリティスクリプト |- | C++ || 0.8% || システム統合 |} </center> <br><br> == 対応ディストリビューション == Agamaが対応するディストリビューションとアーキテクチャは以下の通りである。<br> <br> ==== 対応ディストリビューション ==== * openSUSE Leap 16.0 (SLE 16ベース) * openSUSE Tumbleweed * openSUSE Micro OS * openSUSE Slowroll (実験的) * SUSE Linux Enterprise Server (SLES) 16.0以降 * SUSE Linux Enterprise Desktop (SLED) 16.0以降 * SUSE Linux Enterprise for SAP applications 16.0以降 <br> ==== 対応アーキテクチャ ==== * x86-64 (v2以降) * IBM Z (s390x) * POWER (ppc64le) <br> Agama 18からi586 (32ビット) のサポートは廃止されている。<br> <br><br> == 主な機能 == ==== インタラクティブインストール (Web UI) ==== Agamaは起動後にWebブラウザからアクセスしてインストールを進めることができる。<br> <br> アクセス方法は以下の通りである。<br> * ローカルアクセス *: https://localhost * リモートアクセス (mDNS) *: https://agama.local * リモートアクセス (IPアドレス) *: https://$IP <br> 通信はSSL/TLSで暗号化されており、左側のナビゲーションサイドバーから各設定領域にアクセスできる。<br> Agama 19では、概要ページとナビゲーション体験が改善された。<br> <br> ==== ストレージ設定 ==== ストレージの設定は"簡易設定"と"詳細設定"の2種類から選択できる。<br> <br> * 簡易設定 *: ルートファイルシステムとスワップのみを指定して、詳細は自動的に決定される。 * 詳細設定 *: YaSTのExpert Partitionerと同等の細かい設定が可能である。 <br> 対応デバイスタイプは以下の通りである。<br> * 通常ディスク * リムーバブルディスク * SDカード * DASD * zFCP * iSCSI * マルチパス <br> <code>sort</code> キーワードを使用することで、条件に基づくデバイス選択が可能である。<br> Agama 19では、既存LVMボリュームグループへのインストールとJSON設定のダウンロード機能が追加された。<br> <br> ==== ネットワーク設定 ==== 有線・無線デバイスの検出と設定に対応している。<br> <br> 設定可能な項目は以下の通りである。<br> * DHCP自動取得 * 静的IP手動設定 * DNS設定 <br> UIはケーブル接続・断線、WiFiアダプター接続に動的に反応する。<br> Agama 19では、インターフェース名・MACアドレスでの固定アソシエーションと永続的ネットワーク接続の概念が導入された。<br> なお、ブリッジやボンディングはUIでは未サポートだが、JSONプロファイルでは設定可能である。<br> <br> ==== ユーザ管理 ==== インストール時にrootユーザおよび一般ユーザの設定を行うことができる。<br> <br> 設定可能な項目は以下の通りである。<br> * 非rootユーザアカウント作成 *: フルネーム、ログイン名、パスワード * SSH認証 *: rootおよび非rootユーザの複数SSH公開鍵の設定 <br> ==== ソフトウェア選択 ==== * パターンベースによるソフトウェア選択が可能である。 * SLE製品のインストール時に製品登録を行うことができる。 * Agama 19では、独自のソフトウェア管理機能が追加された。 <br><br> == Agama CLIの使用 == Agama CLIはコマンドラインからインストールを制御するためのツールである。<br> <br> ==== コマンド一覧 ==== 下表に、主要なコマンドを示す。<br> <br> <center> {| class="wikitable" |+ Agama CLIコマンド一覧 ! コマンド !! 説明 |- | <code>agama config show</code> || 現在の設定を表示する |- | <code>agama config load profile.json</code> || JSONプロファイルを読み込む |- | <code>agama config load profile.jsonnet</code> || Jsonnetプロファイルを読み込む |- | <code>agama config validate profile.json</code> || プロファイルの設定を検証する |- | <code>agama config edit</code> || 設定をエディタで編集する |- | <code>agama probe</code> || システムプロービングを実行する |- | <code>agama install</code> || インストールを実行する |- | <code>agama finish --reboot</code> || インストール完了後に再起動する |- | <code>agama monitor</code> || インストールをリモート監視する |- | <code>agama logs</code> || ログを表示する |- | <code>agama events</code> || イベントを表示する |- | <code>agama questions</code> || インストール中の質問に対応する |} </center> <br> ==== 認証コマンド ==== リモートアクセス時に使用する認証コマンドは以下の通りである。<br> <br> # ログイン agama auth login # 認証状態の確認 agama auth show # ログアウト agama auth logout <br> ==== グローバルオプション ==== <center> {| class="wikitable" |+ グローバルオプション一覧 ! オプション !! 説明 |- | <code>--host</code> || リモートホストを指定する |- | <code>--insecure</code> || SSL証明書の検証をスキップする |- | <code>--local</code> || ローカルオペレーションとして実行する |} </center> <br><br> == 自動インストール == Agamaは、JSONプロファイルを使用した無人インストール (自動インストール) に対応している。<br> <br> ==== プロファイル形式 ==== プロファイルに記述できる主なセクションは以下の通りである。<br> <br> * <code>product</code> *: インストールする製品名と登録コード * <code>root</code> *: rootユーザのパスワード * <code>user</code> *: 一般ユーザの設定 * <code>localization</code> *: 言語、タイムゾーン、キーボードレイアウト * <code>software</code> *: インストールするパターンとパッケージ * <code>storage</code> *: ストレージ設定とパーティション構成 * <code>network</code> *: ネットワーク接続の設定 * <code>bootloader</code> *: ブートローダの設定 * <code>scripts</code> *: インストール前後に実行するスクリプト <br> AutoYaSTとの互換性は一般的には維持されているが、100%の後方互換性は保証されていない。<br> <br> ==== 最小限のプロファイル例 ==== 以下に最小限のJSONプロファイルの例を示す。<br> <br> <syntaxhighlight lang="json"> { "product": { "name": "Leap" }, "root": { "password": "pass123" }, "localization": { "language": "en_US" } } </syntaxhighlight> <br> ==== 詳細プロファイル例 ==== 以下にストレージ、ネットワーク、ユーザ設定を含む詳細なプロファイルの例を示す。<br> <br> <syntaxhighlight lang="json"> { "product": { "name": "SLE", "registrationCode": "xxxxx" }, "localization": { "language": "ja_JP", "timezone": "Asia/Tokyo", "keyboard": "jp" }, "root": { "password": "root_password" }, "user": { "fullName": "User Name", "userName": "username", "password": "user_password", "autologin": false }, "network": { "connections": [{ "interface": "eth0", "method": "static", "ip": "192.168.1.100", "netmask": "255.255.255.0", "gateway": "192.168.1.1", "nameServers": ["8.8.8.8", "8.8.4.4"] }] }, "storage": { "devices": [{ "name": "/dev/sda", "partitions": [ { "size": "512 MiB", "mount": "/boot/efi", "filesystem": "vfat" }, { "size": "20 GiB", "mount": "/", "filesystem": "btrfs" }, { "size": "2 GiB", "mount": "swap", "filesystem": "swap" } ] }] }, "software": { "patterns": ["base", "enhanced_base"], "packages": ["vim", "git", "curl"] } } </syntaxhighlight> <br> ==== Jsonnetによる動的プロファイル ==== AgamaはJsonnetに対応しており、変数、関数、ハードウェア情報の動的注入が可能である。<br> JSON Schemaによるプロファイル検証もサポートしている。<br> <br> 以下にJsonnetを使用した動的プロファイルの例を示す。<br> この例では、最も大容量のディスクを自動検出してインストール先として使用する。<br> <br> <syntaxhighlight lang="json"> local hw = import "hw.libsonnet"; local largest_disk = hw.get_largest_disk(); local disk_size_gb = hw.get_disk_size_gb(largest_disk); { product: { name: "Leap" }, storage: { devices: [{ name: largest_disk, partitions: [ { size: "512 MiB", mount: "/boot/efi", filesystem: "vfat" }, { size: if disk_size_gb > 100 then "30 GiB" else "15 GiB", mount: "/", filesystem: "btrfs" }, { size: "2 GiB", mount: "swap", filesystem: "swap" } ] }] } } </syntaxhighlight> <br> ==== 自動インストールの実行手順 ==== CLIを使用した自動インストールの基本的な手順は以下の通りである。<br> <br> # プロファイルの検証 agama config validate profile.json # プロファイルの読み込み agama config load profile.json # インストールの実行 agama install # インストール完了後に再起動 agama finish --reboot <br><br> == リモートインストール == Agamaはリモートからインストールを操作・監視する機能を提供している。<br> <br> ==== リモートアクセスによるインストール ==== リモートブラウザからAgamaのWeb UIにアクセスし、インストールを操作できる。<br> <br> # リモートからインストールの監視 agama monitor --host 192.168.1.xxx <br> ==== IPMI報告 ==== Agama 16以降では、IPMI報告機能に対応しており、以下のステータスをBMC (Baseboard Management Controller) に報告できる。<br> <br> * STARTED: インストール開始 * FINISHED: インストール完了 * FAILED: インストール失敗 <br><br> == Live ISOの使用 == ==== Live ISOの起動 ==== Agamaは公式のLive ISOイメージを提供しており、USBメモリまたはDVDに書き込んでブートすることができる。<br> <br> * 公式Live ISOのダウンロード *: [https://agama-project.github.io/download Agama Download] <br> 起動後は自動的にグラフィカルインターフェースで起動する。<br> <br> ==== 起動オプション ==== <center> {| class="wikitable" |+ Live ISO起動オプション ! オプション !! 説明 |- | <code>live.net_config_tui=1</code> || nmtuiを起動してネットワーク設定を行う |} </center> <br> ==== 起動要件 ==== * アーキテクチャ: x86-64-v2以降 * 最小RAM: 1GB以上 (推奨) <br><br> == 注意事項 == * AutoYaST互換性 *: AutoYaSTプロファイルとの互換性は一般的には維持されているが、100%の後方互換性は保証されていない。 *: 既存のAutoYaSTプロファイルは移行前にテストすることを推奨する。 *: <br> * 32ビットサポートの廃止 *: Agama 18からi586 (32ビット) アーキテクチャのサポートは廃止されている。 *: <br> * ネットワーク設定の制限 *: ブリッジやボンディングはUIでは設定できない。JSONプロファイルを使用して設定する必要がある。 *: <br> * SSL証明書 *: Agamaはデフォルトで自己署名証明書を使用するため、リモートアクセス時にブラウザの警告が表示される場合がある。 *: <code>--insecure</code> オプションを使用することにより、CLI経由での接続時に証明書の検証をスキップできる。 <br><br> == 参考リンク == * [https://agama-project.github.io/ Agama公式サイト] * [https://agama-project.github.io/download Agamaダウンロード] * [https://agama-project.github.io/docs/ Agamaドキュメント] * [https://agama-project.github.io/docs/user/reference/cli Agama CLIリファレンス] * [https://agama-project.github.io/docs/user/guides/storage Agamaストレージ設定ガイド] * [https://agama-project.github.io/blog Agamaブログ] * [https://github.com/agama-project/agama Agama GitHubリポジトリ] * [https://documentation.suse.com/sles/16.0/ SLE 16ドキュメント] * [[設定 - Cockpit]] * [[インストール - Myrlyn]] <br><br> {{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ:SUSE]]
設定 - Agama
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse