Adresář „/tmp“ nebo tmp (dočasný adresář) v Linuxu je místo, kam jakýkoli program ukládá potřebné soubory, které může použít během výkonné relace. Je to jeden z nejpoužívanějších adresářů v Linuxu. Řekněme, že píšete dokument. Děláte to ve vscode. Vscode uloží dočasnou kopii vašeho dokumentu do souboru tmp a bude jej pravidelně aktualizovat. Vždy tam můžete jít a v případě potřeby jej obnovit.
Chcete-li být efektivním uživatelem Linuxu, musíte se důkladně seznámit s adresářem tmp. Vědět, jak to funguje, jaké jsou atributy tohoto adresáře atd., hodně vylepší vaše ovládání Linuxu. Odpovíme na všechny možné otázky, které vás napadnou. Zůstaňte s námi a učte se.
Linux tmp Directory:Jaký je účel?
Adresář /tmp obsahuje všechny požadované soubory, které budou „dočasně“ vyžadovány během provádění programu. V případě jakékoli havárie nebo neočekávané události můžete soubor načíst z adresáře. Také můžete vidět, které podprogramy se používají během provádění programu.
Když uložíte soubor na požadované místo a program řádně ukončíte, všechny dočasné programy nebo dokumenty zmizí a adresář zůstane prázdný. Pokud se nevyprázdní, po restartu počítače se vyprázdní.
Lze tento adresář zaplnit?
Pro normálního uživatele Linuxu je opravdu těžké zaplnit adresář tmp. Soubory, které jsou uloženy v adresáři tmp, jsou opravdu malé, mají velikost několik kilobajtů. Takže tam musíte mít nashromážděno obrovské množství souborů, abyste zaplnili adresář. Není to nemožné, ale je to opravdu těžké.
Obvykle na svém počítači provozujeme jednoho nebo dva uživatele a často počítač vypínáme. Použití menšího počtu uživatelů vytváří menší množství dočasných souborů. A vypnutí počítače vymaže všechny dočasné soubory – není třeba se obávat.
Pokud provozujete server obsahující tuny uživatelů, pak je adresář tmp bolestí hlavy. Server nelze vypínat často, takže není šance na automatické vyprázdnění. V tomto scénáři musíte dočasné soubory odstranit ručně.
Ruční vyprázdnění adresáře tmp
Jako průměrnému uživateli Linuxu se nedoporučuje tento adresář tmp ručně vyprazdňovat. To povede ke zhroucení systému, protože soubory v něm uložené jsou nezbytné ke spuštění programů, které jsou právě otevřeny.
Pokud provozujete server, pak existuje systematický přístup k vyprazdňování adresáře tmp. V následujících částech tento přístup probereme velmi podrobně.
Chcete-li efektivně odstranit soubory z adresáře tmp, musíte mít ve svém systému crontab. Pokud o crontab nemáte ponětí, dovolte mi to ve zkratce.
Crontab je aplikace, která provádí určitou předem naplánovanou operaci v systému Linux. Předpokládejme například, že musíte svůj systém aktualizovat v pravidelných pravidelných intervalech.
Crontab vám umožňuje tento úkol splnit. Musíte mu jen říct, kdy se operace uskuteční a jak by měla být provedena. V tomto konkrétním okamžiku crontab provede práci podle vašich pokynů.
Na serveru jsou tuny uživatelů a každý z nich má své vlastní dočasné soubory. Jejich náhodné smazání způsobí vážné narušení činnosti uživatele. Musíte vyhledat dočasné soubory, které se nepoužívají, a poté je musíte odstranit. Je to docela nudná a monotónní věc. Také to zabije váš čas.
Schůdným řešením je automatické smazání těchto souborů po určité době, ke kterým se v daném časovém období nepřistupuje. Tento automatizovaný proces je efektivní a šetří čas. Také to šetří vaši práci.
Chcete-li provést tyto automatizované operace, musíte si vzít pomoc z crontab. Proto jsem to před chvílí probíral. Řekněme, že chcete jednou týdně smazat nepoužívané soubory z adresáře tmp.
Nejprve o tom informujte uživatele vašeho serveru. Řekněte jim, že se chystáte smazat dočasné soubory, ke kterým se během týdne nepřistoupí. Provedení operace bez oznámení politiky může vést k masakru.
Postup čištění adresáře
Poté musíte napsat skript, který najde požadované soubory. Příkaz je následující:
find /tmp -type f \( ! -user root \) -atime +7
Po jeho spuštění budete moci najít všechny soubory (kromě souborů uživatele root), ke kterým nebylo za posledních sedm dní přistupováno. Nyní máte polovinu hotovo. Našli jste nepotřebné soubory, které mají být smazány. Chcete-li je odstranit, musíte provést toto:
find /tmp -type f \( ! -user root \) -atime +7 -delete
Našli jsme tedy způsob, jak vyprázdnit adresář tmp v Linuxu systematickým způsobem. Vlastník serveru však musí skript spustit ručně každý týden. Tomu se lze vyhnout použitím crontab. Aby byl skript periodicky spustitelný, udělejme soubor obsahující syntaxi. Nyní vytváříme soubor s názvem „tmp.swipe.sh“ (uvozovky jsou vyloučeny).
Poté je třeba nastavit příkaz crontab. Nejprve proveďte toto:
crontab -e
Otevře se soubor crontab. Pak tam proveďte tento příkaz. Bude spouštět náš skript každé pondělí ve 12 hodin.
0 0 * * mon /opt/scripts/tmp.swipe.sh
Po napsání uložte exit.
Takže jsme vytvořili způsob, jak vyčistit adresář tmp jednou týdně. Už na to nemusíte myslet. Váš čas, prostor a práce jsou ušetřeny. Můžete také změnit časový interval podle potřeby. Zde jsme použili sedmidenní období pouze jako příklad pro demonstraci postupu.
Existuje adresář s názvem /var/tmp. Jaký je rozdíl mezi tímto a /tmp?
Oba v podstatě hrají v operačním systému stejnou roli. Jediným rozdílem je doba mazání.
Pokud restartujeme náš systém, soubory v /tmp se automaticky smažou, zatímco soubory, které zůstanou v /var/temp, se nesmažou pouze restartem systému.
Také soubory v /tmp se po deseti dnech automaticky vyprazdňují. Naopak soubory uvnitř /var/tmp se smazávají jednou za měsíc.
Co když smažu adresář tmp omylem?
Obnovení adresáře tmp je často potřeba, protože mnoho uživatelů Linuxu omylem smaže celý adresář. Proces obnovy není vůbec obtížný úkol. Proveďte následující příkazy uvedené níže:
sudo mkdir /tmp
sudo chmod 1777 /tmp
„mkdir“ vytvoří nový adresář tmp. A pak dáváme uživatelům přístup do adresáře. Proveďte dvojitou kontrolu oprávnění provedením tohoto:
ls -ld /tmp
Nyní vypněte počítač. A znovu jej zapněte. Váš nový adresář tmp je připraven k použití. Vše je hotovo.
Závěr
O adresáři tmp v Linuxu jsme zde hodně diskutovali. Mít na paměti tyto body bude stačit pro každého uživatele, aby snadno provozoval systém Linux.
I když, podle mého názoru, to bude stačit, možná máte něco na mysli, co by mělo být v tomto příspěvku pokryto, ale neudělal jsem to. Člověk se mýlí. Zanechte komentář s nezbytnou částí, která zde měla být zmíněna. To je pro dnešek vše.