📘

Linuxの基礎・勉強メモ

2020/12/11に公開

自分向けの勉強メモになります。

システム構成

  • カーネルはOSの中核となる部分。ハードウェアのリソース管理やメモリ管理、プログラムの呼び出しなどを行う
  • Linuxに付属しているシェルやPKG管理、コマンドなどはアプリケーションの1つ
  • GUIのデスクトップもアプリケーションの1つ
  • 多くのLinuxディストリビューションでは、PythonやRubyなどの実行環境も含めた形で配布されている

パッケージ管理ツール

  • パッケージ管理ツールとは…関連ライブラリや設定ファイルをまとめたもの
    • パッケージどうしの依存関係も記録
  • 公式リポジトリでパッケージを管理…自動で公式リポジトリからインストールしてくれる

例えばこんなパッケージ管理ツールがある

ディストリビューション パッケージ管理ツール
RPM Red Hat / Cent OS RPM Package manager
deb Debian Ubuntu dpkg / APT

Ubuntuの場合だとこんな感じ ⬇

# インストールされているパッケージを一覧で表示
apt list

# インストール 
sudo apt update # リポジトリからパッケージの名前やバージョン、依存関係を取得
sudo apt install パッケージ名
# 削除
sudo apt purge パッケージ名

Linuxのコマンドラインツール(シェルコマンド)

  • LinuxのOSを操作する(Kernelへのアクセスをする)ためにはシェルを使う
  • シェル自体は概念であり、実際はbashzshを使う

ディレクトリ構成

/	 	ルートディレクトリ
├	/bin	基本コマンド(実行可能なファイル)
├	/boot	起動に必要なファイル
├	/dev	デバイスファイル(ハードディスクや仮想端末などのファイル)
├	/etc	設定ファイル
├	/home(オプション)	ユーザーのホームディレクトリ
├	/lib	共有ライブラリやカーネルモジュール
├	/lib<qual>(オプション)	 
├	/mnt	一時的なマウントポイント
├	/opt	追加アプリケーション
├	/proc(Linux固有)	プロセス情報など
├	/root(オプション)	root用ホームディレクトリ
├	/sbin	システム管理用コマンドなど
├	/tmp	一時的なファイル
├	/usr	ユーザーが使用する各種プログラムなど(システム起動時には必要がないファイル)。
└	/var	変更されるデータ

分かりづらい部分についてもうちょっと説明

usrディレクトリ

パッケージをインストールするとこの中に入ることが多い。

  • /usr/binは一般ユーザーが利用するコマンド
  • /usr/libはusrのライブラリの保存場所。
  • /usr/localはシステム管理者用のローカルファイル

varディレクトリ

  • ログやキャッシュなどの動的なデータ(tmpと同じような役割をするが、こちらは再起動してもデータが残る)
  • /var/db:各ソフトで利用するデータベース情報

Discussion