🏗️ サーバー構築・運用 第5章-1節

Linuxサーバーの基本操作

Linuxサーバーの概要

企業のITインフラにおいて、Linuxサーバーはファイアウォール、Webサーバー、データベースサーバー、プロキシサーバーなど多くの場面で利用されています。ひとり情シスでも、ネットワーク機器のアップデートやクラウド環境の管理など、Linuxの基本操作スキルが必要になる機会は確実に増えています。

主要ディストリビューションの選定

ディストリビューション系統パッケージ管理特徴適している場面
Red Hat Enterprise Linux (RHEL)Red Hat系yum/dnf (RPM)商用サポートあり。長期保守(最長10年)業務基幹システム、商用サポートが必要な環境
AlmaLinux / Rocky LinuxRed Hat系yum/dnf (RPM)CentOS後継。RHEL互換で無料RHEL互換が必要だがコストを抑えたい場合
Ubuntu ServerDebian系apt (DEB)LTS版で5年間サポート。情報が豊富クラウド環境、Docker/Kubernetes基盤
DebianDebian系apt (DEB)高い安定性。コミュニティ運営安定性重視のサーバー環境
Amazon LinuxRed Hat系yum/dnfAWS環境に最適化AWS上のサーバー

ポイント:中小企業でLinuxを選定する場合、日本語の情報量サポート体制が重要です。Ubuntu ServerかAlmaLinux/Rocky Linuxが情報量の面で有利です。商用サポートが必要な場合はRHELを検討しましょう。

基本コマンド

カテゴリコマンド説明使用例
ファイル操作lsディレクトリ内容を表示ls -la /var/log/
cpファイルコピーcp -r /etc/nginx /etc/nginx.bak
mvファイル移動/名前変更mv old.conf new.conf
rmファイル削除rm -rf /tmp/old_data/
テキスト操作catファイル内容を表示cat /etc/hostname
lessページ送りで表示less /var/log/syslog
grepテキスト検索grep "error" /var/log/syslog
システム情報dfディスク使用量df -h(人間が読みやすい形式)
freeメモリ使用量free -h
unameカーネル情報uname -a
ネットワークipネットワーク設定の確認・変更ip addr show
ssソケット状態の表示ss -tlnp(リスニングポート一覧)
ping疎通確認ping -c 4 192.168.1.1

⚠️ 注意

rm -rfコマンドは復元不可能な削除を行います。特にsudo rm -rf /はシステム全体を破壊するため、絶対に実行しないでください。削除コマンドの実行前には必ず対象パスを確認し、重要なファイルは事前にバックアップを取りましょう。

パッケージ管理

操作apt(Debian/Ubuntu)dnf/yum(RHEL/AlmaLinux)
パッケージ一覧の更新sudo apt updatesudo dnf check-update
パッケージのインストールsudo apt install nginxsudo dnf install nginx
パッケージのアップグレードsudo apt upgradesudo dnf upgrade
パッケージの削除sudo apt remove nginxsudo dnf remove nginx
パッケージの検索apt search nginxdnf search nginx
インストール済み一覧dpkg -lrpm -qa

systemctlによるサービス管理

systemctlはsystemdのサービス管理コマンドで、現在の主要ディストリビューションすべてで使用されます。

コマンド説明
systemctl start nginxサービスを起動
systemctl stop nginxサービスを停止
systemctl restart nginxサービスを再起動
systemctl reload nginx設定を再読み込み(サービスを止めずに)
systemctl status nginxサービスの状態を確認
systemctl enable nginxOS起動時に自動起動する設定
systemctl disable nginx自動起動を無効化
systemctl is-active nginxサービスが稼働中か確認
systemctl list-unit-files --type=service全サービスの一覧と状態

cronによるタスクスケジューリング

cronは定期的なタスク実行を自動化するデーモンです。

📋 具体例

crontab の書式:分 時 日 月 曜日 コマンド

# 毎日午前3時にバックアップスクリプトを実行
0 3 * * * /opt/scripts/backup.sh >> /var/log/backup.log 2>&1

# 毎週月曜日の午前6時にディスク使用率をメール通知
0 6 * * 1 df -h | mail -s "Disk Report" admin@example.co.jp

# 毎月1日の午前0時にログローテーション
0 0 1 * * /usr/sbin/logrotate /etc/logrotate.conf

# 5分ごとに死活監視スクリプトを実行
*/5 * * * * /opt/scripts/healthcheck.sh


crontabの編集:crontab -e
crontabの確認:crontab -l

ユーザーとパーミッション管理

コマンド説明使用例
useraddユーザー作成sudo useradd -m -s /bin/bash tanaka
passwdパスワード設定sudo passwd tanaka
usermodユーザー変更sudo usermod -aG sudo tanaka(sudoグループに追加)
userdelユーザー削除sudo userdel -r tanaka(ホームディレクトリも削除)
chmodパーミッション変更chmod 755 script.sh
chown所有者変更sudo chown -R www-data:www-data /var/www/

Linuxのパーミッションは3桁の数字で表現されます。

数値権限記号
4読み取り(Read)r
2書き込み(Write)w
1実行(Execute)x

例:chmod 755 = 所有者(rwx=7)、グループ(r-x=5)、その他(r-x=5)

ひとり情シスの視点:Linuxの操作に慣れていない場合、まずは仮想マシンやWSL2(Windows Subsystem for Linux)で練習環境を作りましょう。いきなり本番サーバーで操作するのは危険です。基本コマンドの操作に慣れてから、実機の管理に移行してください。