Uživatelské nástroje

Nástroje pro tento web


zarizeni-a-souborovy-system

Zařízení a souborový systém


ZAŘÍZENÍ
cat /proc/devices vypíše seznam znakových a blokových zařízení podle jejich hlavního (major) čísla
lshw / lshal vypíše podrobné informace o nalezeném hardwaru a jeho konfiguraci
lspci vypíše informace o zařízeních připojených na PCI sběrnici, -v podrobný výpis
lsusb vypíše informace o zařízeních připojených na USB sběrnici, -v podrobný výpis
lsof / lsof <soubor / zarizeni> vypíše informace o všech / daných používaných souborech (zařízeních) - jejich název, použitý program, PID, uživatele, souborový popisovač, typ souboru, hlavní (major) a vedlejší (minor) číslo zařízení, velikost souboru v B a číslo i-uzlu, -l vypíše UID, -p <PID> podle daného procesu, -u <uzivatel> podle daného uživatele, -r <n> aktualizuje výpis každých n sekund
$ lsof /dev/cdrom
$ lsof /dev/snd/*
$ lsof -p $$
(vypíše otevřené soubory z aktuálního shellu)
iotop zobrazí I/O zatížení disků, rychlost zápisu a čtení dat a podrobný, interaktivní seznam všech běžících procesů (výpis se mění podle aktuálního stavu), -o pouze aktivní procesy, -u <uzivatel> procesy daného uživatele, -p <PID> pouze určitý proces, q ukončí program
iostat zobrazí I/O zatížení disků a rychlost zápisu a čtení dat, -p <zarizeni> určí disk a zahrnuté diskové oddíly
hdparm <zarizeni / diskovy_oddil> vypíše či nastaví parametry daného ATA / SATA zařízení
smartctl <zarizeni> -a vypíše podrobné informace o stavu daného zařízení (podporujícího SMART technologii) s cílem předejít jeho poškození, -s <on / off> aktivuje / deaktivuje SMART, -t <short / long> spustí krátký / dlouhý test
# smartctl -s on -t long /dev/sda
badblocks <zarizeni / diskovy_oddil> kontroluje špatné bloky na daném zařízení, -b <n> určí velikost bloků v B (implicitně 1024), -i <soubor> vynechá kontrolu již špatných bloků uvedených v daném souboru, -v podrobný výpis
# badblocks -vb 4096 /dev/sda2 > bad_blocks
blockdev (<volba>) <prikaz> <zarizeni / diskovy_oddil> vypíše či nastaví vlastnosti zařízení, -v podrobný výpis, --setro nastaví práva „read-only“, --setrw nastaví práva „read-write“, --getsize vypíše počet sektorů na zařízení
mdadm <rezim> <raid_zarizeni> (<volba>) (<dilci_zarizeni>) spravuje software RAID (virtuální) zařízení; k režimům patří: --create vytvoří software RAID, --grow změní velikost aktivního pole, --add přidá fyzické zařízení, --fail označí fyzické zařízení za vadné a deaktivuje ho (vhodné k testování RAID 1 nebo RAID 5, ne však RAID 0), --remove odebere fyzické zařízení (nesmí být aktivní), --detail vypíše podrobné informace o RAID zařízení, --stop deaktivuje raid zařízení, --assemble aktivuje dříve existující raid zařízení, --scan aplikuje danou operaci na všechna zařízení uvedená v /etc/mdadm.conf; -v podrobný výpis
# mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sd{b,c}1
(vytvoří software RAID 1 zahrnující /dev/sdb1 a sdc1)
# mdadm --grow /dev/md1 --raid-devices=3
# mdadm --add /dev/md1 /dev/sdd1
# mdadm --stop /dev/md1
# mdadm --assemble --scan
cat /etc/mdadm.conf vypíše informace o nastavení mdX RAID diskových polí
cat /proc/mdstat vypíše informace o aktuálním stavu mdX RAID diskových polí
sync přesune obsah diskové vyrovnávací paměti na fyzický disk, čímž se data okamžitě uloží (obvykle systém ukládá data s časovou prodlevou)
eject (<zarizeni>) vysune mechaniku, -t zasune mechaniku
$ eject (-t) / eject (-t) /dev/cdrom


SOUBOROVÝ SYSTÉM A SWAP
cat /proc/partitions vypíše diskové oddíly, jejich hlavní (major) a vedlejší (minor) číslo a počet obsazených bloků
fdisk <zarizeni / diskovy_oddil> vypíše počet cylindrů na daném disku a pomocí volby m zobrazí nabídku pro práci s tabulkou rozdělení disku: p vypíše nastavené diskové oddíly, n přidá nový oddíl, l vypíše možné typy oddílů, t změní typ oddílu, d odstraní oddíl, q exit, w uloží změny na disku + exit; -l zobrazí rozdělení daného diskového oddílu, není-li specifikován, vypíše informace o rozdělení všech právě připojených disků, -u vypíše hodnoty v sektorech
# fdisk -lu /dev/sdb
partprobe informuje OS o změnách v tabulce rozdělení disků
mkfs <diskovy_oddil> vytvoří souborový systém na daném diskovém oddílu (oddíl musí být odpojen), -t <SS> určí typ SS, -c kontrola bloků, -v podrobný výpis
# mkfs -ct ext3 /dev/sdb2
mke2fs <diskovy_oddil> vytvoří souborový systém ext2, ext3, ext4 na daném diskovém oddílu (oddíl musí být odpojen), -b <n> určí velikost bloku v B, -c kontrola bloků, -i <n> určí počet bytů na i-node, -t <SS> určí typ SS, -L <nazev_svazku> určí název svazku SS, -v podrobný výpis
# mke2fs -cvt ext4 /dev/sdb2
mkfs.xfs <diskovy_oddil> vytvoří souborový systém xfs na daném diskovém oddílu (oddíl musí být odpojen), -b size=<n> určí velikost bloku v B (implicitně 4096 B), -L <nazev_svazku> určí název svazku SS
mkisofs <adresar> vytvoří souborový systém ISO 9660 (soubor .iso) z daného adresáře, -J rozšíření Joliet (obsah je čitelný ve windows), -r rozšíření RockRidge (obsah je čitelný v linuxu / unixu), -o <soubor> určí výstupní soubor
$ mkisofs -J -r -o test.iso test
xfs_info <SS> zobrazí informace o souborovém systému xfs
e2label <diskovy_oddil> (<nazev_svazku>) vypíše či určí název svazku diskového oddílu souborového systému ext2, ext3, ext4
# e2label /dev/sdb1 dbdisk1
xfs_admin mění parametry souborového systému xfs, -L <nazev_svazku> <diskovy_oddil> určí název svazku diskového oddílu
tune2fs <diskovy_oddil> mění parametry souborového systému ext2, ext3, ext4, -l vypíše obsah superbloku, -L <nazev_svazku> změní název svazku SS, -j změní typ SS ext2 na žurnálový ext3 (ten musí být nejdřív odpojen; k zajištění jeho trvalého nastavení je třeba upravit i údaj „ext2“ na „ext3“ v /etc/fstab), -O (^)<vlastnost> nastaví či při použití znaku „^“ odstraní danou vlastnost SS, -o (^)<volba_pripojeni> nastaví či při použití znaku „^“ odstraní danou volbu připojení SS
# tune2fs -j /dev/sdb1
# tune2fs -O ^has_journal /dev/sdb1
(změní zpět SS ext3 na ext2)
# tune2fs -o acl /dev/sdb1
resize2fs <diskovy_oddil> (<velikost>) změní (zvětší či zmenší) velikost souborového systému ext2, ext3, ext4 na daném oddílu na požadovanou hodnotu (SS musí být připojen), není-li velikost SS při jeho zvětšování uvedena, automaticky vyplní daný oddíl až do jeho max. velikosti (pokud SS vyplňuje celý oddíl, který je třeba rozšířit, musí se nejdřív zvětšit daný oddíl a pak teprve SS; je-li nutné oddíl zmenšit, musí se nejdřív odpojit, provést na něm kontrolu SS, snížit velikost SS a potom až zmenšit velikost oddílu tak, aby nebyl menší než nová velikost SS), -p vypíše průběh v procentech
# resize2fs /dev/sdb3 500M
# resize2fs -p /dev/vg00/homelv 200G
xfs_growfs <SS> zvětší velikost souborového systému xfs (zmenšení není možné; SS musí být připojen), -D <velikost> určí velikost SS (není-li velikost SS uvedena, automaticky vyplní daný oddíl až do jeho max. velikosti)
fsck <diskovy_oddil> kontroluje SS a příp. opraví nalezené chyby (SS musí být odpojen, „/“ v režimu „read-only“), -A postupně kontroluje všechny souborové systémy v /etc/fstab (probíhá automaticky při startu systému), -R vynechá kontrolu kořenového adresáře, -a automatická oprava nalezených chyb, -r interaktivní oprava chyb, -t <SS> určí typ SS, -V podrobný výpis
# fsck (-t ext3) /dev/sdb1
e2fsck <diskovy_oddil> kontroluje souborový systém ext2, ext3, ext4 a příp. opraví nalezené chyby (SS musí být odpojen, „/“ v režimu „read-only“), -c kontrola bloků, -f provede kontrolu, i když se SS zdá být čistý, -p automatická oprava nalezených chyb, -v podrobný výpis
# e2fsck -vc /dev/sdb1
xfs_repair <diskovy_oddil> kontroluje souborový systém xfs a příp. opraví nalezené chyby (SS musí být odpojen, „/“ v režimu „read-only“), -n pouze vypíše nalezené chyby (bez úpravy SS)
debugfs (<diskovy_oddil>) interaktivně kontroluje, příp. upravuje souborový systém ext2, ext3, ext4, -w zpřístupní daný SS k editaci v režimu „read-write“; open <diskovy_oddil> zpřístupní daný SS ke kontrole / editaci, close opustí SS, icheck <blok> vypíše číslo i-uzlu využívajícího daný blok, ncheck <i-uzel> vypíše cestu k danému i-uzlu (souboru), quit ukončí program
xfs_db <diskovy_oddil> interaktivně kontroluje, příp. upravuje souborový systém xfs
cat /proc/filesystems vypíše seznam SS podporovaných jádrem
cat /etc/fstab vypíše seznam definovaných SS - jméno či UUID zařízení / diskového oddílu, přípojný bod, typ SS, volby připojení (viz příkaz „mount“), zálohování programem „dump“ („0“ = ne, „1“ = ano) a pořadí kontroly SS programem „fsck“ při startu systému („0“ = žádná kontrola, „1“ = první pořadí (pro SS „/“), „2“-„9“ další pořadí)
cat /etc/mtab / cat /proc/mounts vypíše seznam právě připojených SS
df (<adresar / SS / diskovy_oddil>) vypíše informace o využití kapacity daného diskového oddílu, není-li specifikován, vypíše informace o všech právě připojených SS v kB, -m v MB, -i využití kapacity v i-uzlech, -h přehledný výpis, -P použije výstupní formát POSIX
$ df -P | awk '+$5 >= 90 {print}'
(vypíše SS s využitou kapacitou 90% a více)
mkswap <diskovy_oddil> vytvoří odkládací prostor (swap) pro virtuální paměť, -L <nazev_svazku> určí název svazku
swapon <diskovy_oddil> aktivuje odkládací prostor (pro trvalou aktivaci musí být oddíl uveden v /etc/fstab s volbou „auto“), -a aktivuje všechny swap oddíly v /etc/fstab, -s vypíše aktivní oddíly s odkládacím prostorem (údaje z /proc/swaps), -v podrobný výpis
swapoff <diskovy_oddil> deaktivuje odkládací prostor
cat /proc/swaps vypíše aktivní oddíly s odkládacím prostorem
mount
mount (<zarizeni / diskovy_oddil / (NFS_server:)SS>) (<adresar>)
vypíše právě připojené souborové systémy (údaje z /etc/mtab)
připojí daný SS, -a všechny SS v /etc/fstab s volbou „auto“, -L <nazev_svazku> podle svazku, -U <UUID> podle UUID, -t <SS> určí typ SS, -n bez zápisu do /etc/mtab (např. má-li být /etc připojen jako read-only SS), -o <atribut> určí volby připojení, oddělené čárkou (např. ro read-only, rw read-write, remount znovu připojí již připojený SS, (no)dev (ne)povolí přístup k SS znakovým a blokovým zařízením, (a)sync (ne)povolí synchronní čtení a zápis dat na SS, (no)auto (ne)připojí SS automaticky, users povolí připojení i odpojení SS jakémukoliv uživateli, (no)user (ne)povolí připojení SS běžnému uživateli (ale jen ten ho smí opět odpojit), usrquota / grpquota povolí vymezení použitelného prostoru na SS pro jednotlivé uživatele / skupiny (atribut musí existovat v /etc/fstab), (no)acl (ne)povolí rozšířená přístupová práva ACL pro SS ext2, ext3 či ext4,( no)atime (ne)povolí úpravu údajů o posledním přístupu k SS v jeho i-nodu, (no)suid (ne)povolí práva setuid a setgid spustitelným souborům, (no)exec (ne)povolí spuštění binárních souborů na SS, defaults = rw, suid, dev, exec, auto, nouser, async)
$ mount /dev/fd0 / mount /mnt/floppy
(údaje pro připojení zařízení jsou uvedeny v /etc/fstab)
$ mount -t iso9660 /dev/cdrom /mnt/cdrom
$ mount -t vfat /dev/sdc1 /mnt/flash
# mount -no ro,remount /
# mount server_01:/data /mnt/nfs
umount <adresar / SS / zarizeni / diskovy_oddil> odpojí souborový systém
$ umount /mnt/flash
$ umount /dev/sdc1
showmount / showmount <pocitac> vypíše seznam všech počítačů (klientů), pro které je povoleno připojení lokálních adresářů přes NFS z lokálního / daného serveru (údaje z /etc/exports), -a vypíše názvy či IP adresy vzdálených systémů a adresáře, které jsou jim právě exportovány, -e vypíše seznam všech exportovaných adresářů a vzdálené systémy, jenž mají povoleno je připojit
exportfs (<volba>) (<klient>:<adresar>) definuje vzdálené počítače (klienty) a lokální adresáře, které jim budou exportovány přes NFS; (trvalé nastavení se provede v /etc/exports), -a exportuje vše, co je uvedeno v /etc/exports, -r provede opakovaný export položek z /etc/exports (synchronizuje soubor /var/lib/nfs/etab s údaji v /etc/exports), -i ignoruje informace v /etc/exports a použije pouze volby zadané přímo v příkazovém řádku, -u <klient>:<adresar> zruší daný export, s volbou „-a“ zruší export všech položek v /etc/exports, -o určí další volby pro export lokálního adresáře (výchozí volby jsou sync,ro,root_squash,wdelay)
# exportfs -o rw client1:/usr/tmp
# exportfs -au
quota vypíše informace o nastavení limitů (quot) a využití diskového prostoru přihlášeného uživatele na všech připojených SS, -u <uzivatel> daného uživatele, -g <skupina> dané skupiny, -v podrobný výpis
repquota <SS> vypíše informace o využití a nastavení quot na daném SS, -a všech připojených SS, -u quoty uživatelů (implicitně), -g quoty skupin, -v podrobný výpis
quotacheck <SS> kontroluje quota informace (nastavení max. velikosti použitelného prostoru v i-nodech nebo v 1-kB blocích pro uživatele či skupiny) na daném SS s povoleným atributem „usrquota“ či „grpquota“ v /etc/fstab (ještě před kontrolou připojí daný SS v režimu „read-only“, po ní opět v režimu „read-write“), -a kontroluje všechny připojené SS mimo NFS, -c provede novou kontrolu a vytvoří soubory aquota.user / aquota.group (ignoruje existující quoty), -u quoty uživatelů (implicitně), -g quoty skupin, -v podrobný výpis, -i interaktivní režim
# quotacheck -cvug /home
(aktivuje použití quot na daném SS)
edquota <uzivatel / skupina> nastaví quoty editací souboru aquota.user anebo aquota.group, -u danému uživateli, -g dané skupině, -p <vzor> podle daného vzoru (uživatele), -f <SS> jen pro daný SS, -t nastaví max. období (v řádu sekund, minut, hodin či dní), během něhož může být překročen „soft limit“ až do hodnoty uvedené jako „hard limit“ (není-li tato doba nastavena, max. hodnota = „soft limit“)
# edquota -p tim `awk -F: '$3 > 499 {print $1}' /etc/passwd`
setquota <uzivatel / skupina> nastaví quoty přímo z příkazového řádku, -u danému uživateli, -g dané skupině, -p <vzor> podle daného vzoru (uživatele), -a pro všechny připojené SS s nastaveným parametrem „usrquota“ / „grpquota“, -t nastaví max. období (v řádu sekund, minut, hodin či dní), během něhož může být překročen „soft limit“ až do hodnoty uvedené jako „hard limit“ (není-li tato doba nastavena, max. hodnota = „soft limit“)
# setquota -u tim 512 1024 0 0 /home
quotaon / quotaoff <SS> povolí / zakáže použití quot na daném SS, -a na všech připojených SS, -u quoty uživatelů, -g quoty skupin
dump <cil> <zdroj> zálohuje souborový systém ext2, ext3, ext4 (daný oddíl musí být odpojen, jde-li o SS připojený přímo k „/“, je třeba systém uvést na runlevel 1, čímž se zastaví všechny služby užívající tento oddíl, a opět ho připojit v režimu „read-only“), -<n> úroveň inkrementální zálohy (nabývá hodnot 0 - 9, přičemž 0 = full backup), -u aktualizuje /etc/dumpdates (přehled provedených záloh), -a automatická velikost (zapisuje data do konce pásky), -f <cil> cílový soubor / zařízení, -z komprimace gzip, -j komprimace bzip2, -L <nazev> pojmenuje archiv, -M umožní „multi-volume“ zálohu (při archivech větších než 2 GB), -S nedojde k fyzické záloze, jen vypočte velikost místa potřebného k uložení archivu, -W vypíše SS, jenž je třeba zálohovat (údaje z /etc/dumpdates a /etc/fstab)
# dump -0uf /tmp/home.bckp /home
# dump -0auf /dev/st0 -L Full_bckp_11-07-08 /
# dump -0uj 9 /home | dd bs=1024 of=/dev/rmt0
(přijaté variabilní bloky dat jsou převedeny na bloky o stejné velikosti a uloženy na pásku)
restore <zdroj> obnoví data z archivu vytvořeného programem „dump“ do prac. adresáře, -f <zdroj> zdrojový soubor / zařízení, -r nově naformátovaný SS, -x existující SS, -s <n> číslo zálohy (souboru), -i interaktivní režim, -t vypíše obsah archivu, -v podrobný výpis
# restore -rvf /dev/rmt0
(plná obnova SS)
# restore -is 3 -f /dev/rmt0
(interaktivní obnova - možno obnovit i jednotl. soubory)
photorec obnoví smazaná data z HDD či přenosného média různých typů SS; pracuje interaktivně a automaticky rozpozná SS, lze obnovit i konkrétní datový formát


LVM (logical volume manager) dynamická správa diskových oddílů
pvcreate <PV> přidá PV (fyzický oddíl / disk) pod správu LVM
# pvcreate /dev/sda1
pvs vypíše všechny PV v systému, jejich VG, atributy, velikost a volné místo
pvdisplay / pvdisplay <PV> vypíše podrobné informace o všech PV / daném PV, -m mapování PV (vypíše zahrnuté LV a LE)
pvchange <PV> změní atributy daného PV, -x <y / n> povolí / zakáže přidání PE (fyzických bloků)
pvresize <PV> změní velikost daného PV
# pvresize --setphysicalvolumesize 40G /dev/sda1
pvmove <zdrojovy_PV> (<cilovy_PV>) přesune data z jednoho PV na druhý, není-li cílový PV určen, data se přemístí na jakékoliv volné místo v rámci daného VG
pvremove <PV> odstraní daný PV ze správy LVM
vgcreate <VG> <PV> vytvoří VG (virtuální disk) z daných fyzických oddílů nebo disků, -s <velikost> určí velikost fyzických bloků daných PV v tomto VG (standardně 4MB)
# vgcreate root_vg /dev/sda1 /dev/sda2 /dev/sda3
vgs vypíše všechny VG v systému, počet jejich PV / LV, počet kopií, velikost a volné místo
vgdisplay / vgdisplay <VG> vypíše podrobné informace o všech VG / daném VG, -v včetně zahrnutých PV a LV
vgchange <VG> změní atributy daného VG, -a <y / n> aktivuje / deaktivuje daný VG
# vgchange -a n data_vg
vgrename <stary_VG> <novy_VG> přejmenuje daný VG
vgextend <VG> <PV> přidá PV do daného VG
vgreduce <VG> <PV> odstraní PV z daného VG (PV musí být prázdný)
vgexport <VG> exportuje daný VG (znedostupní se systému)
vgimport <VG> importuje daný VG (zpřístupní se systému)
vgremove <VG> odstraní daný VG
lvcreate <LV> <VG> vytvoří LV (virtuální diskový oddíl), -n <LV> určí název LV, -L <velikost> určí velikost LV, -l <n> určí velikost LV zadáním počtu logických bloků, -m <n> určí počet kopií daného LV (vytvoří zrcadlení lineárního LV), -p <r / w> nastaví práva pro čtení / čtení a zápisu
# lvcreate -n web_lv -L 10G data_vg
lvs vypíše všechny LV v systému, jejich VG, atributy, velikost a další informace
lvdisplay / lvdisplay <LV / VG> vypíše podrobné informace o všech LV / daném LV či všech LV na daném VG, -m mapování LV (vypíše zahrnuté PV, PE a typ LV - lineární, zrcadlený, snapshot)
lvchange <LV> změní atributy daného LV, -p <r / w> nastaví práva pro čtení / čtení a zápisu, -a <y / n> aktivuje / deaktivuje daný LV
# lvchange -a n vg00/web_lv
lvrename <stary_LV> <novy_LV> přejmenuje daný LV
# lvrename vg00/image_lv vg00/images_lv
lvresize <LV> změní velikost daného LV, -L (<+ / ->)<velikost> určí velikost LV (pokud SS vyplňuje celý LV, který je třeba rozšířit, musí se nejdřív zvětšit daný LV a pak teprve SS; je-li nutné LV zmenšit, musí se nejdřív odpojit, provést na něm kontrolu SS, snížit velikost SS a potom až zmenšit velikost LV tak, aby nebyl menší než nová velikost SS)
# lvresize -L +200M vg00/backup_lv
lvconvert <LV> změní typ LV, -m <n> určí počet kopií daného LV (vytvoří zrcadlení lineárního LV), -s <zdrojovy_LV> <cilovy_LV> vytvoří zálohu (snapshot) daného LV
# lvconvert -s vg00/lvol1 vg00/lvol2
lvremove <LV> odstraní daný LV
Poslední úprava: 2016/01/26 20:09 autor: Miroslav Bernát

Nástroje pro stránku

počet návštěv: