Ami a Linux könyvtárrendszerének rövid bemutatásából kimaradt: /dev és /proc

No de mi is az a /dev? Nos, az ez alatt lévő bejegyzések a tulajdonképpeni device-ai, azaz eszközei a rendszernek.

A teljesség igénye nélkül pár érdekesség:

gvamosi@gergo1:/dev$ file sda
sda: block special (8/0)

Ez nem más, mint a rendszerben található SSD. A lemez partícióit, tehát a fizikai geometriáját az fdisk paranccsal kérdezhetjük le, rendszergazdaként (root felhasználóként).

root@gergo1:~# fdisk /dev/sda

Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p
Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 sectors
Disk model: SanDisk SD7SN3Q1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 046052F0-2FB9-4908-BC4C-09BA8D14623C

Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 233687039 232636416 111G Linux filesystem
/dev/sda3 233687040 250068991 16381952 7.8G Linux swap

Command (m for help):

Akkor nézzük tovább! Írjuk ki az “alma” üzenetet saját magunknak a ctrl+alt+f3-mal elérhető tty3-ra, azaz a 3-as szöveges “terminálra” (ehhez ott azonos nevű felhasználóként előbb bejelentkeztem).

gvamosi@gergo1:/dev$ file tty3
tty3: character special (4/3)
gvamosi@gergo1:/dev$ l tty3
crw------- 1 gvamosi tty 4, 3 Sep 4 06:53 tty3
gvamosi@gergo1:/dev$ echo "alma" > tty3

Ezt egy alap Debian 10-es installáció grafikus felületén lévő terminálból tettük – ami a ctrl+alt+f2 billentyűzet kombinációval érhető el – azonos “gvamosi” felhasználó néven. A képernyők között a ctrl+alt+f1..6 billentyűkkel válthatunk. Egy régebbi Linux-omon, egy RedHat-on még f1..12 számú konzol volt. 🙂 De nézzük, mi történt a 3-as terminálon:

Debian GNU/Linux 10 gergo1 tty3

gergo1 login: gvamosi
Password:
Last login: Wed Sep 4 07:04:31 CEST 2019 on tty3
Linux gergo1 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
gvamosi@gergo1:~$ alma

És akkor válasszunk valami szépet a /proc könyvtárból! Írjuk be a következő parancsot:

gvamosi@gergo1:~$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 61
model name : Intel(R) Core(TM) M-5Y10c CPU @ 0.80GHz
stepping : 4
microcode : 0x1f
cpu MHz : 798.167
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 20
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap intel_pt xsaveopt dtherm ida arat pln pts
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds
bogomips : 1995.39
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

És ugyanez a lista még 3 processzor-magra. A /proc könyvtár alatt sokféle rendszer szintű információt tudhatunk meg. Lehet bátran nézegetni. 🙂

Mi fán terem a / – azaz a gyökér vagy root könyvtár – avagy bevezetés a Linux könyvtárstruktúra alapjaiba

Linux alatt, akár az Android telefonokon nincsenek C: D: E: satöbbi “meghajtók”, csupán egy, a gyökér “/” alól elágazó könyvtárfa. 🙂

gvamosi@gergo1:~$ ls -l /
total 408
drwxr-xr-x 2 root root 4096 Jun 28 21:09 bin
drwxr-xr-x 4 root root 4096 Jun 27 06:47 boot
drwxr-xr-x 20 root root 3380 Aug 27 04:49 dev
drwxr-xr-x 153 root root 12288 Sep 2 13:33 etc
drwxr-xr-x 4 root root 4096 Jun 7 03:22 home
lrwxrwxrwx 1 root root 30 Jun 19 03:55 initrd.img -> boot/initrd.img-4.19.0-5-amd64
lrwxrwxrwx 1 root root 29 Jun 19 03:55 initrd.img.old -> boot/initrd.img-4.9.0-9-amd64
drwxr-xr-x 18 root root 4096 Jun 19 03:50 lib
drwxr-xr-x 2 root root 12288 Jun 19 03:33 lib32
drwxr-xr-x 2 root root 4096 Jun 19 03:32 lib64
drwxr-xr-x 2 root root 12288 Jun 19 03:33 libx32
drwx------ 2 root root 16384 Aug 26 2017 lost+found
drwxr-xr-x 4 root root 4096 Aug 26 2017 media
drwxr-xr-x 2 root root 4096 Jul 23 2017 mnt
drwxr-xr-x 7 root root 4096 Aug 22 03:33 opt
dr-xr-xr-x 289 root root 0 Aug 27 01:11 proc
drwxr-xr-x 15 root root 4096 Aug 22 03:34 root
drwxr-xr-x 29 root root 860 Sep 2 13:33 run
drwxr-xr-x 2 root root 12288 Jun 27 17:34 sbin
drwxr-xr-x 2 root root 4096 Jul 23 2017 srv
dr-xr-xr-x 13 root root 0 Sep 2 13:36 sys
drwxrwxrwt 26 root root 299008 Sep 2 13:38 tmp
drwxr-xr-x 13 root root 4096 Jun 19 03:46 usr
drwxr-xr-x 12 root root 4096 Aug 28 2017 var
lrwxrwxrwx 1 root root 27 Jun 19 03:55 vmlinuz -> boot/vmlinuz-4.19.0-5-amd64
lrwxrwxrwx 1 root root 26 Jun 19 03:55 vmlinuz.old -> boot/vmlinuz-4.9.0-9-amd64

Mit takarnak a gyökérből nyíló könyvtárnevek? Alább olvasható a teljesség igénye nélkül egy rövid ismertető.

bin: fontos binárisok, azaz “futtatható” programok könyvtára
etc: rendszerbeállítások könyvtára
home: felhasználók “otthon” könyvtárai
lib: rendszerkönyvtárak
media, mnt: külső kötetek, pl. egy pendrive “helye”
root: a rendszergazda “otthon” könyvtára 🙂
sbin: fontos rendszer binárisok
tmp: ideiglenes file-ok könyvtára
usr: felhasználói programok és könyvtárak
var: adatok

Megjegyzés: a merevlemez (HDD) vagy SSD (Solid State Disk) minden partíciójának (fdisk parancs) saját filerendszere van. Filerendszer ellenőrzésére és javítására az e2fsck parancs használatos. Segítségével ext2, ext3 és ext4 filerendszereket vizsgálhatunk. Ezek a Linux saját filerendszerei. Jelenleg a legújabb ext4-es filerendszert használom én is. Filerendszert vizsgálni általában csak olvasható módban mount-olt köteten lehetséges (mount parancs leírása később).

https://wiki.archlinux.org/index.php/File_systems_(Magyar)