1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

LPIC学習 第二章 Linuxのインストールとパッケージ管理

Posted at

##2.1 ハードディスクのレイアウト設計

パーテーションとはハードディスクやSSDの役割分担をすること。
なぜパーテーションが大事なのか
1.一個死んでも一個生き残る
2.分割しなかったら、全てを再インストールしなければならない。その分の設定もしなきゃいけない。
3.キャッシュの逃し場所を使うと、早くなる。
 ぜんぶぐっちゃってなっている戸棚よりもみつけるのが楽なはず。

そもそも速攻使う容量は、メモリーを使うが、メモリーはちょっとしかないので
捌け口として、ハードディスクがいる。
*最低限必要なのは
①ルートファイルシステム
 PCに絶対必要なファイル
######②スワップ領域(物理メモリの1から2倍)
 メモリーが足りなくなった時の仮置き場
*独立して作っといた方がいい
/home それぞれの一般ユーザーが使うファイルが入ってる。私物が混じらんように独立させよう
/var ログとかメールとか更新頻度が高いものを入れておこう
/usr(eないよ!!)プログラムとかライブラリとか
#####/boot 起動するときに使う(100MB)

これは分けといた方がいいよ。(詳しく)
1./home ユーザーが実際使うところ。こんなところにルートファイルとかおいて消されたら最悪
2.varログとかメールとか更新頻度が高いもの。varだから、変数みたいに、変わるという意味なのかな?
ログとかたまりきっちゃって、ルートファイルシステムに放置してると、容量くっちゃうよ。
→使うところは身軽にしなきゃね。
3.user
プログラム、ライブラリ、ドキュメントが入っている。
ということは、、/userをまるまる読み取り専用にして、セキュリティをたかめる。
g.bootやefiなどの起動時に使うシステム
言わずもがな
5.スワップ領域 大体メモリの1から2倍くらいかな
 一部をメモリーが足りない時に仮置き場として使う。

##2.1 パーティションのレイアウト設計
例)20GBのHDと512MBのメモリー
スワップ 512MB*メモリーと同じくらいの容量
/boot 100MB
/usr 10GB
/var 10GB
/home 180GB
/ 15GB

*そもそもわかりずらい物理的、論理的、仮想敵の意味
 ざっくり、、物理的→見える 論理的→見えないけど計算上 仮想的に=目に見えない(実態のない)

 1つのハードディスクがあるとする。ハードディスクを2分割したい。
 アナログ人間の人はCDをペキって2つに割ろうとします。。。。。。
 いやいや、そんなことしなくても、パーテーションを設定すればハードディスクを2分割出来ます。
 人間様からみたら、ハードディスクは1個だけど、コンピューター的には2個あるよって認識してくれ
 たの。コンピューターが認識している、デバイスの数の単位を2VGって呼ぶことができますなの。
 コンピューター的に2個、人間様から見たら一個。これが、物理的(ナイフでぶったぎっる)ではなく論理的(計算上)に分割されたってこと。
 例)100GBのハードディスクが50GB❌2のハードディスクに分身しました!
→こんな論理的な管理の仕方はLVMとよばれる

##2.2ブートローダーとインストール

ブートローダーは、OSを起こして、PCを起動する準備をする役割!

スイッチオン→電気が回る→まずBIOS(UEFI)が起こされる/BIOSはROMチップ常にある→bootが起こされる→bootがOSを叩き起こしてログインまでの起動の準備を行う

ブートローダーも色々ある
①GRUB (GRand Unified Bootloader)
インストール方法:grub-install /dev/sdaコマンド

設定ファイル:ここに設定について書いてある。起動したときどんな画像使うの。。?とか
glub legasy*boot/grub/menu.lst(古い)
grub2(新しい)*/boot/grub/grub.cfg

🌟GRUBの一種 でも上流のメンテナンスがあるから、残念ながらサポート打ち切られてる
だから最近はgrub2が使われてるよ

grub2の設定場所
boot起動時のオプション指定(OSを起動する前に設定することができる)

ブートオプション一覧
*起動+E
*root=デバイス ルートパーテーションとしてマウントするデバイス
*nousb USBデバイスを使用しない
*single シングルユーザーモードで起動
*1~5好きなランレベルで

##2.3共有ライブラリ管理
ライブラリって何?
 よく使う機能をまとめて置いてある機能
 実物は、ファイルがあって、そこに関数が色々まとまって置いてある。
 本をイメージすると良い。覚えるのが難しーいマニュアルが書かれているから、必要なときに取り出す。
 
 静的ライブラリはコンパイル(機械の言葉に変えて、新しいファイルを作る)
 ライブラリの関数を呼び出して、機械語で関数の実行するところでコンパイルしたファイルに書く。
 ライブラリを図書館で例える。英訳で発表する資料を作ってくれ。
