昨日の記録をつけ忘れていたので、今日は2日分まとめて記録をつけています。
第9は2018年7月11日、第10〜12は7月12日ですね。少し昔にわけもわからず使っていたコマンドをそれぞれ詳細に解説してくれるので、楽しいです。
ガンガン進めて終わらしましょう。LPIC自体の受験はどうしようかな・・・。3万円か・・・。
## lpic対策授業9回目
環境変数PATHとは?
外部コマンドについて影響を与える。変数PATHは「このコマンドはここにあるよ!」ということを教えてくれる。
ディレクトリの候補をリストとしてあげる。上記のコマンドでキレイに一覧にして見ることが可能。
$ echo $PATH | sed ‘s/:/\n/g’
/home/xxx/bin
/home/xxx/.local/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
こういうリストを上から順に見ていって、コマンドが入っていれば実行される。
追加したかったら、以下のコマンドを叩く。(直接代入してしまうと、上書きされるので、追記した情報を代入する。)コロンでディレクトリを区切る。
PATH=$PATH:/user/local/bin
## ライブラリ
静的ライブラリ。
関数のようなもの。使う側としては、どちらでもよいが・・・。
### staticライブラリ
### Dynamic Sharedライブラリ
共有ライブラリ。
プログラムを実行したときに呼び出す。
## LDDコマンド
$ ldd /bin/bash
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5
左側がライブラリ。右側がその場所。右側がない場合はNot Found。
一番下のld.soがリンカー。
コマンド実行→ld.soがロードしに行く→環境変数(LD_LIBなど)→キャッシュファイル(ld.so.cache)→ld.so.conf
$ cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
ライブラリの環境変数PATHバージョンみたいなもの。ライブラリの場所を示しているものと考える。ライブラリが見つからない場合は、拡張して場所を示してやる必要がある。
## lpic対策授業10回目
### パッケージとは?
パッケージ→設定ファイルや実行プログラム、ライブラリなどなどを一つにまとめて使いやすくしたソフトウェア
→必要なものがまとめられているソフトウェア!
通常ソフトウェアのインストールはコンパイル、ビルド、ライブラリへのリンクなどめんどくさい!→パッケージなら簡単にインストールできる。
### パッケージの依存関係とは?
ソフトウェアを動かすために必要なライブラリ。
例えばpostgreSQLを利用するためにはpostgresql-libsというライブラリが無いと動かない。
### パッケージマネージャとは?
いつどんなパッケージをインストールしたのかとかを管理するもの。
-
名前
-
バージョン
-
サイズ
-
ホスト名
-
インストール日時
・・・など。
「ドキュメント、ライブラリ、マニュアルなどがどのディレクトリに保存されたのか?」ということを覚えてくれたりもするので、これまた便利。
### 具体的なもの(YUMやAPT)
こういうのがあるよ。
-
パッケージ操作コマンド
Yellowing Updater Modified やAdvanced Packaging Tool
rpmやdpkg→linuxの種類によって使うものが違う。使い分けないといけないので、ちょっとめんどい・・・?
Debian→apt dpkg→拡張子deb形式
redhat(centosとか)→yum rpm→拡張子rpm形式
-
パッケージ情報データベース
-
リポジトリデータベース
### rpmコマンド。実際に使ってみよう。
コマンドも色々ある。
–> Finished Dependency Resolution
Dependencies Resolved
=====================================================
Package Arch Version Repository
Size
=====================================================
Installing:
zsh x86_64 5.0.2-28.el7 base 2.4 M
Transaction Summary
=====================================================
Install 1 Package
依存関係を自動でチェックしてくれる。さらに解決して、あれば自動でダウンロードしてくれる。
上記は依存関係があるファイルはなかったので単純にインストールしてるもの。
コマンドもいろいろある。
yum updateで勝手にインストールされているものすべてを最新にしてくれる。
/etc/yum.confが設定ファイル。
さらに、yum.repos.dリポジトリへのアクセスを定義している設定ファイルなんかがある。
root@schoo-centos yum.repos.d]# ls
CentOS-Base.repo CentOS-Media.repo
CentOS-CR.repo CentOS-Sources.repo
CentOS-Debuginfo.repo CentOS-Vault.repo
CentOS-fasttrack.repo
yumのほうが全体的に便利。
依存性あるファイルも勝手に持ってきてくれる。
ダウンロードのみも可能。
あとは設定ファイルを設定することが可能。リポジトリへのアクセス定義をしている設定ファイルも。
search,update,downloadなどのサブコマンドもある。
コマンドを一つ一つ説明しながら実演してくれるので、わかりやすいね。
## 第12回目
### プロセスとは?
プロセスについて。停止、実行方法などなどについて。
子プロセス、親プロセス。
### スケジューリングとは?
本来シングルタスクのコンピュータをそれぞれ(人間にわからないほど)すばやく順番に切り替えて処理することで、マルチタスクに見せている。
Nice値とは-20から19の値でそれぞれのプロセスに割り当てられた値。優先度を表す。コマンドnice、reniceを使い、変更することができる。
1つのジョブは複数のプロセスによって成り立っている。
ls→1つのプロセス
ls | less →2つのプロセス。1つのジョブ。
フォアグラウンドとバックグラウンドの違い。
普通のコマンドを売って実行するとフォアグラウンドで処理する。
ctrl+zでサスペンドすると、そのジョブはバックグラウンドへ移行する。
ってことでめちゃくちゃやってます。
コメント