Jak nastavit odkládací soubor na Linuxu

V operačním systému Linux hraje swap zásadní roli při správě spuštěných aplikací. Uživatelé díky němu mohou dočasně odložit procesy z operační paměti RAM a dokonce rozšířit dostupnou paměť pro aplikace v situaci, kdy je fyzická RAM vyčerpána. Proto lze konstatovat, že používání swapu by mělo být standardem. V minulosti se pro swap vyčleňoval samostatný oddíl na disku. Nicméně, od roku 2017 se stále více prosazují swapovací soubory. Kupříkladu Ubuntu přešlo od swapovacích oddílů k souborům a zdá se, že další distribuce budou následovat. Důvodem je především zjednodušení – instalace je o jeden oddíl rychlejší a samotný swapovací soubor lze snadno zvětšovat bez nutnosti měnit rozdělení disku. Také jeho deaktivace je mnohem jednodušší. V následujícím textu si ukážeme, jak swapovací soubor v Linuxu nastavit.

Důležité upozornění: Swapovací soubor je možné vytvořit v libovolné linuxové distribuci. Nejprve je však nutné distribuci nainstalovat bez vytvoření swapovacího oddílu. To znamená, že se musíte vyhnout automatické instalaci s výchozím rozdělením disku.

Instalace bez swapu většinou vyžaduje vlastní rozdělení disku, kde si ručně nastavíte oddíly, přípojné body a případně bootovací oddíl pro systémy s UEFI.

Například v instalačním programu Ubuntu je pro ruční rozdělení disku potřeba zaškrtnout volbu „něco jiného“. V jiných distribucích to může být například „vlastní rozvržení“.

Pokud používáte souborový systém BtrFS, tento návod nepoužívejte. BtrFS nepodporuje swapovací soubory.

Nastavení swapu

K vytvoření swapovacího souboru se používá nástroj dd. Velikost swapovacího souboru by měla ideálně odpovídat velikosti vaší operační paměti RAM. Níže uvedený příkaz je třeba zadat najednou, jako by to byl jeden celek.

Příkaz provede výpočet velikosti swapovacího souboru. Po jeho zadání budete vyzváni k zadání velikosti swapu v gigabytech.

Poznámka: Pokud máte více než 4 GB RAM, je doporučeno nastavit velikost swapovacího souboru na polovinu velikosti RAM.

echo 'enter gigabytes:';read gigabytes;calculated=$((1024 * $gigabytes))

Terminál si výsledek výpočtu uloží do proměnné $calculated. Nyní tento výsledek použijeme v příkazu dd. Vytváření swapovacího souboru může chvíli trvat a nezobrazuje se žádný průběh. Po dokončení procesu terminál bude opět připraven k zadávání příkazů.

sudo dd if=/dev/zero of=/swapfile bs=1M count=$calculated

Nyní je nutné nastavit správná oprávnění pro swapovací soubor. To je důležité, protože systém musí mít plný přístup k souboru, aby swap správně fungoval.

Nejprve získejte root práva pomocí příkazu sudo -s.

chmod 600 /swapfile

S nastavenými oprávněními je čas použít příkaz mkswap. Tento nástroj dokáže z oddílu nebo souboru vytvořit swapovací prostor.

mkswap /swapfile

Oprávnění jsou nastavena a vše je připraveno. Nyní je potřeba Linuxu říct, aby swap zapnul. To se dělá příkazem swapon.

swapon /swapfile

Po zadání těchto čtyř příkazů by měl být swapovací soubor aktivní. Nicméně, musíme zajistit, aby se swap aktivoval automaticky při každém spuštění systému. To se provádí úpravou souboru /etc/fstab, který obsahuje informace o připojovaných souborových systémech.

Nejprve na konec souboru přidáme komentář, který nám usnadní orientaci.

echo "# Swap file" >> /etc/fstab

Následně přidáme řádek, který definuje umístění a chování swapovacího souboru.

echo "/swapfile none swap defaults 0 0" >> /etc/fstab

Po provedení těchto úprav restartujte systém. Od této chvíle by měl Linux používat swapovací soubor při každém spuštění.

Deaktivace swapovacího souboru

Na rozdíl od swapovacího oddílu, swapovací soubor lze velmi snadno deaktivovat a uvolnit tak místo na disku. Není potřeba nic přerozdělovat. Stačí provést následující tři kroky.

Nejprve otevřete terminál a zadejte:

sudo nano /etc/fstab

Vyhledejte řádek, který se týká swapu (například komentář, který jste přidávali dříve) a tento řádek vymažte. Uložte provedené změny stisknutím kláves Ctrl + O.

Nyní vypněte swap.

sudo swapoff -a

Přejděte do kořenového adresáře:

cd /

A smažte samotný swapovací soubor.

sudo rm swapfile

Restartujte počítač. Po restartu bude swapovací soubor úplně odstraněn.

Závěr

Swap je důležitý pro rozšíření operační paměti v situacích, kdy je RAM nedostatečná. Swapovací soubory mají oproti swapovacím oddílům několik výhod, jako je například jednodušší vytváření, deaktivace a možnost změny velikosti. Doufáme, že tento návod vám pomohl pochopit výhody swapovacích souborů a usnadní jejich použití ve vašem systému Linux.