BunsenLabs (Debian derrivative) tidak akan ditutup (Gagal memulai poweroff.target: Transaksi bersifat destruktif)

11

Saya menemukan perilaku aneh BunsenLabs GNU / Linux saya (yang didasarkan pada Debian).

Terkadang saya tidak bisa mematikan OS. Saya tidak peduli apakah saya menggunakan sudo poweroffatau pendekatan GUI.

Inilah yang saya dapatkan setelah berlari sudo poweroff:

Failed to start poweroff.target: Transaction is destructive

Apakah ada solusinya? Mengapa ini terjadi?


Inilah konten dari saya /lib/udev/rules.d/70-power-switch.rules:

ACTION=="remove", GOTO="power_switch_end"

SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch"
SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch"

LABEL="power_switch_end"
Mateusz Piotrowski
sumber
1
File konfigurasi adalah Ok, Mungkin Anda mendapatkan jawaban terbaik dengan mencari.
GAD3R

Jawaban:

8

Saya sudah mencari-cari solusi untuk sementara waktu dan akhirnya saya menemukan solusi. Ini berhasil untuk saya. Saya tidak tahu apa yang memicu perilaku aneh ini.

Ini adalah resep untuk mematikan Debian Anda:

  1. Lari ps aux | grep suspend.
  2. Salah satu hasilnya harus terlihat seperti ini

    root 3651 0.0 0.0 8668 1716 ? Ss 07:18 0:00 /lib/systemd/systemd-sleep suspend
    
  3. Lari sudo kill 3651 atau apa pun pid hasil Anda.

  4. Pertama kali, saya bisa mematikan PC. Kedua kalinya PC pergi tidur segera setelah killperintah.

Disarankan agar Anda keluar dari lingkungan desktop grafis sebelum mematikan proses.

Sumber: Forum Ubuntu .

Mateusz Piotrowski
sumber
6

Saya menambahkan jawaban lain untuk pertanyaan ini, karena dalam kasus saya tidak ada systemd-sleepproses yang berjalan, namun saya tidak bisa menghentikan, mematikan, mematikan, atau me-reboot mesin saya. (Saya pikir perilaku ini adalah bukti sekali lagi yang systemdsepenuhnya memenuhi syarat sebagai malware , tetapi mari kita tinggalkan diskusi itu untuk lain waktu.)

Pada akhirnya, saya menggunakan kernel untuk membantu dalam perjuangan saya melawan systemd. Berikut ini tidak jauh berbeda dari hard-reboot (menekan tombol daya), tetapi dapat membantu, jika Anda tidak memiliki akses fisik ke mesin:

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

Setelah reboot, lanjutkan dengan memusnahkan bibit neraka.

Alberto Santini
sumber
1
Ini benar-benar pilihan terakhir. Hindari jika Anda memiliki basis data yang sedang berjalan atau kemungkinan besar korupsi data. Anda benar-benar ingin menyinkronkan buffer IO sistem sebelum reboot dengan echo bseperti ini: echo s > /proc/sysrq-trigger(dan tunggu beberapa saat). Kemudian, mungkin coba umount semua sistem file dengan echo u(hati-hati, ini saya tidak tahu apakah itu bisa membuat Anda kehilangan koneksi remote ke mesin).
Totor
1
@ Motor Anda benar ... pada akhirnya saya menemukan diri saya menulis skrip yang melakukan semua yang Anda sebutkan, ditambah mematikan beberapa layanan. Saat itulah saya menyadari bahwa pada dasarnya systemd memaksa saya untuk menulis skrip init saya sendiri untuk shutdown! Selamat datang di 2016 ...
Alberto Santini
1

Punya masalah yang sama.

# systemctl status poweroff.target 
● poweroff.target - Power-Off
  Loaded: loaded (/lib/systemd/system/poweroff.target; enabled; vendor preset: 
  Active: inactive (dead)
    Docs: man:systemd.special(7)

Saya kemudian berlari, systemctl mulai poweroff.target

Dan itu dimatikan.

Miati
sumber
tidak bekerja untuk saya: "Gagal memulai poweroff.target: Transaksi merusak."
Ben Aveling