Hogyan lehet hibernálni vagy aludni a Linuxot a parancssorból – CloudSavvy IT

Avatar admin | 2021.02.18. 47 Views 0 Likes 0 Ratings

47 Views 0 Ratings Rate it

Shutterstock / Moriz

A hibernálás és alvás medvéknek és számítógépeknek egyaránt szól! Ha kevesebb villamos energia fogyasztása a cél, akkor ez az útmutató megmutatja, hogyan készítsen egy kis parancsfájlt a számítógép biztonságos hibernálásához, alvásához vagy lefagyasztásához a parancssorból.

Hibernálás és Alvás Linux alatt

A számítógép hibernálása megmenti a számítógép memóriájának aktuális tartalmát ( RAM a számítógép memóriája) lemezre, különösképpen a cserefelületre. Ezt követően a hardver hívása automatikusan lemerül, és amikor újraindítja a számítógépet, a memória tartalma vissza lesz olvasva a cserehelyről a fő memóriába, és folytathatja a számítógép használatát pontosan azon a helyen, ahol hibernált azt.

Egy kihívás van, amikor a Linux-példányt hibernálni kell a parancssor használatával: szükség lesz egy elég nagy cserehelyre a teljes RAM-méret befogadásához, és esetleg némi pluszra az alkalmazások normál egyidejű cseréjéhez. Így, ha 8 GB RAM memória van a rendszerben, érdemes 16-20 GB-os cserehelyet kiosztani a bőség biztosítása érdekében. Ha szeretné megtanulni, hogyan kell ezt megtenni, olvassa el a mi oldalunkat Swapfájl létrehozása és engedélyezése a Linux parancssorban útmutató.

Az alvási állapot nagyon hasonló, bár az áramot nem veszik el teljesen. A memóriája, és időnként a CPU is áram alatt marad, így amikor visszatér a géphez, és például megnyomja a szóközt vagy rákattint egy egérgombbal (mint ébresztési esemény), a számítógép újra megkezdi működését. ahol elaltatta. Az ilyen ébresztési eseményeket általában a BIOS-ból lehet konfigurálni.

A számítógép BIOS-ja általában a számítógép indításakor érhető el, feltéve, hogy nem hibernált állapotban vagy elalvás alatt állt, de valójában teljesen leállt, amikor utoljára használta. Gyakran elérhetõ egy olyan gomb megnyomásával, mint az F2 vagy DEL (vagy bármely más, a képernyõn megjelenõ vagy az alaplap gyártójának kézikönyvébõl származó gomb) a rendszer korai indítása során (amint bármilyen szöveg megjelenik a képernyõn, miután megnyomta a bekapcsológomb).

Általában a kernel alapú energiatakarékos felfüggesztési szintek három szintje áll rendelkezésre a Linuxban, amelyet az operációs rendszer (vagy pontosabban a kernel) biztosít.

Ezek a szintek a kernelbe vannak beépítve, és elérhetőségük a használt operációs rendszertől függ. A szintek Felfüggesztés üresjáratra (találóan megnevezve s2idle vagy fagy), Felfüggesztés a memóriába (mem vagy helyesebben mély) és a Suspend-to-Disk (korong). Rendszere támogathatja a készenléti módot is (standby vagy shallow). Hamarosan többet megtudhatunk arról, hogyan fedezhetjük fel, milyen szintek állnak rendelkezésre a rendszeren, és hogyan lehet ezeket irányítani!

Az asztali számítógépek nem tudnak hibernálni vagy aludni?

Érdekes módon, bár általában a memóriába való felfüggesztést és a lemezre történő felfüggesztést a kern elérhetővé teszi, és a rendszer támogatja, a kernel tetején futó operációs rendszer – bizonyos rendszerességgel – nem fogja bemutatni ezeket az opciókat GUI / Asztal.

