忍者ブログ

◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例

   

【RHEL】サブスク関連

■ RHELサブスク登録/割当/リポジトリ確認
#===================
# サブスクリプション登録
subscription-manager register
 ⇒ ユーザ名とパスワードを入力する
 ※ユーザ名には'@'以降は付けない
subscription-manager register --username <ユーザ名> --password <パスワード>
#===================
# サブスクリプションのリスト表示
subscription-manager list
subscription-manager list --available
#===================
# サブスクリプション設定
subscription-manager role --set="Red Hat Enterprise Linux Server"
subscription-manager service-level --set="Self-Support"
#===================
# サブスクリプション割当
subscription-manager attach
subscription-manager attach --auto
subscription-manager attach --pool=<プールID>
#===================
# yum/dnf リポジトリの表示
yum repolist
dnf repolist
 ⇒ リポジトリが使用可能となることを確認する
PR

【BAT】service表示

@echo off
setlocal
REM ==========================
REM サービス表示名
set DISPLAY_NAME=
REM サービス名
set SERVICE_NAME=
REM サービスの起動状態
set SERVICE_STAT=
REM ==========================
set DISPLAY_NAME="Windows Time"
call :GET_SERVICE_NAME
call :GET_SERVICE_STAT
call :DISPLAY_STATUS
REM --------------------------
set DISPLAY_NAME="Windows Update"
call :GET_SERVICE_NAME
call :GET_SERVICE_STAT
call :DISPLAY_STATUS
REM --------------------------
set DISPLAY_NAME="Themes"
call :GET_SERVICE_NAME
call :GET_SERVICE_STAT
call :DISPLAY_STATUS
REM --------------------------
set DISPLAY_NAME="Windows Search"
call :GET_SERVICE_NAME
call :GET_SERVICE_STAT
call :DISPLAY_STATUS
REM --------------------------
goto END
REM ==========================
::: サービス表示名を元にサービス名を取得
:::
::: 必要な環境変数
:::  DISPLAY_NAME
::: 設定される環境変数
:::  SERVICE_NAME
:::
REM --------------------------
:GET_SERVICE_NAME
set SERVICE_NAME=
if not defined DISPLAY_NAME exit /b 1
set CMD=sc getkeyname %DISPLAY_NAME%
for /f "usebackq tokens=1,2,3" %%a in (`%CMD%`) do (
REM echo DEBUG: a=%%a b=%%b c=%%c
if "名前" == "%%a" (
set SERVICE_NAME=%%c
)
)
if not defined SERVICE_NAME (
REM サービス名が取得できなければエラー
echo ERROR: サービス名の取得に失敗しました(%DISPLAY_NAME%)
exit /b 1
)
exit /b 0
REM ==========================
::: サービス名からサービスの状態を取得
:::
::: 必要な環境変数
:::  SERVICE_NAME
::: 設定される環境変数
:::  SERVICE_STAT
:::
REM --------------------------
:GET_SERVICE_STAT
set SERVICE_STAT=
if not defined SERVICE_NAME exit /b 1
set CMD=sc query %SERVICE_NAME%
for /f "usebackq tokens=1,2,3,4" %%a in (`%CMD%`) do (
REM echo DEBUG: a=%%a b=%%b c=%%c d=%%d
if "STATE" == "%%a" (
set SERVICE_STAT=%%d
)
)
if not defined SERVICE_STAT (
REM 状態が取得できなければエラー
echo ERROR: サービスの状態取得に失敗しました(%SERVICE_NAME%)
exit /b 1
)
exit /b 0
REM ==========================
::: 取得したサービスの状態を表示
:::
::: 必要な環境変数
:::  DISPLAY_NAME
:::  SERVICE_STAT
::: 設定される環境変数
:::  なし
:::
REM --------------------------
:DISPLAY_STATUS
if not defined DISPLAY_NAME (
echo ERROR: サービス表示名が設定されていません
exit /b 1
)
REM カラーのため設定
for /f %%i in ('cmd /k prompt $e^<nul') do set ESC=%%i
if defined SERVICE_STAT (
REM %変数:~1,-1%は最初と最後の1文字を除いて展開する
if %SERVICE_STAT% == RUNNING (
REM 緑字
echo %DISPLAY_NAME:~1,-1% (%SERVICE_NAME%^) [%ESC%[92m%SERVICE_STAT%%ESC%[0m^]
) else (
REM 赤字
echo %DISPLAY_NAME:~1,-1% (%SERVICE_NAME%^) [%ESC%[91m%SERVICE_STAT%%ESC%[0m^]
)
) else (
REM %変数:~1,-1%は最初と最後の1文字を除いて展開する
echo %DISPLAY_NAME:~1,-1% ^(%SERVICE_NAME%^) ^[ UNKNOWN ^]
)
exit /b 0
REM ==========================
::: バッチ終了処理
REM --------------------------
:END
echo.
pause
REM --------------------------
endlocal
exit /b 0

【Shell Script】デバッグ

#======================
# デバッグモードでスクリプトを動かす方法
#======================
#-----------------------------------
# シェルスクリプトのデバッグ方法
#-----------------------------------
bash -x <シェルスクリプト>
bash -v <シェルスクリプト>

【Linux】DNS設定

#======================
# DNS名前解決の方法
#======================
#-----------------------------------
# resolv.conf設定
#-----------------------------------
vi /etc/resolv.conf
 ※以下を追記する
  nameserver : <DNSサーバIPアドレス>
  domain : <ドメイン名>
  search : <完全修飾ドメイン名>
 
#-----------------------------------
# DNSサーバでの名前解決を確認する
#-----------------------------------
dig @<DNSサーバIPアドレス> <ドメイン名>
 ※「status:NOERROR」が表示されていることを確認する

【RHEL】サブスク登録

#=====================
# ■ RHEL サブスクリプション登録
#=====================
※事前準備として、RHELアカウントを取得しておく
#--------------------------------
yumリポジトリを確認する
#--------------------------------
yum repolist
 ※「利用できるリポジトリーがありません」を確認する
#--------------------------------
サブスク状態を確認する
#--------------------------------
subscription-manager list
 ※「状態:不明」を確認する
#--------------------------------
対象サーバをサブスク登録する
#--------------------------------
subscription-manager register
 RedhatアカウントID:<ユーザ名>
 RedhatアカウントPW:<パスワード>
#--------------------------------
サブスクのプールIDを表示する
#--------------------------------
subscription-manager list --available
 ※「プール ID:<プールID>」を確認する
#--------------------------------
プールIDを指定して、サブスクライブする
#--------------------------------
subscription-manager attach --pool=<プールID>
 ※「サブスクリプションが正しく割り当てられました」を確認する
subscription-manager subscribe --pool=<プールID>
 ※「サブスクリプションが正しく割り当てられました」を確認する
#--------------------------------
サブスク状態を確認する
#--------------------------------
subscription-manager list
 ※「状態:サブスクライブ済み」を確認する
#--------------------------------
yumリポジトリを確認する
#--------------------------------
yum repolist
 ※リポジトリーが表示されることを確認する
#=====================
# 過去のサブスク情報を一旦削除して再登録する場合
#=====================
subscription-manager remove --all
subscription-manager unregister
subscription-manager clean
subscription-manager register
subscription-manager refresh
subscription-manager attach --auto
#=====================
# サブスクのヘルプ表示
#=====================
subscription-manager register --help

【Windows】印刷キュー

#======================
■ プリンタの印刷キュー表示コマンド
#======================
------------------------------------
【書式】
rundll32.exe printui.dll,PrintUIEntry /o /n '<プリンター名>'
------------------------------------
【例】
rundll32.exe printui.dll,PrintUIEntry /o /n 'OneNote (Desktop)'
------------------------------------
※「rundll32.exe」の格納場所は以下となるが、それ以外の場所にある場合はウィルススキャン実施対象
 C:\WINDOWS\system32\
 C:\Windows\SysWOW64\rundll32.exe

【Linux】LVM設定

#======================
★LVM の設定方法
#======================
パーティション作成
------------------------------------
fdisk /dev/sdb
  p
  n
  p
  1
  [Enter]
  [Enter]
  t
  8e  ←コレはLVM用、kdump用は"83"を指定する
  p
  w
------------------------------------
作成したパーティション確認
------------------------------------
fdisk -l | grep /dev/sdb
 
#======================
PV作成
#======================
pvcreate /dev/sdb1
  ⇒"sdb1"という名前のPV作成
------------------------------------
PV確認
------------------------------------
pvs -v
pvdisplay -v
#======================
VG作成
#======================
vgcreate -s 64m vg02 /dev/sdb1
  ⇒PVを基に、"vg02"という名前のVG作成
------------------------------------
VG確認
------------------------------------
vgs -v
vgdisplay -v
#======================
LV作成
#======================
lvcreate -l 100%FREE -n lv_Test vg02
  ⇒VGを基に、"lv_Test"という名前のLV作成
------------------------------------
LV確認
------------------------------------
lvs -v
lvdisplay -v
 
#======================
LVMデバイスの確認
#======================
ls -ld /dev/vg*
ls -ld /dev/mapper
ls -ld /dev/vg02
 
#======================
ファイルシステム作成
#======================
mkfs.xfs /dev/vg02/lv_Test
  ⇒フォーマット形式を指定する
 
#======================
マウントポイント作成
#======================
ls -ld /<マウントポイント>
mkdir -p /<マウントポイント>
 
#======================
手動マウント
#======================
mount -t xfs /dev/mapper/<VG名-LV名> /<マウントポイント>
------------------------------------
マウント情報の表示で手動マウント確認
------------------------------------
mount
------------------------------------
アンマウントで手動マウントを解除する
------------------------------------
umount /<マウントポイント>
 
#======================
fstab設定
#======================
vi /etc/fstab
  /dev/mapper/<VG名-LV名> /<マウントポイント> xfs defaults 1 0
------------------------------------
fstab設定内容の確認
------------------------------------
cat /etc/fstab
#======================
fstabの内容でマウント実行
#======================
mount -a
 
#======================
ディスク情報の表示
#======================
df -hT
------------------------------------
mount
------------------------------------
fdisk -l
 
#======================
LVM削除
#======================
lvremove /dev/<VG名>/<LV名>
 
#======================
GPTパーティション作成
#======================
parted /dev/sdb
  mklabel gpt
  p
  mkpart
    primary
    xfs
    1
    <最大値>
  set 1 lvm on
  print
  quit
 
#======================
★kdumpにLVMを指定する方法
#======================
kdump.conf設定(例)
------------------------------------
vi /etc/kdump.conf
  #ext4 UUID="<UUID番号>"
  xfs /dev/vg02/lv_Test
  path /var/crash
  core_collector makedumpfile -d 16
  default reboot

【Linux】ネットワーク設定

#======================
# ■ ネットワーク設定(nmcli コマンド)※ens192、サブネットマスク値の部分は環境により適宜読み替える
#======================
#-----------------------------------
# nmcli手動設定
#-----------------------------------
nmcli c m ens192 ipv4.method manual
#-----------------------------------
# IPアドレス設定(追加
#-----------------------------------
nmcli c add type ethernet con-name ens192 ifname ens192 ip4 <IPアドレス>/24 gw4 <GWアドレス>
#-----------------------------------
# IPアドレス設定(変更
#-----------------------------------
nmcli c mod ens192 ipv4.method manual ipv4.addresses "<IPアドレス>/24"
#-----------------------------------
# ダミーインタフェース作成
#-----------------------------------
nmcli con add type dummy ifname dummy0 ipv4.method manual ipv4.addresses <IPアドレス>/24 ipv6.method manual ipv6.addresses 9999:aaa:bbb::9/64
nmcli con add type dummy ifname dummy0 ipv4.addresses <IPアドレス>/24
nmcli con add type dummy ifname dummy0
#-----------------------------------
# GW追加
#-----------------------------------
nmcli c m ens192 ipv4.gateway <GWアドレス>
#-----------------------------------
# GW削除
#-----------------------------------
nmcli c m ens192 ipv4.gateway 0.0.0.0
#-----------------------------------
# スタティックルート追加
#-----------------------------------
nmcli c m ens192 +ipv4.routes "<ネットワークアドレス>/24 <GWアドレス>"
#-----------------------------------
# スタティックルート削除
#-----------------------------------
nmcli c m ens192 -ipv4.routes "<ネットワークアドレス>/24 <GWアドレス>"
#-----------------------------------
# メトリック値の変更
#-----------------------------------
nmcli c m ens192 ipv4.route-metric <値>
#-----------------------------------
# ポリシールーティング設定
#-----------------------------------
nmcli c m ens192 ipv4.routes "0.0.0.0/0 <GWアドレス> table=1" ipv4.routing-rules "from <ネットワークアドレス> table 1 priority 100"
#-----------------------------------
# nmcli設定反映
#-----------------------------------
nmcli c up ens192
#-----------------------------------
# ネットワーク設定の表示
#-----------------------------------
nmcli d
nmcli d show
nmcli c
nmcli c show ens192
#======================
# ■ ネットワーク設定情報
#======================
ip a
ifconfig -a
route -n
ip route
ls -l /etc/sysconfig/network-scripts/
#======================
# ■ IPv6設定の無効化の解除方法
#======================
#-----------------------------------
# IPv6の起動時設定を確認する
#-----------------------------------
grub2-editenv list
  ⇒表示結果の文字列から'ipv6.disable=1'の部分を削除した文字列を以下のコマンドで指定する
#-----------------------------------
# IPv6無効化の解除
#-----------------------------------
grub2-editenv - set '<文字列>'

【Linux】設定値の確認

━━━━━━━━━━━━━━━━━━━
■ 設定ファイルの内容
───────────────────
cat /etc/redhat-release
cat /etc/hostname
cat /proc/mdstat
cat /etc/hosts
cat /etc/nsswitch.conf | grep -v "^#" | grep -v "^$"
cat /etc/snmp/snmpd.conf
cat /etc/sysconfig/snmp.conf
cat /etc/chrony.conf | grep -v "^#" | grep -v "^$"
cat /etc/security/limits.conf | grep -v "^#" | grep -v "^$"
cat /etc/sssd/sssd.conf
cat /etc/rsyslog.conf
cat /etc/passwd | sort -f
cat /etc/group| sort -f
cat /etc/sudoers | grep -v "^#" | grep -v "^$"
cat /etc/ssh/sshd_config | grep -v "^#" | grep -v "^$"
cat /etc/profile | grep -v "^#" | grep -v "^$"
cat /etc/sysctl.conf | grep -v "^#" | grep -v "^$"
cat /etc/kdump.conf | grep -v "^#" | grep -v "^$"
cat /etc/pam.d/login | grep -v "^#" | grep -v "^$"
cat /etc/rc.d/rc.local | grep -v "^#" | grep -v "^$"
ls -l /etc/sysconfig/network-scripts
cat /etc/sysconfig/network-scripts/ens***
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ 設定確認コマンド
───────────────────
uname -r
hostname
getenforce
df -h
lsblk -l
systemctl get-default
timedatectl status | grep zone
rpm -qa | sort -f
systemctl -t service list-unit-files --no-pager
ip route
route -n
nmcli d show <デバイス名>
nmcli c show <コネクション名>
getent passwd | sort -f
getent group | sort -f
getent hosts
getent networks
━━━━━━━━━━━━━━━━━━━
■ 出力結果の表示方法
───────────────────
ソートして表示させる
<コマンド> | sort -f
───────────────────
コメントや空行は表示させない
<コマンド> | grep -v "^#" | grep -v "^$"
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ 検索コマンド
───────────────────
ファイルのパス検索
find / -name <ファイル名>
───────────────────
コマンドのパス検索
which <コマンド名>
───────────────────
パッケージ検索
rpm -qa | grep <パッケージ名>
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ 作業ログの取り方
───────────────────
実施した作業を記録しファイルに保存する
script <ファイル名.txt>
───────────────────
コマンドの出力結果をファイルに保存する
echo ★ログ取得★ > log_`hostname`_`date +%Y%m%d`
echo ====== >> log_`hostname`_`date +%Y%m%d`
echo "【<コマンド>】を実行する" >> log_`hostname`_`date +%Y%m%d`
<コマンド> >> log_`hostname`_`date +%Y%m%d`
echo ====== >> log_`hostname`_`date +%Y%m%d`
━━━━━━━━━━━━━━━━━━━
■ pingコマンドの回数指定オプションの差異
───────────────────
Windowsの場合
ping -n 2 <IPアドレス>
───────────────────
Linuxの場合
ping -c 2 <IPアドレス>
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ 別ユーザでログインする場合の例
───────────────────
root以外のユーザで以下を実行
su - tomcat --shell=/bin/bash
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ 再帰的に所有者:グループを変更する
───────────────────
chown -R <ユーザ名>:<グループ名>
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ oom-killer回避の為、以下をcron登録して毎分実行
───────────────────
* * * * * root ps -ef | grep -E "crond|sshd$|rsyslogd|snmpd" | grep -v grep | awk '{print $2}' | while read pid;do echo "-17" > /proc/${pid}/oom_adj;done > /dev/null 2>&1
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ 別ユーザでコマンド実行する場合のオプション
───────────────────
deamon --user <ユーザ名> <コマンド>
━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━
■ ログメッセージ確認の例
───────────────────
tail -n 20 /var/log/messages
━━━━━━━━━━━━━━━━━━━

【Linux】手順メモ(設定情報採取)

コピー用ディレクトリ作成【ホスト名+日付】
 ls -l /tmp
 mkdir /tmp/`hostname`_`date +%Y%m%d`
 ls -l /tmp
 ls -l /tmp/`hostname`_`date +%Y%m%d`/
 
━━━━━━━━━━━━━━━━━━━
コピー元の設定ファイルの確認【例】
 ls -l /etc/nsswitch.conf
 ls -l /etc/hosts
 
━━━━━━━━━━━━━━━━━━━
設定ファイルをコピーする【例】
 cp -p /etc/nsswitch.conf /tmp/`hostname`_`date +%Y%m%d`/
 cp -p /etc/hosts /tmp/`hostname`_`date +%Y%m%d`/
 
━━━━━━━━━━━━━━━━━━━
コピーしたファイルがあることを確認する
 ls -l /tmp/`hostname`_`date +%Y%m%d`/
 
━━━━━━━━━━━━━━━━━━━
コピー元との内容差異がないか確認する【省略可】
 cd /tmp/`hostname`_`date +%Y%m%d`/
 pwd
 diff /etc/nsswitch.conf nsswitch.conf
 diff /etc/hosts hosts
 
━━━━━━━━━━━━━━━━━━━
設定内容の出力結果をファイルに追記する【例】
 ls -l
 echo ★`hostname`の設定内容★ > log_`hostname`_`date +%Y%m%d`
 echo --------- >> log_`hostname`_`date +%Y%m%d`
 echo バージョン情報 >> log_`hostname`_`date +%Y%m%d`
 cat /etc/redhat-release >> log_`hostname`_`date +%Y%m%d`
 echo --------- >> log_`hostname`_`date +%Y%m%d`
 echo SELinuxの設定 >> log_`hostname`_`date +%Y%m%d`
 getenforce >> log_`hostname`_`date +%Y%m%d`
 echo --------- >> log_`hostname`_`date +%Y%m%d`
 ls -l
 
━━━━━━━━━━━━━━━━━━━
ファイルに追記された内容を確認する【省略可】
cat log_`hostname`_`date +%Y%m%d`
 
━━━━━━━━━━━━━━━━━━━
コピー用ディレクトリをzip圧縮する【ホスト名+日付.zip】
 cd ..
 pwd
 zip -r `hostname`_`date +%Y%m%d`.zip ALMA
 ls -l /tmp/`hostname`_`date +%Y%m%d`.zip
 ls -ltr
 
━━━━━━━━━━━━━━━━━━━
圧縮したzipをSCP転送する【ファイルを送る】
 scp /tmp/`hostname`_`date +%Y%m%d`.zip root@192.168.18.4:/tmp/SCP

更新日付

11 2025/12 01
S M T W T F S
1 2 3 4 5
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

RECOMMEND

プロフィール

HN:
Account
HP:
性別:
非公開
職業:
--- NODATA ---
趣味:
--- NODATA ---
自己紹介:
◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

リンク

<<前のページ  | HOME |  次のページ>>
Copyright ©  -- LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例 --  All Rights Reserved
Design by CriCri / Photo by Melonenmann / powered by NINJA TOOLS / 忍者ブログ / [PR]