Score:1

ไม่สามารถเขียนถึง /tmp ในบริการ systemd ด้วย PrivateTmp=true

ธง in

บริการ apache2 ของฉันมี PrivateTmp=จริง. เมื่อเริ่มบริการครั้งแรกก็ใช้งานได้ดี แต่หลังจากผ่านไปสองสามวัน การเขียนไปยัง /tmp ล้มเหลวด้วย "ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว" เพื่อแก้ปัญหาฉันได้พยายามทำงาน nsenter -t <apache-pid> -m ทุบตี และฉันได้ยืนยันแล้ว /tmp มีอยู่แต่ mkdir /tmp/ทดสอบ ล้มเหลวด้วย "ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว" ฉันไม่อยากเอาออก PrivateTmp=จริง คำสั่ง

ถ้าฉันเริ่มบริการใหม่ มันจะเริ่มทำงานอีกครั้ง

บรรทัดการเมานต์สำหรับ /tmp ข้างในบอกว่ามันเมานต์ไปที่ /dev/nvme0n1 ซึ่งดูแปลกสำหรับฉัน แต่นั่นเป็นกรณีทั้งสองเมื่อ /tmp ทำงานทันทีหลังจากเริ่มบริการและเมื่อไม่สามารถเขียนได้

ใครรู้บ้างว่าทำไม /tmp ถึงเขียนไม่ได้

Score:2
ธง in

ฉันพบปัญหา

ฉันมี tmpreaper เปิดใช้งานและกำหนดค่าเพื่อล้างไฟล์และไดเร็กทอรีเก่าภายใต้ /tmp. ฉันไม่มีกฎการยกเว้นสำหรับ /tmp/systemd-private-*ดังนั้น tmpreaper จึงลบไดเร็กทอรี tmp ส่วนตัวสำหรับ apache2

Score:0
ธง zw

อย่างที่ฉันเข้าใจ PrivateTmp=จริง ห้ามสิ่งที่คุณพยายามเมื่อคุณทำการดีบัก daemon จะสร้างไดเร็กทอรีย่อยของตัวเองและเปลี่ยนเนมสเปซตามนั้น

เนื่องจากปัญหาของคุณเกิดขึ้นหลังจากผ่านไประยะหนึ่งเท่านั้น ฉันจึงมีคำแนะนำดังต่อไปนี้: ตรวจสอบให้แน่ใจว่าแอปพลิเคชันล้างข้อมูลและไม่เก็บไฟล์ขนาดใหญ่ไว้ในเครื่องเสมือน /tmp ไดเรกทอรี เท่าที่ฉันรู้ว่าไดเร็กทอรีนี้ใช้ RAM ไม่มีระบบไฟล์ถาวร คุณมีพื้นที่จำกัดที่นี่

คุณอาจต้องการบันทึกขนาดไดเร็กทอรี /tmp สักระยะหนึ่ง ถ้ามันเติบโตเรื่อย ๆ นั่นคือปัญหา

โพสต์คำตอบ

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