GOADBULL

LPIC レベル1 模試問題 解説

systemdのど動作するシステムでは、systemed-journaldデーモンを動作させ、ログの一元管理を行う。
journalctl -k (--dmesg)で出力することができる。
UEFIは、BIOSの進化系。GUIの操作をサポート。ファームウェアの使用可能なメモリ量の上限が緩和されている。
ファームウェアとは、ハードウェアを動かすためのソフトウェア(プログラム)

rpm -v RPMデータベースに格納されているファイルに関する情報と、インストールされたパッケージのファイルに関する情報を比較して変更がないか検査する

UUID(世界でユニークなID)はblkidコマンドや、lsblkコマンドで確認できる。

yumには、組込み変数が用意されており、yumコマンドや設定ファイルで使用することができる。 変数内に、URLが書かれいて、正しい取得元に接続することができる。 例:アプリを自動インストールする際、アップルストアかGoogleストアか記述しておく必要がある。 /etc/fastab/の書式
デバイス名 マウントポイント ファイルシステムの種類 マウントオプション dumpフラグ fsckフラグ

aptパッケージの取得元を設定するファイルは/etc/dpkg/source.list

一般ユーザーがmountコマンドを実行することは禁止されているが、mountコマンドを実行すると、マウントされているファイルシステムが一覧表示される。

systemctlコマンドで、default.targetの管理を行うことができる。

histryを保存するファイルは、.bash_history

システム起動時に最初に実行されるUnitは/etc/systemd/system/default.target

mkfsコマンドで、ファイルシステムを作成する前に不良ブロックを検査する。

cd ~ユーザー名 ユーザーのホームディレクトリに移動することができる。

各ランレベルに応じたスクリプトは、/etc/rc[0/6].dに入っている。
スクリプトのファイル名は次の規則で命名する。
S サービスを起動
K サービスを停止
数字 実行優先順位
サービス名 任意の名前をつける。

mkdir -p  存在しない中間ディレクトリも同時に作成。

fsckコマンド 正常にアンマウントされたファイルシステムを判別する。

/var/log/messages カーネルのログを記録する
/var/log/secure セキュリティに関するログが記録される
/var/log/mailing メールに関するログが記録されるファイル

指定したコマンドの場所を検索するには、whichまたは、whereisコマンドを利用する。

XFSファイルシステムを管理するために使用されるコマンド = mkfs.xfs
所有グループを親ディレクトリと同じにするには、SGIDが必要。
chmodコマンドで、2000を加えた値に設定するか、グループに"s"という権限を追加する。(g+s)

rpmコマンドで、インストール前のパッケージを調べるためには、-pを使わないといけない。

/usr/sbin システムの起動には、必要ではないシステム管理用のコマンドのが格納されているディレクトリ。
/usr/local  ホスト固有で、使用するプログラムや設定ファイル。
HUPシグナルは、終了する際に使うシグナル。デーモンプログラムによっては、プログラムの設定ファイルを変更した後、その設定ファイルをプロセスに再度読み込ませて設定を反映させるために用いる。

  カーネルは起動されるとき、高度にハードウェアを認識・制御し、ルートファイルシステムのマウントなど様々な初期化処理を行う。
XFSや、JFSなどのファイルシステムは、動的inode機能があり、inode番号を動的に割り当てることが可能。
動的inode機能がないext系は、ファイルシステム作成時にinodeが作成されるため、増やすことができない。(つまり、ファイル数に上限があるということ)
ブートローダは起動されると、記憶装置内のカーネルをロードし、制御を移す。

GRUB Legacyにおいて、ルートパーティションを指定する。
root (hd0,3)「1番目のディスクの4番目のパーティションを指定」

GRUB2の設定ファイルは/boot/grub/grub.cfg。しかし、「/boot/grub/grub.cfg」ファイルを直接編集することはない。
設定内容は/etc/default/grubファイルおよび「/etc/grub.d」ディレクトリ内のファイルに記述し、grub-mkconfigコマンドで設定内容を「/boot/grub/grub.cfg」ファイルに反映させる。
変数を表示したい時は、echoコマンンドを実行する必要がある