Például egy nemrégiben telepített Mint 20 (modern, Ubuntu alapú operációs rendszer) modern rendszerre klónozott telepítésénél a következő lehetőségek voltak elérhetőek, amikor megnyomta a bekapcsológombot az xcfe GUI / Desktop alkalmazásban:

Nincs alvás, hibernálás vagy készenlét

Kijelentkezés, újraindítás, leállítás és felhasználói váltás, de nem Alvás, Készenlétben lévő sem Hibernálás! Ez a rendszer továbbra is memóriába vagy lemezre történő felfüggesztése tehát nagy előrelépés lenne, még akkor is, ha ehhez meg kell hívnunk a terminált. A következő szakasz elmagyarázza, hogyan kell ezt megtenni, de először nézzük át a rendszereden elérhető lehetőségeket és azok jelentését.

Ha kivégezed cat /sys/power/state a parancssorban a következőkhöz hasonlót fog látni:

a mem / disk opciók lefagyasztása a / sys / power / state állományban

Ezen a rendszeren a három fő lehetőség (freeze, mem and disk) támogatottak. Ön is láthatja standby vagy a rendszere.

A freeze opció, ha be van állítva, könnyű, szoftver alapú alvó állapotot indít el a rendszer számára. A Linux felhasználói területe lefagy (ezért a kifejezés), és az összes I / O eszköz alacsony energiafogyasztású állapotba kerül. Bár ez az opció és állapot mindig támogatott, és korlátozza az energiafelhasználást, ez a gép leállításának legkönnyebb formája. Ha más lehetőség nem áll rendelkezésre, ez még mindig megtakaríthatja a villanyszámlát, bár nem annyira, mint a rendszer leállítása.

Ennek az opciónak / állapotnak a kérdése tehát a lelkiismerettel kapcsolatos (a rendszer használatra kész és balra hagyott állapotban hagyása és egy kis megtakarítás a leállítással szemben, de az alkalmazások újbóli megnyitása és további megtakarítás). Remélhetőleg az operációs rendszer és a hardver más állapotokat is támogat. Ha nem, fontolja meg az operációs rendszer frissítését vagy módosítását, és / vagy a BIOS és más hardvereszközök firmware-jének frissítését a legújabb verzióra. Az energiával kapcsolatos opciók megváltoztatása a BIOS-ban is segíthet.

A mem opció, ha be van állítva, vagy a Suspend-To-Idle-t kezdeményezi, amely megegyezik a fagy opciót, vagy végezzen Suspend-To-RAM-ot, ahol a rendszerben minden a memória kivételével alacsony fogyasztású állapotba kerül. A használt beállítás (Suspend-to-Idle vagy Suspend-To-RAM) a beállítástól függ /sys/power/mem_sleep fájl. A fájl különféle módjait egyszerűen végrehajtással vizsgálhatja meg cat /sys/power/mem_sleep a terminál parancssoránál.

Általánosságban véve azt várom, hogy ezt az opciót alapértelmezés szerint a következőre állítsuk: deep alapértelmezés szerint (amint azt a [code]) minden Linux operációs rendszeren, egyszerűen azért, mert amikor beállítja a /sys/power/state opció mem, elvárható, hogy a rendszer a memóriába írja a tartalmat (azaz a Suspend-To-RAM-ot, amelyet a deep ban ben /sys/power/mem_sleep) helyett a Felfüggesztés készenléti üzemmódba s2idle.

Ne feledje azt is, hogy így két különböző módja van a felfüggesztés tétlenségre: vagy írásban freeze nak nek /sys/power/state, vagy írásban s2idle nak nek /sys/power/mem_sleep majd ezt követően írás mem nak nek /sys/power/state.

Amint láthatja, a használt terminológia kissé zavaros és keveredik a /sys/power/mem_sleep fájl. A dolgok elvégzésének egyszerűbb módja, és feltehetőleg az összes modern Linux operációs rendszer alapértelmezett módja az, ha egyszerűen távozik /sys/power/mem_sleep állítva deep és írj freeze nak nek /sys/power/state az alapjárat felfüggesztésére és az írásra mem nak nek /sys/power/state a RAM-ra való felfüggesztéshez.