そしたら、発表する前に、暗記してしまおう。
 動的ファイルは、逆に実行する度に、関数を呼び出そう。
 だから、実行ファイルには関数の中身は書いてない。呼び出してねー。って書いてあるだけ。
 発表の時わざわざ暗記するのは嫌だから、本を持ってきて、本の内容をまる読みするイメージ。

よく使う言葉として
リンク
 ライブラリの関数を呼び出して使用すること
静的リンク
 コンパイル時埋め込む
動的リンク
 実行時に呼び出す
共有ライブラリ
 ダイナミックリンクにて呼び出されるライブラリ
 置き場 lib/または/usr/lib
ファイル名 libreadline.so.5

ライブラリを呼び出すときの流れ

ライブラリを呼び出す流れ
実行ファイルが欲しているライブラリファイルを調べるには
ldd /bin/catで調べられる
登場人物
 1.lb.so = リンカ実行の舵取り
2./etc/ld.so.cache = 共有ライブラリを探す係
  *バイナリデータです。つまり機械語書かれてるのでで俺らは何書いてるかわからん。
  *ldconfig -pコマンドで、人間がキャッシュを読むことができる。
3./usr/lib /lib ライブラリ置き場
 4.LD_LIBRARY_PATH 他に調べてほしいディレクトリパスを格納しておく変数
 5./etc/ld.so.conf 他に調べてほしいディレクトリパスが記入されたファイル
 *4と5は閲覧する優先順位が4の方が早い
流れ
①実行ファイル実行
②lb.soが/etc/ld.so.cacheに共有ライブラリを探させる
③LD_LIBRARY_PATH、/etc/ld.so.conf,そのあと/usr/lib /libに書いてあるライブラリを順番に呼び出す

####2.4 Debianパッケージの管理
実行プログラム
設定ファイル
ドキュメント(写真や図、文章をまとめた資料)
この3つを一つにまとめたものをパッケージと言います

管理する形式はディストリビューションごとに異なり
*Debian形式
*RPM形式がある
この形式があるのだが

パッケージ管理システムがあると何のメリットがあるの?
*インストールするときに手伝いをしてくれるお節介である。
例)AパッケージがないとBパッケージが使えないよ(依存関係)
  AパッケージがあるとBパッケージが使えないよ(競合関係)っていうの教えてくれる

ちなみにダウンロードとインストールの違いは?
ダウンロードは宅配便で、パッケージを注文する
インストールはそのパッケージを組み立て実際に使えるようにしてくれること
*ウィルスソフトとか

あとインストールするのに大事なこと
動作環境に依存する
*ディストリビューション
*バージョン
*CPU
に対応したパッケージをダウンロードすること!

Debian形式

dpkgコマンド
dpkg -E 同バージョンがあればインストールしない
dpkg -G 新バージョンがあればインストールしない
dpkg -R 再帰的にインストール
dpkg -i パッケージをインストールする
dpkg -r(remove) パッケージを設定ファイル残してアンインストール
dpkg -P (purge 一掃するっていうやばい意味)設定ファイルを含めアンインストール
dpkg -i インストール済のパッケージを一覧表示

APT形式
Debianとだいぶやり方違うわ

apt-getコマンド(インストール)
①etc/apt/sources.listにパッケージの取得先のURLを記入する。
②apt-get installでインストール
③apt-get updateでアップデート
④apt-get remove でアンインストール

apt-catchコマンド(管理)
apt-catch searchで、今あるパッケージを調べられる

apt(両方)
apt update
apt -y upgrade
apt install

RPM形式
rpm -i インストール
rpm -U アップグレード
rpm -F アップグレード

rpm -e パッケージのアンインストール

*RPM方式でインストールする。rpm -ivhだと経過まで表美してくれる

rpm -q パッケージ情報の照会
rpm -qR パッケージの依存関係

rpm2cpioコマンド
パッケージをインストールしないで中身を見る

YUM パッケージ管理システムの一つ
yum check-updateコマンドで、インストール対象のパッケージリストの表示
主なコマンド
yum install
yum update
yum remove
yum info パッケージ情報を表示
yum list リポジトリにある全てのパッケージ情報
/etc/yum.conf
/etc/yum.repos.d

rmp形式のaptみたいなやつ

etc/yum.confと/etc/yum.repos.dディレクトリ

dnfコマンド

opensuse
cent OSみたいなもので、カーネルさんだけでは役目がたりないので、追加で入れソフト

zypperコマンド
opensuseで使うインストールとかのコマンド
例)zipper in とか
ざー
####2.6 仮想化のゲストOSとしてのlinux
クラウドサービスはざっくりいうと、もう一個パソコンを作ってしまうこと
クラウドサービスの提供者が物理サーバーを所持しているので
ネットワーク上で借りるようなイメージ

IaaS<PaaS<SaaSの順番で有能になっていく

クラウド上と今使っているPCの
*ホスト名
*SSH
*一般ユーザー
*インストールのパッケージ
この辺は異なった値にしなければならないが、初回時被ってしまう。

cloud-initにより、初期設定する
インスタンス作成後の初回起動時に1回だけ実行する

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?