カーネルのログが記録されるのは、/var/log/messages コマンドを続けて、実行する場合は、';'をコマンドとの間に入れる。 ハードリンク先のファイルを編集すると、元のファイルを変更される。
GRUB2でパーティションを指定する際には、「hdディスク番号、パーティション番号」のように指定する。ディスク番号は、0から、パーティション番号は1から数える。

unmountを実行し、使用中であるbusyで表すエラーが表示されたとき、考えられる原因として、アンマウントしているファイルにユーザーがアクセスしていることと、そのプロセスが実行されていることの2つが挙げられる。
コンユータ上で、テキストファイルをあつかうさいには、改行コードを意識する必要がある。異なる改行コードが書かれたテキストを実行しようとすると、「'¥r'が見つかりません」と表示される。


Linuxがハードディスクから正常に起動できなくなった場合、インストールDVDを用いて、レスキューモードで起動をしたり、ハードディスクないのログを確認する。

Linuxのパーティションには、最低限、ルートパーティションと、スワップ領域を作成する必要がある。

/usrディレクトはシステムの起動に必須ではないプログラムやライブラリが格納されています。

システム起動時に最初に実行されるUnitは/etc/sytemd/system/default.target

ブートローダは、カーネルと初期RAMディスクの内容をメモリ上に展開し、 カーネルはメモリ上に展開された初期RAMディスク内の、ファイルシステムへのアクセスするために必要なドライバやスクリプトを使用して、ルートファイルシステムをマウントする

ディレクトリ配下に作成したファイルやディレクトリの所有グループを親ディレクトリと同じにするには、SGIDを設定する。chmodコマンドで通常のパーティションの値に2000を加えた値を設定するか、g+sを入力する。
プログラムをどのユーザーが実行しても、プログラムを所有するグループの権限で実行されるようにするにはSGIDを設定する。
Linuxをサーバーとして、動作させるにはランレベル3を指定する。

システム起動時にブートローダからカーネルに渡されたパラメータが確認できるファイルは、/proc/cmdline コマンドの標準小力を、標準エラー出力にリダイレクトする場合は、1>&2を使用する。
>はファイルへの上書き。>>は追記になる。

fgrepコマンドは、正規表現ではなく、固定文字列として判断するので、'a|b'とか通用しない

マウントオプションとして、defaultを指定すると、
async 非同期で入出力を行う。
auto  mokunt-a コマンド実行時にマウントする。
dev
exec バイナリの実行を許可
nouser  一般ユーザーのマウントを禁止
rw  読み書きを許可
suid  SUID(r-w--みたいなやつ)とSGIDを有効化
が設定される。

ディレクトリのハードリンクは作成できない(ファイルのハードリンクのみ)

GRUB Legacyの設定ファイルboot/grub/menu.lst、ディストリビューションによっては、/boot/grub/brub.conf
シンボリックリンクは、lsコマンドで確認すると、パーティションの先頭に"l"が表示される。

SUIDを設定するためには、パーミションの値に4000を加えてた値を設定する。
SGIDを設定するためには、パーミションの値に2000を加えてた値を設定する。
スティッキービットを設定するには、パーミションの値に1000を加えてた値を設定する。

nice値を省略してコマンドを実行すると、優先度は10になる。

検索パターンを正規表現ではなく、固定文字列として扱うには、-Fオプションを併用するか、fgrepコマンドを使用する必要がある

エラーの出力先をファイルにするためには、2>>か2>を入力する。

systemdが稼働するシステムにおいて、システム起動時に最初に実行されるUnitは「/etc/systemd/system/default.target」
それを変更するためには、systemctl set-defaultを実行する必要がある。

partedを使用して、あたら石ハードディスクのパーティションテーブルの方式をGPTに変更する
parted/dev/sdb -s mklabel gpt
systemdが動作するシステムにおいて、起動時に最初に実行されるUnitは「/etc/systemd/system/default.target」 systemedランレベル

