Linuxのインストールとパッケージ管理（ハードディスクのレイアウト設計・ブートマネジャー・共有ライブラリの管理・Debianパッケージ管理の使用・RPMS及びYUMパッケージ管理の使用）

##ディレクトリのまとめ
/sbin　管理者用のコマンドを格納する
/bin 一般ユーザ用のコマンドを格納

/opt 追加でインストールしたパッケージを格納（容量が大きくなる可能性がある）ディレクトリにはLinuxのインストール後に追加のパッケージ（ソフトウェア）やプログラムが格納されます。ディストリビューションによっては存在しません。
容量が大きくなる可能性がある場合は、ルートパーティションとは別のパーティションを割り当てた方がよいです。

/var ログファルやメールなど可変ファイルを格納する→書き込みが

![名称未設定.png 111.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620109/7f87a26c-2222-dd66-0f1d-38f1d84f17fa.png)

/lib 共有ライブラリを格納

/dev　デバイスファイルを格納
/boot　リナックスカーネルなどのシステムを起動するために必須のファイルを格納する

/tmp ディレクトリは一時的なファイルを格納するディレクトリで、あらゆるユーザが書き込むことができます。また格納されているファイルやディレクトリは再起動すると消去されます。
一時ファイルが増えることがよそうされる時はこれ。容量オーバーなどの被害を抑えることができる。

/home Linuxをインストールする際にパーティションを設計する必要がある。全てのディレクトリをパーティションに収めることもできるが、ディレクトリの用途に応じて特定のディレクトリを別のパーティションに割り当てる。/homeはユーザのファイルが設置される。利用ユーザが多い場合には頻繁に書き込みが発生するので障害に備える理由から、/homeはルートパーティションとは別のパーティションを割り当てるのがいい。




パーティションから分割できるディレクトリは
/home,/usr,/var,/opt
/tmp,/boot

##LVM
物理的な記憶デバイスの領域（物理ボリューム）をまとめ、論理的な一つの大きな記憶デバイスを作り、それを切り出して仮想的なパーティションを作る事ができる。それで物理的なパーティションの制限をクリアする事ができる。
より柔軟な記憶領域の管理が可能になる。
スナップショットOK



##論理ボリュームを作成する手順=LVMのこと
複数のハードディスクやパーティションにまたがった記憶領域を論理的なディスクとして扱うことができる ディスクの管理機能

論理ボリュームを作成する際の主な手順は以下のとおりです。

・物理ボリューム(PV)の作成
pvcreateコマンドを使用して作成します。

・ボリュームグループ(VG)の作成
vgcreateコマンドを使用して作成します。

・論理ボリューム(LV)の作成
lvcreateコマンドを使用して作成します。

LVMには論理ボリュームへの変更前の情報を保持する「スナップショット」という機能もある。バックアップの対象をスナップショットにすることで、運用を停止することなく、安全にバックアップを行うことができます。

サイズの変更もかけることができる。

##スワップ領域について
物理メモリ（実メモリ）に収まらなかった情報を一時的に格納するための、通常ハードディスク上に作成する領域のこと。
HDDの上のあるので、物理メモリよりも動作は格段に遅くなる
スワップ領域は物理メモリと同じサイズもしくは2倍のサイズ。

##ldconfig
共有ライブラリのキャッシュファイル/etc/ld.so.chacheを更新するコマンドrootだけができる。
/etc/ld.so.chacheは共有ライブラリを検索するためのバイナリファイルです。

共有ライブラリの検索パスを設定する環境変数はLD_LIBRARY_PATHです。ldconfigでもOKだけど、（しかもrootじゃないとだめ）
環境変数の値はユーザ毎に設定できるため、一般ユーザが共有ライブラリの設定を行う際などに、環境変数LD_LIBRARY_PATHを利用します。


#ldd
共有ライブラリ＝複数のプログラムが共通しているライブラリのこと。
あるコマンドが必要としている共有ライブラリを表示するコマンドはlddです。

##apt-get
インターネット上ないしはメディア上のパッケージ情報のデータベースを使い、依存関係を調整しながら、パッケージのインストール・アンインストールなどを行えるコマンドです。
update　パッケージのデータベースを最新版に更新
upgrade　インストール済みの全パッケージのアップグレード
clean　　過去に取得したパッケージファイルを削除
remove パッケージ名　パッケージのアンインストール

##apt-chache
パッケージの情報、検索・参照をするコマンド
search　キーワードを含むパッケージを検索する。
show 　　指定したパッケージ情報の表示
showpkg 指定したパッケージの被依存関係を含めた情報の表示
depends 指定したパッケージが依存しているパッケージの一覧表示

