BunsenLabs (Debian derrivative) sẽ không tắt (Không thể bắt đầu poweroff.target: Giao dịch bị phá hủy)


11

Tôi tình cờ phát hiện ra một hành vi kỳ lạ của BunsenLabs GNU / Linux (dựa trên Debian).

Đôi khi tôi không thể tắt HĐH. Tôi không quan trọng cho dù tôi sử dụng sudo poweroffhay phương pháp GUI.

Đây là những gì tôi nhận được sau khi chạy sudo poweroff:

Failed to start poweroff.target: Transaction is destructive

Có một cách giải quyết? Tại sao nó lại xảy ra?


Đây là nội dung của tôi /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"

1
Các tập tin cấu hình là Ok, Có lẽ bạn nhận được câu trả lời tốt nhất bằng cách tìm kiếm.
GAD3R

Câu trả lời:


8

Tôi đã tìm kiếm giải pháp trong một thời gian và cuối cùng tôi đã tìm thấy một giải pháp. Nó làm việc cho tôi. Tôi không biết những gì gây ra hành vi kỳ lạ này mặc dù.

Đây là công thức để tắt Debian của bạn:

  1. Chạy đi ps aux | grep suspend.
  2. Một trong những kết quả sẽ như thế này

    root 3651 0.0 0.0 8668 1716 ? Ss 07:18 0:00 /lib/systemd/systemd-sleep suspend
    
  3. Chạy sudo kill 3651hoặc bất cứ điều gì về kết quả của bạn là.

  4. Lần đầu tiên, tôi có thể tắt PC. Lần thứ hai PC đi ngủ ngay sau killlệnh.

Chúng tôi khuyên bạn nên đăng xuất khỏi môi trường máy tính để bàn đồ họa trước khi giết quá trình.

Nguồn: Diễn đàn Ubuntu .


6

Tôi đang thêm một câu trả lời cho câu hỏi này, vì trong trường hợp của tôi không có systemd-sleepquá trình nào đang chạy, nhưng tôi không thể dừng lại, tắt máy, tắt nguồn, cũng không khởi động lại máy. (Tôi nghĩ rằng hành vi này một lần nữa là bằng chứng systemdđủ điều kiện là phần mềm độc hại , nhưng chúng ta hãy để cuộc thảo luận đó vào lúc khác.)

Cuối cùng, tôi đã nhờ đến hạt nhân để được giúp đỡ trong cuộc đấu tranh chống lại tôi systemd. Cách sau không khác lắm so với khởi động lại cứng (nhấn nút nguồn), nhưng có thể giúp ích, trong trường hợp bạn không có quyền truy cập vật lý vào máy:

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

Sau khi khởi động lại, tiến hành bằng cách xóa sạch địa ngục.


1
Đây thực sự là lựa chọn nghỉ dưỡng cuối cùng. Tránh nếu bạn có một cơ sở dữ liệu đang chạy hoặc có nhiều khả năng tham nhũng dữ liệu. Bạn thực sự muốn đồng bộ bộ đệm IO của hệ thống trước khi khởi động lại echo bnhư thế này: echo s > /proc/sysrq-trigger(và đợi một thời gian). Sau đó, có thể cố gắng vượt qua tất cả các hệ thống tệp echo u(cẩn thận, điều này tôi không biết liệu nó có thể khiến bạn mất kết nối từ xa với máy không).
Toto

1
@ Cảm ơn bạn đã đúng ... cuối cùng tôi thấy mình đang viết một kịch bản mà tất cả những gì bạn đề cập, cộng với việc tắt một số dịch vụ. Đó là khi tôi nhận ra rằng về cơ bản systemd buộc tôi phải viết script init của riêng mình để tắt máy! Chào mừng đến với năm 2016 ...
Alberto Santini

1

Có vấn đề tương tự.

# 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)

Sau đó tôi chạy, systemctl bắt đầu poweroff.target

Và nó tắt máy.


không hoạt động đối với tôi: "Không thể bắt đầu poweroff.target: Giao dịch là phá hoại."
Ben Aveling
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.