Y がページ「Unix/Linux」を「Unix/Linux概要」に移動しました タグ: 新規リダイレクト |
|||
(同じ利用者による、間の64版が非表示) | |||
1行目: | 1行目: | ||
# | [[ファイル:unix linux.jpeg|thumb|Unix/Linux|300px]] | ||
'''Unix/Linux''' とは天下の「ベル研」エリート集団によって1969年から開発され続け、現代まで脈々と受け継がれてきた伝説的傑作OS/カーネル。仲良くなると人類最高部類のレバレッジ「CPU」を使って<strong>自分の能力を爆上げ</strong>できる。 | |||
Unix直系のBSDはUnix伝説ハッカーの [[Bill Joy|ビル・ジョイ]] によって、UnixクローンのLinuxはCPU溺愛ハッカー | |||
[https://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%BC%E3%83%8A%E3%82%B9%E3%83%BB%E3%83%88%E3%83%BC%E3%83%90%E3%83%AB%E3%82%BA リーナス] によって開発された。もともと「ハッカー」は「ずば抜けて優れた技術者」を意味し、「ハッキング」もソフトウェアやハードウェアを<strong>隅々まで知り尽くした技術者</strong>が行う洗練された行為を意味する。 | |||
==把握する城== | |||
[[ファイル:sakura_vpsos.png|thumb|さくらで利用可能なVPSプラン|500px]] | |||
サーバとスマホ両分野をカバーでき将来も明るいLinux、その中でも<u>文明の上流にいて世界的シェアも最高の「Debian系」</u>を把握運用すれば学習コスパを最大化できる。[[Linux御三家]]を参照。 | |||
===港マシン=== | |||
# minato:[[Debian]](石狩サーバ) | |||
===領内マシン=== | |||
# pi:Debian(サーバbackup用) | |||
# y-Pro:[[Darwin]](自宅管制室、VM実験ラボ) | |||
# y-Air:Darwin(どこでも開発/管制室) | |||
# y-Kali:[[Kali]](港マシン耐久テスト用) | |||
マシン内では沢山のプロセスやサービスたちが稼働しているので、自分の「城」の事をしっかりと把握し適切に管理することが大切。それらに加え追加で導入できるモジュール群(ソフトウェアツール群)もたくさん待機しているので導入モジュール(ソフト)の取捨選択も重要。<br> | |||
ちなみに、<u>本番環境で root 使って学習とか危なすぎる</u>ので、システムの挙動確認やテストは学習用港マシンか「[[VirtualBox]]」でやる。現に、y-COMEマシンで「dhclient」あたりのテストやってたらSSH動かなくなったし。 | |||
==ざっくり仕組み== | |||
===マシンの起動=== | |||
マザボ流電 → 付属BIOS流電 → メモリ/ストレージ流電 → GRUBなどブートローダ(靴の準備)メモリへ → OSデータをメモリへ → OS/マシンを起動 | |||
SO本体を人に見立てて起動プログラムのことを「靴の準備」とか表現してるあたりが秀逸。 | |||
===ストレージ新規追加=== | |||
# ストレージをマザーボードに接続 | |||
# <code>lsblk</code>。接続を確認 | |||
# パーティションの設計 | |||
# <code>fdisk</code>。パーティションを作成 | |||
# 各パーティションにファイルシステムを作成 | |||
# 作成したファイルシステムをツリーにマウント | |||
===パーテーション作り=== | |||
パーティションを分けることで、パーティション単位の効率的なバックアップや、ユーザ単位のディスク制限、ファイルシステム単位での障害修復が可能になる。ただ最近は昔と比べてストレージの質も高くクラウドにバックアップしたりするので出番は少ないかも。[[Linuxコマンド#パーティション管理 | パーティション管理コマンド]] 参照。 | |||
ちなみに日本語では「パーテーション」とか「パーティション」とか言葉に揺れがあってダメ。 | |||
{| class="wikitable" summary="パーティショニング" | |||
|- | |||
!パーテーション例 | |||
!説明 | |||
|- | |||
|/boot || 靴。ブートプログラム | |||
|- | |||
|/home || 自宅。容量が大きくなりやすく、バックアップ頻度も高い | |||
|- | |||
|/var || 柔軟。急激なファイルサイズ増大によるディスクフルなどの危険性を回避 | |||
|- | |||
|/tmp || 一時しのぎ。一般ユーザの無茶な利用などによる危険性を考慮 | |||
|- | |||
|/usr || 利用者。容量が大きくなる可能性が高い | |||
|- | |||
|/opt || オプション。容量が大きなアプリを追加で入れる可能性がある場合は独立パーティションに | |||
|} | |||
===ファイルの種類=== | |||
$ ls -l /dev/sda | |||
brw-rw----. 1 root disk 8, 0 9月 14 19:52 /dev/sda | |||
$ ls -l /dev/null | |||
crw-rw-rw-. 1 root root 1, 3 9月 14 19:52 /dev/null | |||
$ ls -l /dev/pts/0 | |||
crw--w----. 1 root tty 136, 0 9月 15 01:39 /dev/pts/0 | |||
$ ls -l /run/systemd/initctl/fifo | |||
prw-------. 1 root root 0 9月 14 19:52 /run/systemd/initctl/fifo | |||
* '''ブロックデバイス'''とは、典型的にはハードディスクやSSD、CDやDVDなどの光学ドライブ、USBメモリなど、ある程度まとまったデータ量(ブロック)を単位として読み書きする<u>ストレージ装置</u>が該当し、装置内にファイルシステムを形成することができる。入出力時にはメモリ上に設けられたバッファ領域を中継する。<br> | |||
* '''キャラクタデバイス'''とは、文字(キャラクタ)あるいは任意のバイト単位のデータを逐次的に入出力する装置。キーボードやマウス、シリアルポート、オーディオといった<u>時系列でデータを扱う装置</u>が該当する。<br> | |||
* '''パイプファイル'''は、FIFOという名前の通り「書き込んだデータをその順に読み込むことができる」特殊なファイル。シェルで command1 | command2 のようなコマンドでの実行を「パイプライン」と呼ぶように、この実行方法とも深い縁がある。「名前付き」のパイプファイルとして作成することもできる。 | |||
* '''SUID''':ファイル所有者としてファイルが実行される。<code>rw<u>s</u> r-x r-x</code> | |||
* '''SGID''':ファイル所有グループとしてファイルが実行される。<code>rwx rw<u>s</u> r-x</code> | |||
* '''StickyBit''':ファイル所有者のみファイル名の変更と削除ができる。<code>rwx rwx rw<u>t</u></code> | |||
* '''StickyBit-T''':実行権限が与えられていないファイルやディレクトリにStickyBitを設定すると「T」がつく。<code>drwx-wx--<u>T</u></code> | |||
==Unixコマンド== | |||
MacOSに収録されている Unixコマンドは100(/bin, /sbin)+1200(/usr/bin, usr/sbin)程度なので気が向いた時に「[[Unixコマンド]]」ページにまとめとく。 | |||
==Unix略語== | |||
昔はマシンリソースが貧弱で文字1文字を表示させるためのリソースさえも節約の対象だった。ゆえにUnix文化ではコマンド名などの命名にとても短い略語が使われている。 | |||
* ld.so = [https://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%B3%E3%82%B1%E3%83%BC%E3%82%B8%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF Linkage eDitor] Shared Object, |
2025年3月1日 (土) 08:24時点における最新版

Unix/Linux とは天下の「ベル研」エリート集団によって1969年から開発され続け、現代まで脈々と受け継がれてきた伝説的傑作OS/カーネル。仲良くなると人類最高部類のレバレッジ「CPU」を使って自分の能力を爆上げできる。
Unix直系のBSDはUnix伝説ハッカーの ビル・ジョイ によって、UnixクローンのLinuxはCPU溺愛ハッカー リーナス によって開発された。もともと「ハッカー」は「ずば抜けて優れた技術者」を意味し、「ハッキング」もソフトウェアやハードウェアを隅々まで知り尽くした技術者が行う洗練された行為を意味する。
把握する城

サーバとスマホ両分野をカバーでき将来も明るいLinux、その中でも文明の上流にいて世界的シェアも最高の「Debian系」を把握運用すれば学習コスパを最大化できる。Linux御三家を参照。
港マシン
- minato:Debian(石狩サーバ)
領内マシン
マシン内では沢山のプロセスやサービスたちが稼働しているので、自分の「城」の事をしっかりと把握し適切に管理することが大切。それらに加え追加で導入できるモジュール群(ソフトウェアツール群)もたくさん待機しているので導入モジュール(ソフト)の取捨選択も重要。
ちなみに、本番環境で root 使って学習とか危なすぎるので、システムの挙動確認やテストは学習用港マシンか「VirtualBox」でやる。現に、y-COMEマシンで「dhclient」あたりのテストやってたらSSH動かなくなったし。
ざっくり仕組み
マシンの起動
マザボ流電 → 付属BIOS流電 → メモリ/ストレージ流電 → GRUBなどブートローダ(靴の準備)メモリへ → OSデータをメモリへ → OS/マシンを起動
SO本体を人に見立てて起動プログラムのことを「靴の準備」とか表現してるあたりが秀逸。
ストレージ新規追加
- ストレージをマザーボードに接続
lsblk
。接続を確認- パーティションの設計
fdisk
。パーティションを作成- 各パーティションにファイルシステムを作成
- 作成したファイルシステムをツリーにマウント
パーテーション作り
パーティションを分けることで、パーティション単位の効率的なバックアップや、ユーザ単位のディスク制限、ファイルシステム単位での障害修復が可能になる。ただ最近は昔と比べてストレージの質も高くクラウドにバックアップしたりするので出番は少ないかも。 パーティション管理コマンド 参照。
ちなみに日本語では「パーテーション」とか「パーティション」とか言葉に揺れがあってダメ。
パーテーション例 | 説明 |
---|---|
/boot | 靴。ブートプログラム |
/home | 自宅。容量が大きくなりやすく、バックアップ頻度も高い |
/var | 柔軟。急激なファイルサイズ増大によるディスクフルなどの危険性を回避 |
/tmp | 一時しのぎ。一般ユーザの無茶な利用などによる危険性を考慮 |
/usr | 利用者。容量が大きくなる可能性が高い |
/opt | オプション。容量が大きなアプリを追加で入れる可能性がある場合は独立パーティションに |
ファイルの種類
$ ls -l /dev/sda brw-rw----. 1 root disk 8, 0 9月 14 19:52 /dev/sda $ ls -l /dev/null crw-rw-rw-. 1 root root 1, 3 9月 14 19:52 /dev/null $ ls -l /dev/pts/0 crw--w----. 1 root tty 136, 0 9月 15 01:39 /dev/pts/0 $ ls -l /run/systemd/initctl/fifo prw-------. 1 root root 0 9月 14 19:52 /run/systemd/initctl/fifo
- ブロックデバイスとは、典型的にはハードディスクやSSD、CDやDVDなどの光学ドライブ、USBメモリなど、ある程度まとまったデータ量(ブロック)を単位として読み書きするストレージ装置が該当し、装置内にファイルシステムを形成することができる。入出力時にはメモリ上に設けられたバッファ領域を中継する。
- キャラクタデバイスとは、文字(キャラクタ)あるいは任意のバイト単位のデータを逐次的に入出力する装置。キーボードやマウス、シリアルポート、オーディオといった時系列でデータを扱う装置が該当する。
- パイプファイルは、FIFOという名前の通り「書き込んだデータをその順に読み込むことができる」特殊なファイル。シェルで command1 | command2 のようなコマンドでの実行を「パイプライン」と呼ぶように、この実行方法とも深い縁がある。「名前付き」のパイプファイルとして作成することもできる。
- SUID:ファイル所有者としてファイルが実行される。
rws r-x r-x
- SGID:ファイル所有グループとしてファイルが実行される。
rwx rws r-x
- StickyBit:ファイル所有者のみファイル名の変更と削除ができる。
rwx rwx rwt
- StickyBit-T:実行権限が与えられていないファイルやディレクトリにStickyBitを設定すると「T」がつく。
drwx-wx--T
Unixコマンド
MacOSに収録されている Unixコマンドは100(/bin, /sbin)+1200(/usr/bin, usr/sbin)程度なので気が向いた時に「Unixコマンド」ページにまとめとく。
Unix略語
昔はマシンリソースが貧弱で文字1文字を表示させるためのリソースさえも節約の対象だった。ゆえにUnix文化ではコマンド名などの命名にとても短い略語が使われている。
- ld.so = Linkage eDitor Shared Object,