Végül megvan az utolsó lehetőség (feltéve, hogy a rendszernek nincs standby opció, amely Power-On-Suspend opció, ahol a CPU fenntartja az energiát), és ez disk. Ez az opció lehetővé teszi számunkra, hogy felfüggesztsük a lemezre. Alapvetően ez a Hibernate opció, amelyet korábban leírtunk, míg a Suspend-to-Idle vagy a Suspend-To-RAM alvásmódnak tekinthető. Ebben a módban a memóriában lévő összes adat lemezre kerül, így maga a memória is felszabadulhat: teljes leállítás.

Összefoglalva: a három fő áramellátási felfüggesztés közül bármelyik kiválasztásának legegyszerűbb módja az, ha rendelkezik (vagy elhagy) /sys/power/mem_sleep állítva deep, hagyja figyelmen kívül ezt a fájlt, majd a gombbal válassza ki az energiafogyasztási módok felfüggesztését /sys/power/state csak írásban freeze (Felfüggesztés üresjáratra), mem (Suspend-to-RAM), vagy disk (Felfüggesztés lemezre) ehhez a fájlhoz. Lássuk, hogyan kell ezt biztonságosan megtenni.

Hibernálás, alvás vagy fagyás

Szeretnénk egy olyan szkriptet, amely biztonságosan hibernál, elalszik vagy lefagyasztja a számítógépünket. Miért említik a biztonságot? Nos, fontold meg, hogyan írhatsz freeze nak nek /sys/power/state azonnal lefagyasztja a rendszert és visszaállítja a rendszert pontosan ugyanabba az állapotba, amikor egy gombot megnyomnak vagy egérre kattintanak (attól függően, hogy az ilyen opciókat a BIOS-beállítások engedélyezik-e). Asztalod feloldva még mindig fel van oldva!

Szükségünk van egy olyan szkriptre, amely nem csak hibernál, alszik vagy fagyasztja le gépünket, hanem olyan is, amely lezárja számunkra az asztalunkat. Ennek megvalósítása az operációs rendszertől, valamint a választott Asztaltól / GUI-tól függ.

Gyors keresés kedvenc keresőmotorjában [screen] zárolja a Linux disztribúció grafikus felületét a parancssorból hol képernyő egy választható szó / keresési kifejezés, Linux disztribúció a Linux disztribúció neve, a GUI pedig a GUI neve (például az xcfe), feltárja a terminál parancssorból történő lezárásának egy vagy több módját. Ehhez az útmutatóhoz az Linux xcfe-t futtató Linux Mint 20-at fogjuk használni.

Meghatározzuk hibernate.sh szkript az alábbiak szerint:

sudo sleep 0.1  # To get auth
xflock4
sleep 3
echo disk | sudo tee /sys/power/state  # Requires sufficient swap space

Az első sorban hivatkozunk sudo a root / super felhasználói szintű hitelesítés engedélyezéséhez. Egyszerűen számlázunk sleep 0.1 dummy parancsként. Az egyetlen cél az, hogy a következő sudo parancsok (mint az utolsó) ne követeljék meg tőlünk a hitelesítés megadását, mivel nehéz egy jelszót begépelni a terminálba, amikor a képernyő már zárva van 😉

Ezek után meghívjuk az operációs rendszert és az asztal / GUI / ablakkezelő specifikus zárparancs választását xflock4 xcfe-hez a Linux Mint 20. Ezután 3 másodpercig alszunk a sleep 3.