ジャーナリングシステムを使うと、ログが簡単にとれるので、障害の際の普及に役立つ

killコマンドのシグナルを指定しない場合は、TERM(クリーンアップして終了)が選択される

GRUB2の設定ファイルは、/bbot/grub/grub.cfgだが、これを直接編集することはなく、/etc/default/grubファイルに記述してコピーする
その中に記述うするもの。↓
menuentry メニューに表示するエントリ名の指定
inmod ロードするモジュールの指定
環境変数PATHの定義は、ログインシェルで行うのがよい。
全ユーザーがログイン時に参照するファイルはetc/profile

bash環境において、envコマンドは、環境変数をsetコマンドは,シェル変数と環境変数を表示せる。

whileやfor文において、繰り返しの部分はdo~doneないの処理になる。

viコマンドで読み取り専用のファイルを開く。 vi -R

ifの条件指定には、testコマンドを使用するのが一般的。

指定したシェルでスクリプトが実行されるようにするには、スクリプトファイルの1行目に#1を記述する。

Xクライアントが起動するとき、利用するサーバーは環境変数DISPLAYによって指定できる。

x.Orgでキーボードの定義をするには、xorg.confInputDeviceに定義する必要がある。

Linuxのログイン方法は、テキストベースグラフィカルログイン(普通のデスクトップ)がある。
グラフィカルログインを有効にするには、systemctl enable gdm.serviceコマンドを実行する。

ユーザーの所属するグループやホームのディレクトリを変更するには、usermodコマンドを使用する。

crontabファイルは var/spool/cronディレクトリ以下に格納する。

問い合わせ先のNTPサーバーはserverパラメータで指定する。

rsyslogの設定は、/etc/rsyslog.confで行う。

systemdのログを閲覧するには、journalctlコマンドを使用する必要がある。

メールのキュー情報を確認するには、mailqコマンドを実行する。
aliasコマンドを一時的に無効にしたい場合は、コマンドの前に"\"を入れる。

よく利用される環境変数

PATH   コマンドやプログラムを検索するディレクトリリスト
PWD    カレントディレクトリ
HOSTNAME ホスト名
USER   現在のユーザー
LANG   ロケール(言語処理方式)
HOME   カレントユーザーのホームディレクトリ
LOGNAME  ログインシェルのユーザー名
PS1    プロンプトの表示文字列
PS2    複数行にわたる入力時のプロンプト
HISTSIZE コマンド履歴の最大値
HISTFILE コマンド履歴を格納するファイル
TERM   端末の種類

スワップ領域

スワップ領域は物理メモリの+2GBとる。*2GBまでは、倍とるようにする(1GBだったら2GB)

MBR

1段階のブートローダは通常MBRに格納されている。 MBRはHDDの先頭セクタのこと。512バイトという制約がある。

ext2/ext3/ext4ファイルシステムでは、デフォルトでファイルシステム全体の5%分の領域がrootユーザ用の予約領域として確保される。

リダイレクト演算子

<<  終了文字があわられるまで、コマンドの標準入力を続ける。

sortコマンド

テキストファイルの行を並び替える。
-f --ignore-case 大文字/小文字を区別しないで並べ替える
-V --version-sort 自然な(バージョン)数字順で並べ替える
-n --numeric-sort 文字列を数値と見なして並べ替える
-h --human-numeric-sort 人が読むことのできる形式の数値で並べ替える(例:2K、1Gなど)
-g --general-numeric-sort 一般的な数値として並べ替える
-M --month-sort 月名で並べ替える(不明、JAN……DECの順)
-d --dictionary-order データが空白と英数字のみ含まれていると仮定して並べ替える
-b --ignore-leading-blanks 先頭の空白を無視して並べ替える
-i --ignore-nonprinting 表示可能な文字だけを対象に並べ替える
-R --random-sort キーのランダムハッシュ順に並べ替える
--random-source=ファイル ランダムソースのファイルを設定する
--sort=指定 並べ替えの方法を指定する(general-numeric、human-numeric、month、numeric、random、version)
-r --reverse 逆順で並べ替える
-k 指定 --key=指定 場所と並べ替え種別を指定する(「-k 2」なら2列目、「-k 2n」なら2列目を数値として並べ替える。複数指定する場合は「-k」オプションを複数回指定する)
-t 文字 --field-separator=文字 フィールドの区切り文字を指定する(デフォルトは空白文字)

