Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Software
Změna odkládacího disku / fstab
20. února 2003, 00.00 | Minule jsme si ukázali, jak změnit místo, kam Mac OS X (přesněji řečeno, jeho dynamický pager) zapisuje soubory, obsahující stránky odebrané procesům: stačilo změnit jediný řádek ve standardním startovacím skriptu /etc/rc. Tento přístup však s sebou nese jeden nepříjemný problém: skript /etc/rc "patří" dodavateli operačního systému, tj. firmě Apple; ta jej proto může kdykoli v rámci upgrade systému změnit.
Minule jsme si ukázali, jak změnit místo, kam Mac OS X (přesněji řečeno, jeho dynamický pager) zapisuje soubory, obsahující stránky odebrané procesům: stačilo změnit jediný řádek ve standardním startovacím skriptu /etc/rc.
Tento přístup však s sebou nese jeden nepříjemný problém: skript /etc/rc "patří" dodavateli operačního systému, tj. firmě Apple; ta jej proto může kdykoli v rámci upgrade systému změnit. Tradiční unixový postup proto vypadá trošku jinak: neměníme cestu (/private/var/vm), ale vyžádáme si "namontování" požadovaného disku právě na toto místo (standardně, jak víme, "montuje" Mac OS X všechny disky dynamicky do složky /Volumes).
(Mimochodem, tento postup se standardně v unixu používá i pro další případy, kdy chceme některou část systému souborů — třeba domovskou složku — fakticky umístit na samostatný disk.)
Pro statické "montování" disků na určenou cestu hned při startu systému slouží v unixu soubor /etc/fstab. Za normálních okolností jej v Mac OS X nenajdeme — všechny disky jsou "montovány" dynamicky —, můžeme jej však přidat sami. Formát souboru je jednoduchý; každý řádek representuje jeden připojený disk, a obsahuje následující pole, oddělená tabelátory:
- identifikace disku. Standardně se zde v unixu uvádí jméno zařízení, jež disk representuje; s tím byl právě v Mac OS X určitý problém. Na něj i na jeho řešení se podíváme za chvilku;
- cesta, na niž se má disk "namontovat"; v našem případě tedy "/private/var/vm";
- druh systému souborů, který na daném disku je. Pro nás to nejspíš bude "hfs" (zkušení uživatelé by mohli experimentovat s "ufs", ovšem pokud je disk vyhrazen pro odkládací soubory, jež jsou všechny stejně velké, fragmentace beztak nehrozí);
- typ připojení: možností je řada, ale nám úplně stačí "rw", jež umožní čtení i zápis (read/write);
- nakonec připíšeme dvě pole, "1" a "2" — jde o nepodstatné služby související s (prakticky nepoužívaným) příkazem dump a s pořadím ověření obsahu disků po pádu systému.
Celý řádek by tedy mohl vypadat například takto:
/dev/disk2s8 /private/var/vm hfs rw 1 2
Problém je právě s identifikací disku. Nejde o to, zjistit které zařízení odpovídá kterému z disků — to elegantně vypíše příkaz mount:
2 ~> mount
/dev/disk1s8 on / (local)
devfs on /dev (local)
fdesc on /dev (union)
<volfs> on /.vol (read-only)
/dev/disk0s2 on /Volumes/Music (local)
/dev/disk2s8 on /Volumes/Buffer (local)
/dev/disk2s9 on /Volumes/OSXSHomeOnTwo (local)
/dev/disk2s12 on /Volumes/Mac_OS_X (local)
automount -fstab [362] on /Network/Servers (automounted)
automount -static [362] on /automount (automounted)
3 ~>
problém je v tom, že Mac OS X přiděluje jména zařízení diskům v zásadě náhodně (podle pořadí, ve kterém na ně při startu narazí). Může se tedy stát, že třeba přidáme jednotku CD-ROM, a při startu systému budou jména zařízení, representujících disky, odlišná — třeba /dev/disk3 namísto dosavadního /dev/disk2.
V Mac OS X 10.1.x tento problém neměl snadné řešení. Jaguár umožňuje namísto jména zařízení použít přímo název disku, pokud před něj napíšeme "LABEL=" — asi takto:
LABEL=Buffer /private/var/vm hfs rw 1 2
Existuje ještě jedna možnost, složitější, ale bezpečnější; na tu se ale vzhledem k rozsahu článku podíváme až příště.
Obsah seriálu (více o seriálu):
- Obcování s ďáblem
- Obcování s ďáblem 2 - základy
- Obcování s ďáblem 3 - Práce se soubory
- Obcování s ďáblem 4 - Další práce se soubory
- Obcování s ďáblem 5 - Stále soubory, hlavně linky
- Obcování s ďáblem 6: Pár zbývajících drobností
- Obcování s ďáblem 7: Samá voda, přihořívá, hoří!
- Obcování s ďáblem 8: Jak se do shellu volá, tak se program ozývá
- Obcování s ďáblem 9: Nové finty na programy
- Obcování s ďáblem 10: Do fronty, pánové, do fronty!
- Obcování s ďáblem 11: Standardní vstup a výstup
- Obcování s ďáblem 13: Další triky
- Obcování s ďáblem 14: Vyšší škola hledání souborů
- Obcování s ďáblem 15: Příkaz find stokrát jinak
- Obcování s ďáblem 16: Co se ještě dá uvařit z příkazu find
- Obcování s ďáblem 17: Regulární výrazy
- Obcování s ďáblem 18: Speciální regulární výrazy
- Obcování s ďáblem 19: Skládání regulárních výrazů
- Obcování s ďáblem 20: Regulární výrazy se zpětnými odkazy
- Obcování s ďáblem 21:K čemu je dobrý grep...
- Zázraky ihned, nemožné na počkání: sed
- Obcování s ďáblem - další finty s příkazem sed
- Rozsáhlejší příklad se sedem
- Obcování s ďáblem: Další kouzla, aneb awk
- Awk a proměnné
- Obcování s ďáblem 27: Awk a výrazy
- Obcování s ďáblem: Awk a funkce
- Awk a příkazy
- Co je to vlastně "uživatel"?
- Vlastnictví objektů
- Přístupová práva
- Vlastník, skupina, ostatní...
- Jak je to se skupinami?
- Skupiny a uživatelé
- Scripty
- Komentáře, a volba shellu
- Pro skript může být shell cokoli!
- Shellové skripty a argumenty
- Skripty a proměnné: aritmetika
- Proměnné shellu, "dědění" hodnot
- Práce s proměnnými
- Práce se jmény souborů
- Pole hodnot
- Další triky kolem polí...
- Standardní proměnné shellu
- Základní příkazy pro skripty
- Příkaz if
- Speciální podmínkové příkazy
- Podmínky pro práci se soubory
- Jednoduchý cyklus
- Příkaz for a pomocné příkazy break a continue
- Příkaz case
- Příkazy exit a select
- Rejstřík a přehled
- Procesy
- Informace o procesech
- Další klíčová slova pro příkaz ps
- Příkaz ps: několik praktických přepínačů
- A k čemu že je "ps" dobré?
- Copak procesor, s pamětí je to horší
- Virtuální paměť
- A ještě jednou virtuální paměť
- Zpět k příkazu ps
- Skutečný žrout paměti
- Ještě jednou top
- Doplněk k topu: vm_stat
- Co to tedy všechno znamená?
- Nevychází nám dal a má dáti?
- Kam se stránky ukládají?
- Změna odkládacího disku
- Změna odkládacího disku / fstab
- Poslední poznámka k fstab
- A jak to je se soubory?
- Co vlastně příkaz lsof vypisuje?
- Příkaz lsof a obsah sloupce NAME
- SIPS - Terminál není jen pro nadšence UNIXu
- Tak nám zabili NetInfo, paní Müllerová