Score:4

จะเกิดอะไรขึ้นกับบันทึกที่สร้างโดยคนตัดไม้ ถ้าไม่มีล็อกดีมอนติดตั้งหรือใช้งานอยู่

ธง in
Dom

หากคุณมีการแจกจ่าย Linux โดยไม่ได้ติดตั้ง logging daemon หรือปิดใช้งาน logging daemon จะเกิดอะไรขึ้นกับบันทึกที่สร้างโดย คนตัดไม้ สั่งการ?

ฉันมี Ubuntu 20.04.2 พร้อมบริการ rsyslog เมื่อฉันปิดบริการนี้ ฉันยังคงสามารถใช้ คนตัดไม้ คำสั่ง ไม่มีอะไรถูกเขียนไปยัง syslog แต่คำสั่งยังคงยอมรับอินพุตของฉันและมีรหัสการออกเป็นศูนย์

เมื่อไม่มีบริการบันทึก จะเกิดอะไรขึ้นกับบันทึกที่สร้างโดย คนตัดไม้?

ได้อย่างไร คนตัดไม้ คำสั่งทำงานโดยไม่ต้องส่งบันทึกที่ไหนสักแห่ง? ทำไม คนตัดไม้ ออกสำเร็จหากไม่มีอะไรให้รับบันทึก?

Score:6
ธง fr

'คนตัดไม้' ส่งข้อมูลไปยังซ็อกเก็ต Unix /dev/log. (มันเป็นซ็อกเก็ตแม้จะอยู่ใน /dev.)

บน Linux ดิสทริบิวชันส่วนใหญ่ ซ็อกเก็ตนี้คือ ไม่ เป็นเจ้าของโดย syslog daemon แบบดั้งเดิมอีกต่อไป â ปลายอีกด้านหนึ่งไม่ได้ไปที่ rsyslog โดยตรง แต่ซ็อกเก็ต /dev/log เป็นของ systemd-วารสาร บริการซึ่งยังคงทำงานและรับข้อความ

# ฟิวเซอร์ -v /dev/log
                                 คำสั่งการเข้าถึง PID ของผู้ใช้
/run/systemd/journal/dev-log: รูท 1 F.... systemd
                                 รูท 304 F.... systemd-journal

(โปรดทราบว่า init ยังเก็บซ็อกเก็ต â หาก Journald หยุดทำงาน แต่มีกิจกรรมบางอย่างบนซ็อกเก็ต init จะเริ่มบริการอีกครั้งโดยอัตโนมัติ เช่นเดียวกับ 'inetd' สำหรับบริการ TCP ในอดีต)

Systemd-journald เก็บบันทึก /var/log/journal ซึ่งคุณสามารถอ่านได้ สมุดรายวันctl -f แทนที่จะเป็น 'tail -f' ตามปกติ (อยู่ในรูปแบบไบนารีที่จัดทำดัชนี) โดยปกติข้อความผ่าน /dev/log จะยังคงถูกเขียนต่อไปแม้ว่า rsyslogd หยุดทำงาน

คนตัดไม้ $ สวัสดี

$journalsctl -n 1
12 ก.ค. 18:12:26 น. ember root[951422]: สวัสดี

ในระบบดังกล่าว รับเฉพาะแพ็กเกจ rsyslogd และ syslog-ng ถ่ายทอด ข้อความจาก systemd-journal ไม่ใช่โดยตรงจากโปรแกรมพวกเขาทำงานโดยการฟังที่ซ็อกเก็ตอื่น (ภายใน /run/systemd) ซึ่ง Journald ส่งต่อข้อความทั้งหมด â หรือโดยการอ่านไฟล์บันทึกไบนารีโดยตรงจาก /var/log/journal

(โดยปกติแล้ว การเข้าถึงไฟล์ .journal โดยตรงเป็นที่ต้องการ เนื่องจากอนุญาตให้ rsyslogd รวบรวมฟิลด์เพิ่มเติมที่รวมอยู่ในโปรแกรม ซึ่งมิฉะนั้นจะสูญหายไปเมื่อใช้การส่งต่อข้อความที่ใช้ซ็อกเก็ต)

หากคุณชี้ 'คนตัดไม้' ไปที่ซ็อกเก็ต Unix ซึ่งไม่ยอมรับข้อความ มันจะแสดงข้อความแสดงข้อผิดพลาดอย่างที่ควรจะเป็น:

$ python -c "จากการนำเข้าซ็อกเก็ต *; socket(AF_UNIX, SOCK_DGRAM).bind('/tmp/log')"

$logger -u /tmp/log สวัสดี
คนตัดไม้: ซ็อกเก็ต /tmp/log: การเชื่อมต่อถูกปฏิเสธ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา