Y がページ「Unix/Linux」を「Unix/Linux概要」に移動しました
タグ: 新規リダイレクト
 
Unix/Linux概要 へのリダイレクトを解除しました
タグ: リダイレクト解除
1行目: 1行目:
#転送 [[Unix/Linux概要]]
[[ファイル: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]](学習用)★把握中
# y-COME/東京:Debian(宣教/Wiki用)
 
===領内マシン===
# y-Air:[[Darwin]](どこでも管制室)
# y-Pro:Darwin(605管制室、VM実験ラボ)
# y-Kali:[[Kali|Debian/Kali]](港マシン耐久テスト用)
# y-Pixel:[[Android]](<u>自作アプリ稼働マシン</u>)
 
マシン内では沢山のプロセスやサービスたちが稼働しているので、自分の「城」の事をしっかりと把握し適切に管理することが大切。それらに加え追加で導入できるモジュール群(ソフトウェアツール群)もたくさん待機しているので導入モジュール(ソフト)の取捨選択も重要。<br>
ちなみに、<u>本番環境で root 使って学習とか危なすぎる</u>ので、システムの挙動確認やテストは学習用港マシンか「[[VirtualBox]]」でやる。現に、y-COMEマシンで「dhclient」あたりのテストやってたらSSH動かなくなったし。
 
==マシン起動の仕組み==
マザボ流電→マザボ付属BIOS流電→ストレージ流電→ストレージ内のブートローダ(靴を用意する人)プログラム起動→ストレージ内のOSデータ本体を物理メモリにロード
 
==ファイルの種類==
$ 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メモリなど、ある程度まとまったデータ量(ブロック)を単位として読み書きするストレージ装置が該当し、装置内にファイルシステムを形成することができる。入出力時にはメモリ上に設けられたバッファ領域を中継する。<br>
* '''キャラクタデバイス'''とは、文字(キャラクタ)あるいは任意のバイト単位のデータを逐次的に入出力する装置。キーボードやマウス、シリアルポート、オーディオといった時系列でデータを扱う装置が該当する。<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>
 
==パーティショニング==
パーティションを分けることで、パーティション単位の効率的なバックアップや、ユーザ単位のディスク制限、ファイルシステム単位での障害修復が可能になる。ただ最近は昔と比べてストレージの質も高くクラウドにバックアップしたりするので出番は少ないかも。
 
{| class="wikitable" summary="パーティショニング"
|-
!分割推奨パーティション
!説明
|-
|/boot || ブート用
|-
|/home || 容量が大きくなりやすく、バックアップ頻度も高い
|-
|/var || 急激なファイルサイズ増大によるディスクフルなどの危険性を回避
|-
|/tmp || 一般ユーザの無茶な利用などによる危険性を考慮
|-
|/usr || 容量が大きくなる可能性が高い
|-
|/opt || 容量が大きなアプリを追加で入れる可能性がある場合は独立パーティションに
|}
 
* [[Linuxコマンド#パーティション管理 | パーティション管理コマンド]] 参照。
 
===ストレージ新規追加の手順===
# ストレージをマザーボードに接続
# <code>lsblk</code>。接続を確認
# パーティションの設計
# <code>fdisk</code>。パーティションを作成
# 各パーティションにファイルシステムを作成
# 作成したファイルシステムをツリーにマウント
 
==Unixのディレクトリ構造とコマンド==
MacOSの[[FHS|ディレクトリ構造]]も参考までにざっと把握しておく。あと、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,

2024年3月21日 (木) 15:10時点における版

Unix/Linux

Unix/Linux とは天下の「ベル研」エリート集団によって1969年から開発され続け、現代まで脈々と受け継がれてきた伝説的傑作OS。仲良くなると人類最高部類のレバレッジ「CPU」を使って自分の能力を爆上げできる。

Unix直系のBSDはUnix伝説ハッカーの ビル・ジョイ によって、UnixクローンのLinuxはCPU溺愛ハッカー リーナス によって開発された。もともと「ハッカー」は「ずば抜けて優れた技術者」を意味し、「ハッキング」もソフトウェアやハードウェアを隅々まで知り尽くした技術者が行う洗練された行為を意味する。

把握する城

さくらで利用可能なVPSプラン

サーバとスマホ両分野をカバーでき将来も明るいLinux、その中でも文明の上流にいて世界的シェアも最高の「Debian系」を把握運用すれば学習コスパを最大化できる。Linux御三家を参照。

港マシン

  1. minato/石狩:Debian(学習用)★把握中
  2. y-COME/東京:Debian(宣教/Wiki用)

領内マシン

  1. y-Air:Darwin(どこでも管制室)
  2. y-Pro:Darwin(605管制室、VM実験ラボ)
  3. y-Kali:Debian/Kali(港マシン耐久テスト用)
  4. y-Pixel:Android自作アプリ稼働マシン

マシン内では沢山のプロセスやサービスたちが稼働しているので、自分の「城」の事をしっかりと把握し適切に管理することが大切。それらに加え追加で導入できるモジュール群(ソフトウェアツール群)もたくさん待機しているので導入モジュール(ソフト)の取捨選択も重要。
ちなみに、本番環境で root 使って学習とか危なすぎるので、システムの挙動確認やテストは学習用港マシンか「VirtualBox」でやる。現に、y-COMEマシンで「dhclient」あたりのテストやってたらSSH動かなくなったし。

マシン起動の仕組み

マザボ流電→マザボ付属BIOS流電→ストレージ流電→ストレージ内のブートローダ(靴を用意する人)プログラム起動→ストレージ内のOSデータ本体を物理メモリにロード

ファイルの種類

$ 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

パーティショニング

パーティションを分けることで、パーティション単位の効率的なバックアップや、ユーザ単位のディスク制限、ファイルシステム単位での障害修復が可能になる。ただ最近は昔と比べてストレージの質も高くクラウドにバックアップしたりするので出番は少ないかも。

分割推奨パーティション 説明
/boot ブート用
/home 容量が大きくなりやすく、バックアップ頻度も高い
/var 急激なファイルサイズ増大によるディスクフルなどの危険性を回避
/tmp 一般ユーザの無茶な利用などによる危険性を考慮
/usr 容量が大きくなる可能性が高い
/opt 容量が大きなアプリを追加で入れる可能性がある場合は独立パーティションに

パーティション管理コマンド 参照。

ストレージ新規追加の手順

  1. ストレージをマザーボードに接続
  2. lsblk。接続を確認
  3. パーティションの設計
  4. fdisk。パーティションを作成
  5. 各パーティションにファイルシステムを作成
  6. 作成したファイルシステムをツリーにマウント

Unixのディレクトリ構造とコマンド

MacOSのディレクトリ構造も参考までにざっと把握しておく。あと、MacOSに収録されている Unixコマンドは100(/bin, /sbin)+1200(/usr/bin, usr/sbin)程度なので気が向いた時に「Unixコマンド」ページにまとめとく。

Unix略語

昔はマシンリソースが非常に貧弱で文字1文字を表示させるためのリソースさえも節約の対象とされていた。ゆえにUnix文化ではコマンド名などの命名にとても短い略語が使われていた。

ld.so = Linkage eDitor Shared Object,