mountコマンド

オプションを指定しないと、現在マウントされているファイルシステムの一覧を表示する。

指定なしのviコマンド

空のファイルが作成され、編集が終了するときに名前をつける。

ダウンロードとインストールの違い

ダウンロードは、ネットから持ってくること。
インストールは、ダウンロードしたものを展開すること。
apt-get -d はダウンロードのみして、インストールを行わない。

duコマンド

ディスクの使用量をディレクトリごとに集計して表示するコマンド
-sオプションは各引数の合計のみを表示、
-cオプションは引数に指定したディレクトリのデータ量を表示します

tailコマンド

ファイルの最終行から10行表示する。
tailは"尾"という意味

rpmコマンド

-qf rpmコマンドで指定したファイルがどのパッケージからインストールされたかを表示するオプション

odコマンド

バイナリファイルを8進数や16進数で表示するコマンド。

ルートファイルシステム

単に最上位にあるファイル。 ルートディレクトリが位置しているのと同じディスクパーティションに含まれるファイルシステム fsck -Pでチェックできる。

findコマンドでディレクトリを対象として検索するオプション

type d

mkdir

ディレクトリ作成(ファイル作成)

cpコマンド

コピーするコマンド。
-a 全てコピー
--preserce パーミション、所有者、タイムスタンプをコピー。これに項目を追加できる。--preserce = links リンクも追加。
--attribute-only 属性のみコピー。 -d シンボリックリンクもコピー -t --target-directory  コピー先のディレクトリを指定するオプション。

xz

圧縮プリセット
-0 ~ -9まである。デフォルトは6
-T ==therads=NUM スレッドの使用する数を設定する。

rmdir

からのディレクトリのみを削除する。

updatedbコマンド

locateコマンドが利用する検索用のデータベースを更新する。 

設定ファイルは、/etc/updatedb.confにある。

apt-cacheコマンド

Debian形式のパッケージ情報の検索・参照を行うコマンド。

サブコマンド
search ... ...を含むパッケージを検索。
show ... 指定したパッケージ情報の表示
showpkg ... 指定したパッケージの非依存関係を含めた情報の表示。
depends ...  指定したパッケージが依存しているパッケージの一覧表示。

仮想マシン同士で重複してはならないもの

IPアドレス
UUID
マシンID
SSHホスト鍵

teeコマンド

標準入力の内容を、標準出力とファイルの双方に出力する。
『T字のように双方に出力する』と覚える。

iddコマンド

あるプログラムが必要としている共有ライブラリを表示するコマンド。

パーティションの方式

MBR 基本パーティション数 4。ハードディスク容量2.2TB。起動システムBIOS
GPT 基本パーティション数 128。ハードディスク容量9.4ZiB。起動システムUEFI

すべて圧縮

-r 再起的に圧縮を行う。

gzip -c 元ファイルを残して標準出力に出力。

マウントについて

mountコマンドを使う

オプション
async 非同期で入出力を行う
-a 指定したもののディレクトリ含め全てマウント
-auto -a実行時にマウント
-noauto -a実行時にマウントしない。

grep

ファイルの中から文字列を検索する。正規表現(*,+)を使う。
-c 見つかった行数を出力
-f ファイルから検索パターンを読み込む。
-n  検索結果+行数

fgrep 正規表現を使わない。
egrep 拡張正規表現を使う。

mkpart

対話モードでパーティションを作成する場合のコマンド
-s --script 対話モードなし

teeコマンド

入力した内容と画面をファイルに出力する。
-a 上書きせず、追加する。
-i 割り込みシグナルを無視。

インストール元のパッケージを検索する場合

dpkg -S(--search)

優先順位の変更

  renice 20 -p プロセス値
-p 引数にプロセス値を取る。
-g 引数にプロセスグループIDをとる。

tarコマンド

tarファイルを作ったり、展開したりする。

Idconfigコマンド

編集した中身を他のドキュメントに反映させること。

joinコマンド

共通のフィールドを持つ行を合体!

-j 共通するフィールドを選択する。
例 join -j 1 text_01 text_02

text_01
1
2

text_02
1 たまご

partedコマンドでパーティションを作成する

1、パーティションテーブルの指定 (mklabelコマンドで指定) 2、パーティションの作成(mkpartでパーティション作成) w

ddコマンド

if(入力ファイル)オプションに「/dev/zero」を指定すると、全データがnullであるファイルが作成される。 of(出力ファイル)オプションのデータが上書きされる。

udev

デバイスを検知した時どうするか設定してあるディレクトリ。 デバイスファイル作成時の動作は/etc/udev/rules.dディレクトリに配置された設定ファイルに記述された情報に基づいて行われる。

pasteコマンド

複数のファイルを行単位で連結させるコマンド。
例 text_01
1
2
3

text_2
りんご
アップル
apple
 
text_3
$200
$300
$400

paste text[01-03]
1 りんご $200
2 アップル $300
3 apple $400

論理パーティションは12

Linuxで作成できる論理パーティションは12個

cp -b バックアップを取る(コピー先に同じ名前があった場合、~2,~3をつける。)

tarコマンド

-t アーカイブファイルの内容を一覧表示
-J xzを通して圧縮/展開
-j bzipを通して圧縮/展開
-z  gzipを通して圧縮/展開
-v  処理の詳細情報を表示

inode

ファイルシステムにおいて、ファイルの属性(情報)を格納するもの。ファイルとは別の場所にあり、対応するinode番号がある。 動的inodeはXFS・JFSのファイルシステムの機能。

fgコマンド

バックグランドで動いているシステムをフォアグランドで処理させる。 普通は引数にジョブ番号を指定するが、引数を指定しない場合、直前にバックグラウンドで処理されたものが指定される。

DMA

ダイレクトメモリアクセス
コンピュータシステム内でのデータ転送方式の一つ。CPUを介さずに周辺機器やメモリなどの間て直接データ転送を行う方式。

任意の日数にアクセスされたファイルやディレクトリを検索する

find -atime ... grub.cfg は update-gurb(update-grub2) コマンドで自動生成されます。

mediaディレクトリ

リムーバブルメディアのマウントポイント。USBを挿したらどこのディレクトリに設置されるか

スーパーブロック

ディレクトリシステムの情報が書いている、ファイル。 yumdownload yumコマンドでインストール・更新しているパッケージをrpmパッケージとしてダウンロードするためのコマンド。 xfs_repair -d 危険な修復。読み取り専用でマウントされたファイルシステムを修復できるようにする。 xz -z --threads=0 test.txt    -zは圧縮を強制、--threadsは指定したスレッドを使用するオプション。0を指定するとプロセッサコア数と同じ数のスレッドを使用します。 find で複数の条件を指定する場合、-andを利用する。 history -n まだ読み込まれていない行を表示する。 history -r  履歴ファイルを展開。 history -d 指定した番号の履歴項目を削除する(ハッキングとかに使えそう)

環境変数とは

ユーザーの好みの動作を記録しておいたり、特定のソフトの実行に必要な情報を保持したりする。 freeコマンドで、サイズを1000でなく1024の累乗で表示するオプションは --si

tarコマンド

tarファイル =  アーカイブの一種。 オプション -A 2つのtarファイルを合体させる -c tarファイルを作る -d tarファイルの中身と実際のファイルを比較する -r tarファイルにファイルを追加する -t tarファルの中身を表示する -u tarファイルの中身より新しいファイルのみtarファイルに追加する -x tarファイルを展開する -C【ディレクトリ】 【ディレクトリ】に移動してからtarファイルをあれこれする -f【tarファイル名】 【tarファイル名】に対してあれこれする -j bzip2形式で圧縮/解凍する -p ファイルのパーミッション情報を保持する -v 処理したファイルを画面に表示する -z gzip形式で圧縮/解凍する 例
tarファイルの作成 tar cvf
tarファイルの追加 tar rvf
tarファイルの中身を表示 tar xvf
tarファイルの展開 tvf