Végül írjuk (a echo) a szó disk nak nek /sys/power/state felhasználásával tee (lát man tee további információkért, ha ez érdekes, alapvetően a tee a standard bemenetről olvas és itt egy fájlba ír), és sudo. Ez hibernálja a rendszerünket lemezre (és kikapcsolja a számítógépet) feltéve, hogy elegendő cserefelület áll rendelkezésünkre, amint ezt az útmutató korábban leírta.

A szkript megváltoztatása Suspend-To-RAM / Memory-ra most egyszerű: egyszerűen cserélje ki a szót disk nak nek mem.

Meghatározzuk sleep.sh szkript az alábbiak szerint:

sudo sleep 0.1  # To get auth
xflock4
sleep 3
echo deep | sudo tee /sys/power/mem_sleep
echo mem | sudo tee /sys/power/state

Megtettük az írás további lépését deep nak nek /sys/power/mem_sleep az energiatakarékos oldalon álljon, és kerülje az üresjárat-felfüggesztést. Ez csak akkor működik, ha deep egy tényleges opció a rendszeren (ne felejtsd el futtatni cat /sys/power/mem_sleep felfedezni a memória alvási módjait, és biztosítani deep az egyik). Ha deep már az aktuális alapértelmezettként van kiválasztva, a [deep].

Végül a freeze szkript az alábbiak szerint:

sudo sleep 0.1  # To get auth
xflock4
sleep 3
echo freeze | sudo tee /sys/power/state

Ne feledje, hogy nincs további írása s2idle nak nek /sys/power/mem_sleep szükséges, mivel a freeze írj neki /sys/power/state automatikusan használja s2idle (Felfüggesztés üresjáratra). Amint azt korábban leírtuk, írhattunk volna s2idle nak nek /sys/power/mem_sleep majd megírta mem nak nek /sys/power/state ehelyett ugyanazon eredmény elérése érdekében, de úgy tűnik, hogy ez zavarosabb módja ennek.

A fenti szkriptekben felsorolt ​​különféle hatalmi állapotok a bemutatott sorrendben (disk > mem > freeze) a legkevesebb energiamegtakarítással rendelkezik, és a magasabb szintek mélyebb alvó állapotba hozzák a számítógépet.

Figyelemre méltó az is, hogy csak a Suspend-to-Disk (disk) biztosítja, hogy ha valahogy csökken a rendszer energiája, a mentett állapotot ez nem érinti, és a számítógép folytathatja azt a pontot, amelyet abbahagyott. Ez azt jelenti, hogy ez a leglassabb is, mivel a lemez I / O-ra – a memória méretéhez mérten – szükség van.

Csomagolás

Az, hogy a gépet helyileg vagy távolról aludni, vagy hibernálni tudja a parancssoron keresztül, nagy rugalmasságot kínál, különböző szintű energiatakarékosságban, különböző felfüggesztési módok révén. A kiszolgálók és az asztali számítógépek egyaránt hibernálhatók.

Felfüggeszthetjük a számítógépet alapjáraton (s2idle), a memóriára (mem) és a lemezre (korong). Ez az útmutató leírta ennek különféle módjait, valamint azt, hogy ez hogyan kapcsolódik az alapul szolgáló hardverhez. A rendszeresen működő rendszerek, miközben támogatják a hibernálást és az alvást, nem mindig hirdetik és nem teszik elérhetővé ezeket a lehetőségeket az asztali grafikus felhasználói felületükön.

Annak ismerete, hogy egy lépéssel tovább haladunk a parancssorban, gyakran megment minket attól, hogy egyáltalán nem tudunk hibernálni vagy aludni egy gépet, vagy hogy hibernálhatnánk vagy távol aludhatnánk azt a gépet. Élvezd!

Jogi nyilatkozat: Nincsenek olyan számítógépek, ahol az ezen útmutatóhoz készített különféle kísérletek hurt sérültek volna 🙂


Source link


47 Views 0 Ratings Rate it

  • Minden jog fenntartva 2019-2020. Hogyankészítsek.Hu Impresszum Adatkezelési szabályok