BunsenLabs (Debian derrivative) จะไม่ปิดลง (ไม่สามารถเริ่ม poweroff.target: การทำธุรกรรมเป็นอันตราย)


11

ฉันสะดุดพฤติกรรมแปลก ๆ ของ BunsenLabs GNU / Linux ของฉัน (ซึ่งใช้ภาษาเดเบียน)

บางครั้งฉันไม่สามารถปิดระบบปฏิบัติการ ฉันไม่สำคัญว่าฉันจะใช้sudo poweroffหรือวิธี GUI

นี่คือสิ่งที่ฉันได้รับหลังจากใช้งานsudo poweroff:

Failed to start poweroff.target: Transaction is destructive

มีวิธีแก้ปัญหาหรือไม่? ทำไมมันเกิดขึ้น


นี่คือเนื้อหาของฉัน/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
ไฟล์กำหนดค่าเป็นตกลงคุณอาจได้รับคำตอบที่ดีที่สุดจากการค้นหา
GAD3R

คำตอบ:


8

ฉันได้รับการแก้ปัญหาในขณะที่และในที่สุดฉันก็พบวิธีแก้ปัญหา มันใช้งานได้สำหรับฉัน ฉันไม่รู้ว่าอะไรเป็นต้นเหตุของพฤติกรรมแปลก ๆ นี้

นี่เป็นสูตรสำหรับปิด Debian ของคุณ:

  1. ps aux | grep suspendวิ่ง
  2. หนึ่งในผลลัพธ์ควรมีลักษณะเช่นนี้

    root 3651 0.0 0.0 8668 1716 ? Ss 07:18 0:00 /lib/systemd/systemd-sleep suspend
    
  3. เรียกใช้sudo kill 3651หรืออะไรก็ตามที่ pid ของผลลัพธ์คือ

  4. ในครั้งแรกฉันสามารถปิดพีซีได้ ครั้งที่สองที่พีซีเข้าสู่โหมดสลีปทันทีหลังจากkillคำสั่ง

ขอแนะนำให้คุณออกจากระบบเดสก์ทอปแบบกราฟิกก่อนที่จะฆ่ากระบวนการ

ที่มา: อูบุนตูฟอรั่ม


6

ฉันกำลังเพิ่มคำตอบให้กับคำถามนี้อีกครั้งเพราะในกรณีของฉันไม่มีsystemd-sleepกระบวนการทำงาน แต่ฉันไม่สามารถหยุดการปิดเครื่อง poweroff หรือรีบูตเครื่องของฉันได้ (ฉันคิดว่าพฤติกรรมนี้เป็นข้อพิสูจน์อีกครั้งว่าsystemdมีคุณสมบัติครบถ้วนในฐานะมัลแวร์แต่เราจะทิ้งการสนทนานั้นไว้อีกครั้ง)

ในท้ายที่สุดผม resorted systemdเคอร์เนลเพื่อขอความช่วยเหลือในการต่อสู้ของเราต่อสู้ ต่อไปนี้ไม่แตกต่างจากฮาร์ดรีบูต (กดปุ่มเปิดปิด) แต่สามารถช่วยได้ในกรณีที่คุณไม่สามารถเข้าถึงเครื่องได้:

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

เมื่อรีบูต, ดำเนินการโดยเช็ดออกวางไข่ของนรก


1
นี่เป็นตัวเลือกสุดท้าย หลีกเลี่ยงหากคุณมีฐานข้อมูลทำงานอยู่หรือมีโอกาสเกิดความเสียหายของข้อมูล คุณต้องการซิงค์บัฟเฟอร์ IO ของระบบก่อนที่จะทำการรีบูตด้วยecho bวิธีนี้: echo s > /proc/sysrq-trigger(และรอสักครู่) จากนั้นอาจลองติดตั้งระบบไฟล์ทั้งหมดด้วยecho u(ระวังอันนี้ฉันไม่รู้ว่ามันจะทำให้คุณขาดการเชื่อมต่อระยะไกลกับเครื่อง)
Totor

1
@Totor คุณถูกต้อง ... ในที่สุดฉันก็พบว่าตัวเองเขียนสคริปต์ที่ทำทุกอย่างที่คุณพูดถึงรวมทั้งปิดบริการบางอย่าง นั่นคือเมื่อฉันรู้ว่าโดยทั่วไป systemd บังคับให้ฉันเขียนสคริปต์ init ของตัวเองเพื่อปิด! ยินดีต้อนรับสู่ปี 2016 ...
อัลแบร์โตซานตินี

1

มีปัญหาเดียวกันนี้

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

ฉันวิ่งแล้วระบบจะเริ่ม poweroff.target

และมันก็ปิดตัวลง


ไม่ทำงานสำหรับฉัน: "ล้มเหลวในการเริ่ม poweroff.target: การทำธุรกรรมเป็นอันตราย"
Ben Aveling
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.