uniqコマンド

重複している行を取り除くコマンド。並べ替えができている前提なので、sortコマンドを使用しておく必要がある。

オプション
c --count 各行の前に出現回数を出力する
-u --unique 重複していない行だけを出力する
-d --repeated 重複した行だけを出力する
-D --all-repeated 重複する行を全て出力する(「--all-repeated=prepend」または「separate」で、区切りに空白行を出力)
-i --ignore-case 比較時に大文字と小文字の違いを無視する
-w N --check-chars=N 行の比較を最初のN文字で行う
-s N --skip-chars=N 最初のN文字を比較しない
-f N --skip-fields=N 最初のN個のフィールドを比較しない
-z --zero-terminated 最後にNULL文字を出力する

プロセスを中止させるには

killかkillallコマンドでINTシグナルを送信する
Cntrl+C

/sbin

かなり曖昧な使い方をしているので注意する。
コンピュータ管理者が用いるバイナリファイルを格納するディレクトリ。システムコマンドの置き場、ファイルシステムの確認ができる場所。

/etcは設定ファイルの格納場所。

ブートローダ

ブートローダ

BIOSやEFI = プライマリブートローダ
OSを起こすやつがセカンダリブートローダ

grepコマンドで、 ^ と $をつけると、-xと同じ結果になる。(行全体で一致させる)

MBR(マスターブートレコード)

パソコンが起動して、最初に読むハードディスクの場所。この場所の512バイトがプライマリブートレコーダ

環境変数 PS1

PS1は、プロンプト(表示)を変更させるもの。
PS2は、プロンプトが複数行になった時にどうやって表示するのか設定されている。

対話モード

partedやfdiskは、デフォルトで対話モードが有効。

parted -s 対話モードを無効に。

bashシェルのコマンド(ショートカット)

C = Controlキーってことで。
A = Altキーってことで。

C-A beginning-of-line 行頭へ移動
C-E end-of-line 行末へ移動
C-F forward-char 1文字進む
C-B backward-char 1文字戻る
A-F forward-word 1単語進む
A-B backward-word 1単語戻る
C-L clear-screen 現在行を残して画面をクリアする。
人に説明するときは多用すると見やすいです。

# 履歴操作
C-P previous-history 1つ前に実行したコマンドを挿入する。
C-R reverse-search-history コメンド履歴を検索
M-p non-incremental-reverse-search-history コマンド履歴を検索
M-. yank-last-arg 直前のコマンドの引数を入力

# テキスト処理
C-d end-of-file EOF(End Of File, ファイルの終端)を入力する。
※コマンドラインに何も入力していない状態でやるとターミナルが終了する。
C-d delete-char コマンドラインに文字列を入力途中の場合、1文字削除する。Deleteキーと同じ。
C-v TAB tab-insert タブを挿入。
Terminalでもタブを挿入できる。使い道はない。
C-t transpose-chars カーソル前後の文字を入れ替える。カーソルが行末にある場合、最後の2文字を入れ替える。
M-u upcase-word 単語を大文字にする。
M-l downcase-word 単語を小文字にする。

# コピーペースト
C-k kill-line 行末まで削除
C-u unix-line-discard 行頭まで削除
M-d kill-word 次の単語削除(単語の最後まで削除)
M-Rubout backward-kill-word 前の単語削除(単語の最初まで削除)
C-w unix-word-rubout 前の単語削除(スペースで区切られているものを単語とする)
# 他
C-_ undo やり直す

yumコマンド

yumコマンドでキャッシュしているファイルを全て削除するサブコマンドは yum clean all

dpkgでパッケージの情報を表示する場合のオプション -s --status

セカンダリブートローダ

boot/sysroot コメントや要望があれば、下記のツイッターにDMをください。