Uswusp kullanarak Swap dosyası ile hazırda bekleme
Her ne kadar dosyayı değiştirmek için hazırda bekleme yapmak mümkündür ve sözde çekirdek parametreleri ayarlayarak sistemd'de hazırda bekletme moduyla çalışır. Ancak, devam etmeyi alamadım, bunun yerine uswsusp (kullanıcı alanı yazılımı askıya alma) kullanmaya geçtim . İşte Ubuntu 17.04 / 17.10'da kullandığım adımlar.
Takas Dosyasını Oluştur
Komutlar monte ve ilave bir biçimlendirilmiş 4GiB takas dosyası oluşturmak için /etc/fstab
:
sudo fallocate -l 4g /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab
Takas Dosya Bölümünü Doğrulayın
sudo findmnt -no SOURCE,UUID -T /swapfile
> /dev/sda1 11cc33ee-1234-abcd-1234-ddeeff112233
Userspace Software Suspend (uswsusp) yükleyin
sudo apt install uswsusp
Uswsusp yapılandırın
Oluşturmak için /etc/uswsusp.conf
ve yeniden initramfs
:
sudo dpkg-reconfigure -pmedium uswsusp
Yes
geçerli bir takas alanı olmadan devam etmek için ? ' (Sihirbaz, takas dosyasını henüz ayarlamamıştır.)
- Seç bölümü bu konuda takas dosyası bulunduğu, gelen ayrıntılarla çapraz referans
findmnt
yukarıda. ( Not: değil takas dosyası kendisi )
Not: Manuel olarak /etc/uswsusp.conf
yapılacak herhangi bir değişiklik , daha initramfs
sonra bu komutla yeniden oluşturulmasını gerektirir :
sudo update-initramfs -u
Uswusp hazırda beklet
sudo s2disk
snapshot
Hazırda bekletme ve devam etme ekranında mesajlar bulunmalıdır .
Systemd hazırda bekleme modunda s2disk kullanın
Varsayılan olarak systemd kendi hazırda bekleme komutlarını kullanır, bu nedenle onları geçersiz kılarak uswusp komutlarıyla değiştirin systemd-hibernate.service
:
sudo systemctl edit systemd-hibernate.service
Açılan metin editöründe aşağıdaki metni girin (boş ExecStart gereklidir). Sonra kaydedin ve çıkın:
[Service]
ExecStart=
ExecStart=/usr/sbin/s2disk
ExecStartPost=/bin/run-parts -a post /lib/systemd/system-sleep
Bu, /etc/systemd/system/systemd-hibernate.service.d/override.conf
geçersiz kılma ayrıntılarına sahip bir dosya oluşturur .
Test sistemi ve hazırda bekleme
systemctl hibernate
Not: Sistemin override.conf
oluşturulduğunu, yüklendiğini ve hata olmadığını kontrol etmek için aşağıdakileri çalıştırın:
systemctl status systemd-hibernate.service
Referanslar:
ExceStart=run-parts -a post /lib/systemd/system-sleep
olmalıExceStartPost=run-parts -a post /lib/systemd/system-sleep