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.confve yeniden initramfs:
sudo dpkg-reconfigure -pmedium uswsusp
Yesgeç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
findmntyukarıda. ( Not: değil takas dosyası kendisi )
Not: Manuel olarak /etc/uswsusp.confyapılacak herhangi bir değişiklik , daha initramfssonra bu komutla yeniden oluşturulmasını gerektirir :
sudo update-initramfs -u
Uswusp hazırda beklet
sudo s2disk
snapshotHazı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.confgeçersiz kılma ayrıntılarına sahip bir dosya oluşturur .
Test sistemi ve hazırda bekleme
systemctl hibernate
Not: Sistemin override.confoluş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-sleepolmalıExceStartPost=run-parts -a post /lib/systemd/system-sleep