※ちなみにapt-getやapt-chacheコマンドよりも高度で対話的なパッケージ管理ができるコマンドがある
→　aptitudeです！


##dpkg
Debian形式のパッケージのインストール・アンインストールなど、基本的なパッケージ管理を行うコマンドです。
/etc/dpkg/dpkg.cfgに設定ファイルが入っている

-i,--install　パッケージのインストール
-r,--remove　設定ファイルを残してパッケージをアンインストール
アンインストールとは、パッケージやシフトウェアをシステムから削除して、導入前の状態に戻すこと

dpkg-reconfigure　インストール済みのパッケージを再設定するコマンド　

-L,--listfiles 指定したパッケージからインストールされたファイルを一覧表示する
-l,--list　インストール済みパッケージを検索して表示する
-s,--status　インストール済みのパッケージの詳細情報の表示
-S,--search 　指定したファイルがどのパッケージからインストールされたかを表示
-P,--purge　設定ファイルも含めて完全にパッケージをアンインストール
-C,--audit インストールが中断しているパッケージの表示
-E 同バージョンはすでにインストールされていればインスールは行わない
-G 新しいバージョンがしでにインストールされていればインストールを行わない
-R　ディレクトリを再帰的に処理する

##YUM
 YUMツールの設定ファイルは/etc/yum.confになる
キャッシュやログファイルの保存先などの基本設定を行います。
パッケージの取得元(リポジトリ)は「/etc/yum.repos.d」ディレクトリ内のファイルで設定
→YUMツールを利用する際に使用されるパッケージの取得元を設定するファイルが格納されるディレクトリです

/etc/yum.conf」ファイルではキャッシュやログの保存先などの基本設定を行います。

yumdownloader　YUMツールにおいてパッケージファイルのみのダウンロードのみを行う

##yumコマンド
インターネット上、ないしはメディア上のパッケージ情報のDBを使い、依存関係を調整しながらパッケージのインストール・アンインストールを行えるコマンド

search　キーワード　指定したキーワードでパッケージの検索をかける
grouplist パッケージグループの一覧表示
remove 　　パッケージのアンインストール
check-update　アップデート可能なパッケージの表示
info　パッケージの詳細情報の表示
groupinstall パッケージグループのインストール
list パッケージの一覧表示、バージョンとインストール済みかどうか

uodateだけで、パッケージを指定せずに実行した場合にはアップデート可能な全てのパッケージをアプデする。

##rpmコマンド
パッケージのインストールとアンインストールなど基本的なパッケージ管理を行う
-i,--install　パッケージのインストール
ーh、ーーhash　　進行状況を＃で表示する
＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃[100%] みたいな感じ

-q,--query 指定したパッケージがインストールされているかを照会
-c,--configfiles 設定ファイルの一覧表示![名称未設定.png 12345.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620109/6ace117f-bc8a-818f-4a95-2e7bb6977824.png)

-p,--package     照会対象をパッケージファイルとする
-i,--info　指定したパッケージの詳細情報を表示する
-l,--list　指定したパッケージに含まれるファイルの指定
-a,--all インストール済みの全パッケージの表示
--changelog　指定したパッケージの変更履歴の表示
--test 実際には実行せずにテストを実施する
-v　詳細情報の表示
-V,--verify　パッケージの検査をする
併用のオプションは-a,--allと--nomd5のみ。
↑検査内容はファイルのサイズ、MD５チェックサム、所有ユーザ、所有グループ、タイムスタンプ

-e,--erase　パッケージのアンインストール
--nodeps　依存関係を無視
-U　　パッケージのアップグレード、なければインストール
-F   パッケージのアップグレード、なければインストールはしたくない

![名称未設定.png 1234.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620109/63bc261a-d953-e554-9e8c-0c5a0b8fba71.png)


![名称未設定.pngっっふ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620109/017410ed-d085-f9f1-41f6-1d8e986a161a.png)



##rpm2cpio
RPM系パッケージをcpio形式のアーカイブに変換するコマンドはrpm2cpioです。
アーカイブとは、複数のファイルやディレクトリを1つにまとめたファイルのことです。

##パーティションの設計について
「/var」ディレクトリは書き込みが頻繁に発生するため、高速に書き込みできるディスクに割り当てるとよいでしょう。
/etcはシステムの起動に必要なディレクトリであるため、ルートパーティションから分割できません。