CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
こんにちは。加賀結衣(かが ゆい)と申します。
このコラムでは、株式会社リックテレコムの「Windows/Linuxのトラブル追跡実践ノウハウ」をもとに、私が実際にPCに触りながら学んだことをまとめていきます。
コラム内のページ表記は、この書籍のページを示します(Pはページです)。
日々発生するコンピュータのトラブルに対し、どのようなツールを使い、どのような情報を収集すればよいか知りたいと思われている初心者の方に、このコラムが少しでもお役に立てば嬉しいです。
前回は、第2章 Linux編(1) 2.1.6 の「周辺機器の確認をする」まで学びました。今回は、Linux編(2) 2.3.1の、「IPアドレス、MACアドレスの確認をする」から確認していきましょう。
----------------------------------------------------------------------
第2章 システムの基本情報の確認
2.1 Windows編
2.2 Linux編(1)
2.3 Linux編(2)
2.3.1 IPアドレス、MACアドレスの確認をする(p.78)
2.3.2 カーネルモジュールの確認をする(p.82)
2.3.3 サービス(デーモン)を確認する(p.85)
2.3.4 アカウント情報を確認する(p.87)
2.3.5 インストールされているパッケージを調べる(p.89)
2.3.6 カーネルパラメータを確認する(p.98)
2.3.7 ブートローダの設定を確認する(p.100)
2.3.6 SELinuxの設定を確認する(p.102)
----------------------------------------------------------------------
第2章 システムの基本情報の確認
2.3 Linux編(2)
2.3.1 IPアドレス、MACアドレスの確認をする(p.78)
■ifconfig
ifconfigコマンドを使うと、IPアドレス、MACアドレスといった情報を表示させることができます。
特定のインターフェース情報を表示したい場合には、ifconfig インターフェース名を、また、全てのインターフェース情報を表示するには、-aオプションを指定します。
なお、ifconfigは、LinuxやUnix系OSでは標準的なコマンドであるものの、非推奨のコマンドであり、Red Hat Enterprise Linux/CentOS 7.0 の場合デフォルトでは利用できません。
このため、ipコマンドを使って同様の情報を確認します。
■ip addr
ip addrコマンドでは、ネットワークインターフェースの情報をすべて表示することができます。
特定のインターフェースの情報のみ表示したい場合は、以下のコマンドを実行します。
ip addr show インターフェース名
2.3.2 カーネルモジュールの確認をする(p.82)
■lsmod、modinfo
lsmodコマンドを利用すると、カーネルモジュールの一覧を表示できます。
また、modinfo モジュール名 と入力してmodinfoコマンドを利用すると、特定のモジュールについての情報を表示することができます。
lsmodコマンドとmodinfoコマンドを他のコマンドやシェルの機能と組み合わせて読み込まれているカーネルモジュールすべての情報を表示することもできます。
2.3.3 サービス(デーモン)を確認する(p.85)
■service
serviceコマンドを利用すると、サービスの稼働状況を確認することができます。
指定したサービスの状態を確認したい場合には service サービス名 statusを、また、全てのサービスの状態を確認したい場合には、以下のコマンドを実行します。
serviceコマンドは、管理者ユーザまたはsudoコマンドで実行しましょう。
service --status-all
なお、sevice サービス名 startで、指定したサービスを開始したり、sevice サービス名 restartで指定したサービスを再起動することもできます。
2.3.4 アカウント情報を確認する(p.87)
■/etc/passwd、/etc/group
ユーザアカウント情報を確認したい場合は、/etc/passwdコマンドを利用します。
また、グループ情報を確認したい場合には、/etc/groupコマンドを利用します。
2.3.5 インストールされているパッケージを調べる(p.89)
■rmp、dpkg、yum、apt-get
システムにインストールされているパッケージを調べるには、Red Hat 系のLinuxの場合rmpコマンドを利用します。
また、Debian系のLinuxの場合は、dpkgコマンドを利用します。
順に見ていきましょう。
rmpコマンドで、パッケージ情報を表示するための-qまたは--queryオプションと、全てのパッケージを対象にする-aまたは--allオプションを使うと、現在インストールされている全パッケージを確認することができます。
一方、特定のパッケージの情報を表示したいときは、rmp -q パッケージ名で、対象のパッケージを指定すると表示できます。
rpm -qa rpm --query --all
パッケージの依存関係を確認するには、rmp --requiresオプションで確認できます。また、出力された機能名の中で、特定の機能を提供するパッケージを表示するには、以下のコマンドを利用します。
rpm -q --whatprovides 機能名
dpkgコマンドでは、-lまたは--listオプションを利用すると、現在システムにインストールされている全てのパッケージを調べることができます。
一方、特定のパッケージの情報を表示したいときは、dpkg -l パッケージ名で、対象のパッケージを指定すると表示できます。
dpkg -l dpkg --list
パッケージの依存関係を確認するには、dpkg -I または --info オプションで表示される情報のうち、Dependsのセクションで確認できます。
以下の書式を利用します。
dpkg -I debファイル名
■yumコマンド
Red Hat系のLinuxで複数のパッケージをまとめてインストールしたり、アップデートしたりするのにyumコマンドがあります。yumコマンドでは、パッケージの依存関係を自動的に解決して、インストールやアップデートを行うことができます。
パッケージと依存関係で必要なパッケージをすべてインストールするには、以下のコマンドを利用します。
yum install パッケージ名
また、システムにインストールされている全てのパッケージを最新にアップデートするには以下のコマンドを利用します
yum update
ある機能を提供するパッケージを表示するには、yum whatprovides 機能名を入力します。
■apt-getコマンド
Debian系のLinuxで複数のパッケージをまとめてインストールしたり、アップデートしたりするのにapt-getコマンドがあります。apt-get install パッケージ名で、パッケージの依存関係を自動的に解決して、インストールを行うことができます。
また、パッケージのアップデートを行う場合、まず、インターネットに公開されている最新のレポジトリ(パッケージデータベース)の情報を取得するupdateサブコマンドを実行後、実施のパッケージをアップデートするupgradeサブコマンドを利用します。
apt-get update apt-get upgrade
2.3.6 カーネルパラメータを確認する(p.98)
■sysctl
現在設定されているすべてのカーネルパラメータの確認や変更を行うには、sysctlコマンドに-aオプションをつけて利用します。
sysctl -a
-aの代わりにパラメータ名を指定すると、そのパラメータの設定値のみ確認できます。
あるカーネルパラメータの値を変更するには、-wオプションを使用します。
sysctl -w パラメータ名=設定値
なお、この変更は、OS再起動時にリセットされるため、OS起動時にパラメータをセットしたい場合は、/etc/sysctl.confにパラメータの設定値を記載しておく必要があります。
2.3.7 ブートローダの設定を確認する(p.100)
■GRUB
現在のほとんどのシステムでは、コンピュータの起動時にOSを開始するためのプログラムであるブートローダとして、GRUB(GRand Unified bootloader)を利用しています。
現在一般的に利用されているGRUBは大きく分けて2種類あります。
バージョン0.9xはGRUB Legacy、バージョン1.9xはGRUB 2と呼ばれます。
Red Hat 系では主に前者が、Debian系では主に後者が使用され、各設定ファイルは前者は/boot/grub 配下の grub.conf(menu.list)、後者はgrub.cfgとなります。
2.3.6 SELinuxの設定を確認する(p.102)
■getenforce、setenforce、sestatus
現在のSeLinuxの状態を表示するには、getenforceコマンドを利用します。
また、setenforce モード名(EnforcingまたはPermissive)でSELinuxの状態を一時的に変更することができます。
setstutusコマンドでは、getenforceコマンドよりも詳細な設定情報を表示できます。
★Linux OSではifconfig もしくはipコマンドを利用すると、IPネットワークの設定の詳細情報を表示することができる。また、lsmodコマンドを利用すると、カーネルモジュールの一覧を表示できる。
★Linux OSでは、rmpやdpkgコマンドを利用すると、システムにインストールされているパッケージを調べることができる。
なお、ネットワーク・サーバ(OS)分野における原因究明の仕方や切り分けなどを行う方法を基礎から学びたい方には、CTC教育サービスのオリジナルコースである
「システムトラブルシュート(ファーストステップ)」
「システムトラブルシュート(ネクストステップ)」がお勧めです。
最後まで読んでくださってどうもありがとうございました。次回もどうぞお楽しみに。
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes