2019年2月26日火曜日

【LinuC】rpmコマンド



rpmパッケージに関する情報を表示するには-qオプションと以下のオプションを組み合わせてrpmコマンドを使います。

■主なオプション
-q  パッケージがインストールされていればバージョン表示
-a  インストール済みのパッケージ情報を一覧で表示
-i   パッケージの詳細情報を表示
-f  指定したファイルを含むrpmパッケージの情報を表示
-c  --configfiles 指定したパッケージの設定ファイルのみを表示
-d  指定したパッケージのドキュメントのみを表示
-l  指定したパッケージに含まれるすべてのファイルを表示
-K  パッケージの完全性を確認するためにダイジェスト値と署名をチェックする
-R  パッケージが依存しているパッケージ名を表示
-p  インストール有無に関わらず指定したパッケージファイルの情報を表示
なし --changelog パッケージの更新情報を表示

インストール・アップグレードに関しては以下のオプションでrpmコマンドを実行します。
■主なオプション
-i  パッケージをインストールする(アップデートは行わない)
-U  パッケージをアップデートする。インストールされてない場合はインストールをする。
-F  パッケージをアップデートする。インストールされてない場合は何もしない。
-v  詳細な情報を表示する
-h  進行状況を#記号で表示する
なし --force  インストールされてても上書きインストールする。
なし --oldpackage 古いパッケージに置き換えることを許可する
なし --test パッケージをインストールせず衝突のチェックを行い結果を表示する

アンインストールに関しては以下のオプションでrpmコマンドを実行します。
■主なオプション
-e  パッケージを削除する
なし --nodeps 依存関係を無視してパッケージを削除する
なし --allmatches パッケージ名に一致するすべてのパージョンのパッケージを削除する

※使用例
(1)パッケージをインストールする前にパッケージの完全性をチェックする
$rpm -K パッケージファイル名

(2)インストールされていない場合は新規インストールし、旧バージョンの場合は更新する
$rpm -U パッケージファイル名

(3)パッケージのインストール状況をデータベースと比較して結果をファイルに格納
$rpm -Va >report







【LinuC】findコマンド



findコマンドは検索条件に一致するファイルを検索するコマンドです。かなり便利です。

■構文
find [path] [式]

■主な式 
-name  指定したファイル名で検索する
-type  ファイルのタイプで検索する。d(ディレクトリ)、f(ファイル)、l(シンボリックリンク)
-size  指定したブロックサイズで検索する
-atime 指定した日時を元に、最終アクセスがあったファイルを検索する
-mtime 指定した日時を元に、最終更新されたファイルを検索する。単位は日。
-print  検索結果を標準出力する。
-exec command \; 検索後、commandを実行する。
-mmin  指定した日時を元に、最終更新されたファイルを検索する。単位は秒。

■オプション
-maxdepath 指定した数値分の階層を掘り下げてファイルを検索する。


【LinuC】/etc/fstabの記載内容(mountの設定)



/etc/fstabにはデバイスとマウントポイント、ファイルシステムについての情報が記載されています。このファイルに設定を記載して「mount -a」を実行することでファイルに書かれている設定に従ってマウントを実行します。

/etc/fstabには以下の情報が左から順に記載されています。
①デバイスポンと名
②マウントポイント
③ファイルシステムの種類
④マウントオプション
⑤バックアップの指定
⑥ファイルシステムのチェック

※例
/dev/sda2  /         ext4  defaults  1  1
/dev/sda1  /boot  ext4  defaults  1  2  

④のマウントオプションにはどのような設定でマウントするかが書かれています。
マウントオプションには以下の種類があります。

主なマウントオプション
auto    -aが指定されたときにマウントされる
noauto ファイルシステムの書き込みを同期で行う
ro  ファイルシステムを読み取り専用でマウントする
rw  ファイルシステムを読み書き可能なモードでマウントする
user 一般ユーザにマウントを許可する。アンマウントはマウントしたユーザのみ可能
users 一般ユーザにマウントを許可する。アンマウントはマウントしたユーザ以外も可能 
usrquota ユーザに対してディスクに制限をかける。クォータ設定。
grpquota グループに対してディスクに制限をかける
defaults デフォルトのオプション、rw,suid,dev,exec,nouser,asyncを有効にする。

⑤はdumpコマンドによるバックアップの周期を日単位で設定することができます。
⑥はfsckによる整合性チェックの順番を1から順に設定します。通常はルートファイルシステムに1を設定してそれ以外に2以降の数値を割り当てます。0が設定されるとチェックが行われません。

現在マウントされているファイルシステムを表示させるには、「cat /proc/self/mounts」で確認するか、「mount」コマンドで確認をします。


【LinuC】dfコマンドとduコマンド

ファイルシステムの情報を確認する為にdfコマンドとduコマンドがあります。

■dfコマンド ファイルシステムの使用状況を表示する

主なオプション
-k キロバイト単位で表示する。
-h 容量に合わせた適切な単位で表示する。
-i inodeの使用状況をリスト表示する。 

■duコマンド ディレクトリの使用容量の表示

主なオプション
-a ディレクトリだけでなくすべてのファイルの容量を表示する。
-h 容量に合わせてた適切な単位で表示する。
-s 指定されたディレクトリの総和を表示する。
-S サブディレクトリを含めずに個々のディレクトリの総和を表示する。 





【LinuC】linuxで使用されるファイルシステムの種類

linuxでhfdiskコマンドでパーティションを作成した後で各パーティションにファイルシステムを割り当てます。
ファイルシステムの種類と特徴を以下に記載します。

ext linux初期のファイルシステム
ext2 extから機能を拡張されたもの
ext3 ext2にジャーナル機能が追加されたもの
ext4 ext2/3からの拡張でナノ秒単位のタイムスタンプやデフラグ機能が追加されている
reiserfs ジャーナル機能を持ったファイルシステム。クラッシュからの高速な回復が可能
xfs  ジャーナル機能を持ったファイルシステム。SGIが開発
jfs  ジャーナル機能を持ったファイルシステム。IBMが開発
vfat WindowsとLinuxの両方で読み書き可能なファイルシステム。
btrfs 木構造のファイルシステムを持ち、ファイルシステムのスナップショット機能がある。


【LinuC】FHSのファイルシステム

FHS(Filesystem Hierarhy Standard)はディレクトリ構造の標準でLinuxのディストリビューションで多く使われています。
主なディレクトリの役割は以下のようになっています。

/   ファイルシステムの頂点になるディレクトリ
/bin  ユーザや管理者が使用するコマンドが配置される。
/dev  デバイスファイルが配置される。機器が接続されると自動的に作成される。
/etc  システム管理用の設定ファイルや、各種システムの設定ファイルが配置される。
/lib   /binや/sbinに配置されたコマンドが使用するライブラリが配置される。
/lib/modules カーネルモジュールが配置される。
/media CDやDVDのデータが配置される
/opt  Linuxインストール後に追加したパッケージが格納される
/proc カーネルやプロセスが保持する情報が配置される。ファイル自体は存在しない
/root rootユーザのホームディレクトリ
/sbin システム管理者が実行するコマンドが配置される。
/tmp アプリケーションやユーザが利用する一時ファイルが配置される。
/var  システム運用中にサイズが変わるファイルが配置される。
/var/log システムやアプリのログファイルが配置される。
/boot システム起動時に必要なブートローダ関連のファイルが配置される。
/usr  ユーザが共有するデータが配置される。
/usr/bin 一般ユーザ、管理者が使用するコマンドが配置される。
/usr/lib 各種コマンドが利用するライブラリが配置される。
/usr/local 追加でインストールされたパッケージが入る。この下にbin,sbin,libが配置される。
/usr/sbin システム管理者のみが実行できるファイルが配置される。
/home  ユーザのホームディレクトリが配置される。


2019年2月19日火曜日

【LinuC】killコマンド

Linuxのこまんどにもkillコマンドがあり、プロセスに対してシグナルを送信することができます。シグナル番号などは全部同じなので覚えておくと便利そうです。

■構文
$kill [オプション] [シグナル名 | シグナル番号] プロセスID
$kill [オプション] [シグナル名 | シグナル番号] %ジョブID
$killall [オプション] [シグナル名 | シグナル番号] プロセス名

■主なシグナル
シグナル番号1 SIGHUP  端末の切断によるプロセスの終了
                                        設定ファイルの再読み込みをさせたい時にも使う。
シグナル番号2 SIGINT  キーボード割り込みによるプロセスの終了(Ctrl+C)
シグナル番号9 SIGKILL  プロセスの強制終了
シグナル番号15 SIGTERM プロセスの終了(デフォルト)
シグナル番号18 SIGCONT 一時停止したプロセスの再開