本日はAWESOME-COPILOTの技術調査枠です。
AWESOME-COPILOTのドキュメントを読みながら実際に操作を試して記事に残します。
今回はカスタムインストラクションの一つCentOS Administration Guidelinesについてです。
CentOS Administration Guidelines
CentOS Administration GuidelinesはCentOS Linux環境でのシステム管理・運用・トラブルシューティングのベストプラクティスです。
つまりCopilotをCentOS / RHEL 系 Linux のシステム管理者として振る舞わせるための指示です。
以下のページからCentOS Administration Guidelinesのインストールボタンをクリックして取得します。
github.com
インストールボタンを押してCentOS Administration Guidelinesをダウンロードします。
すると.github/instructions配下にインストラクションがインストールされます。

インストールしたインストラクションはCopilotの動作に自動的に適用されます。
このインストラクションを読み込むと、CopilotはLinux一般ではなくCentOS前提、RHEL系の管理ツールを使用、CentOSの運用ベストプラクティスを考慮した提案をするようになります。
具体的にはCopilotは以下のような行動をとります。
CentOS環境に合わせたコマンドを提案
CopilotはLinuxコマンドを提案する際、CentOSの標準ツールを優先します。
例えば以下のコマンドを利用します。
dnf install nginx yum install nginx
systemdベースのサービス管理
CentOSはsystemdを使うため、Copilotはサービス管理をsystemd前提で提案します。
例えば以下のコマンドを利用します。
systemctl start nginx systemctl enable nginx systemctl status nginx
SELinuxを考慮した提案
CentOSではSELinuxが有効な環境が多いため、Copilotは以下のような対処を考慮します。
getenforce setenforce 0
またSELinux policyやpermission errorsのようなSELinux関連のトラブルシューティングも案内します。
ファイアウォール管理(firewalld)
CentOSの標準ファイアウォールはfirewalldです。
Copilotは以下のコマンドを提案します。
firewall-cmd --add-service=http firewall-cmd --reload
iptables直接操作ではなくfirewalldベースの管理方法を優先します。
RHEL系Linuxの構成を前提
CopilotはCentOSをRHEL系Linuxとして扱います。
このため以下の前提で提案を行います。
| 項目 | 内容 |
|---|---|
| package manager | yum/dnf |
| service manager | systemd |
| firewall | firewalld |
| security | SELinux |
CentOS運用のベストプラクティス
Copilotは次のような運用設計も提案します。
| ログ管理 | journalctl |
| 更新管理 | dnf update |
| セキュリティ更新 | dnf update --security |
| トラブルシュート | service logs/network/SELinux |
トラブルシューティング支援
CopilotはCentOS問題を診断する際、一例として以下の観点で分析します。
- service failure
- permission error
- network issue
- package dependency