การบันทึกใน / tmp ไม่ใช่การบันทึกจริงหรือ


10

เปิดเช่นไฟล์แนบอีเมลจาก Firefox (โดยไม่ต้องบันทึกไว้ก่อนหน้านี้); นี่เป็นเอกสาร Libre Office คุณแก้ไขแล้วกดบันทึก (ไม่บันทึกเป็น) และปิดทั้งตัวแก้ไขข้อความและเบราว์เซอร์ /tmpแล้วเอกสารที่หายไปขณะที่มันถูกเก็บไว้โดยเริ่มต้นใน อย่างน้อยนี่เป็นกรณีของ Ubuntu 12.04 ของฉัน

คุณคิดว่านี่เป็นพฤติกรรมที่ถูกต้องหรือไม่? โปรแกรมอย่างน้อยไม่ควรเตือนคุณว่าคุณไม่ได้บันทึกอะไรเลยจริงๆ หรือมีวิธีการกู้คืนไฟล์ (หลังจากออกจากระบบและ / หรือรีบูต)

คำตอบ:


10

เล่นกับสิ่งนี้ฉันพบว่าเมื่อคุณเลือกที่จะเปิดเอกสารด้วยโปรแกรมภายนอกใน Firefox สิ่งที่เกิดขึ้นคือ Firefox ดาวน์โหลดโปรแกรมไป/tmpแล้วเรียกใช้โปรแกรมที่เลือกพร้อมไฟล์ที่ดาวน์โหลดเป็นอาร์กิวเมนต์ (อ่าน 'เปิดไฟล์ด้วย โปรแกรมที่เลือก ')

หากคุณบันทึกไฟล์ (โดยไม่ต้องเลือกSave Asหรือเทียบเท่า) จากภายในโปรแกรมไฟล์นั้นจะใช้ไฟล์/tmpนี้

Firefox จะล้างไฟล์ชั่วคราวเหล่านี้เมื่อปิด ดังนั้นคุณสามารถกู้คืนไฟล์ได้หากคุณปิด LibreOffice แต่ไม่ใช่ Firefox อย่างไรก็ตามทันทีที่ปิด Firefox ไฟล์จะถูกลบ

ใน distros ส่วนใหญ่ (ทั้งหมด?) /tmpโฟลเดอร์จะถูกล้างเมื่อรีบูตเครื่อง (ไฟล์/var/tmpจะยังคงอยู่นานขึ้น)

โปรดทราบว่าพฤติกรรมนี้มีไว้สำหรับ 'เปิด' ไฟล์ที่มีโปรแกรมภายนอกเท่านั้น หากไฟล์ถูกเปิดภายในโดยใช้ปลั๊กอินหรือไม่เช่นนั้นไฟล์นั้นจะ/tmpไม่ปรากฏ(ไฟล์นั้นจะถูกแคชไว้ที่อื่นพร้อมกับหน้าเว็บด้วยตนเอง)

ปรับปรุง

สำหรับการอ้างอิง (ฉันไม่แนะนำให้ทำเช่นนี้เว้นแต่จำเป็น) คุณสามารถปิดการลบ/tmpไฟล์เมื่อ firefox ปิดโดยใช้browser.helperApps.deleteTempFileOnExitตัวเลือก สามารถตั้งค่านี้ผ่านabout:configหน้า (เพียงพิมพ์ในแถบที่อยู่แล้วกด Enter) หากมีอยู่และเป็นfalseเพียงคลิกขวาที่มันและเลือกสลับ มิฉะนั้นให้เพิ่มโดยการคลิกขวา -> ใหม่ -> บูลีนจากนั้นป้อนชื่อของตัวเลือกและเลือกเท็จ

ในการจัดเก็บ/tmpไฟล์ที่ผ่านการรีบูตต่อไปในเร็ว ๆ นี้ระบบ Debian ตามดูครั้งแรกที่/etc/default/tmpfsและให้แน่ใจว่าจะไม่มีRAMTMP=yesเส้น หากมีการใส่ความคิดเห็น ( #ในตอนเริ่มต้น) นี่เป็นเรื่องปกติ (ถ้าตั้งไว้/tmpจะมีtmpfsระบบไฟล์ในหน่วยความจำและจะไม่ถูกเก็บไว้ในดิสก์) ถัดไปเพิ่มหรือเปลี่ยนสายในTMPTIME /etc/default/rcSในการจัดเก็บ/tmpไฟล์อย่างไม่มีกำหนดคุณสามารถทำได้:

TMPTIME=infinite

หรือคุณสามารถใช้จำนวนบวกแทนที่จะinfiniteเก็บไว้ในจำนวนวันนั้นเมื่อหมดเวลาพวกเขาจะถูกลบในการรีบูตครั้งถัดไป เห็นได้ชัดว่าถ้าบรรทัดนี้ถูกคอมเม้นท์ไว้


โปรดทราบว่าความจริงที่/tmpถูกล้างในการรีบูตนั้นเกิดจากการ/tmpติดตั้งเป็น a tmpfsซึ่งเก็บไฟล์ไว้ใน RAM (หรือสลับ) ดังนั้นการสูญเสียเนื้อหาของมันหลังจากยกเลิกการเมานท์
Darkhogg

1
@ Darkhogg ไม่ใช่กรณี /tmpไฟล์มักจะถูกล้างโดยเฉพาะ ฉันได้อัปเดตด้วยวิธีการตั้งค่านี้สามารถเปลี่ยนแปลงได้บนระบบที่ใช้เดเบียน
แกรม

ไม่รู้เรื่องนั้น! +1 กับความคิดเห็นนั้น
Darkhogg


1
เมื่อเปิดไฟล์ใน Firefox ผ่านทางปลั๊กอินปลั๊กอินสามารถระบุวิธีการส่งไฟล์: บนดิสก์หรือไปยังหน่วยความจำโดยตรง ปลั๊กอินส่วนใหญ่เลือกหน่วยความจำ
ทำเครื่องหมาย

3

Firefox มีแคชสำหรับไฟล์ "เปิด" แคชนี้จะถูกล้างทุกครั้งที่คุณปิด Firefox หากคุณเปิดไฟล์นั้นด้วย LO และปิด Firefox คุณจะสังเกตเห็นว่าไฟล์นั้นจะหายไป สิ่งนี้เป็นจริงสำหรับ Firefox ทั้งหมดที่จัดเก็บไว้ใน/tmpหรือไม่


2

คุณคิดว่านี่เป็นพฤติกรรมที่ถูกต้องหรือไม่?

ฉันต้องบอกว่าฉันไม่คิดว่ามันจะเป็น แต่แล้วฉันก็รู้สึกลำเอียงเล็กน้อยเสียเวลาทำงานเกือบหกชั่วโมงเนื่องจากการเล่นโวหาร

ฉันคิดว่า GUI ใด ๆ ที่อนุญาตให้ผู้ใช้ทำสิ่งที่อาจก่อให้เกิดหายนะโดยไม่มีการเตือนพวกเขาจะมีข้อบกพร่องไม่ว่าการตัดสินใจในการออกแบบ "ตรรกะ" จะเป็นอย่างไร โดยเฉพาะอย่างยิ่งเมื่อผู้ใช้สามารถทำสิ่งเดียวกันในโปรแกรมที่คล้ายกัน (เช่น Chrome) โดยไม่มีผลกระทบใด ๆ

โปรแกรมอย่างน้อยไม่ควรเตือนคุณว่าคุณไม่ได้บันทึกอะไรเลยจริงๆ

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

หรือมีวิธีการกู้คืนไฟล์ (หลังจากออกจากระบบและ / หรือรีบูต)

ใช่ถ้าคุณโชคดี ฉันบูตคอมพิวเตอร์ของฉันจากการติดตั้ง usb linux และจัดการกู้คืนไฟล์โดยใช้ extundelete


2

ให้ฉันอธิบาย เมื่อคุณเลือก "เปิดด้วย" ตรงข้ามกับ "ดาวน์โหลดไปที่" ในกล่องโต้ตอบไฟล์นั้นจะยังคงดาวน์โหลดอยู่จุดนี้ Firefox จะเปิดไฟล์ที่ดาวน์โหลดด้วยแอปพลิเคชัน อย่างไรก็ตามข้อสันนิษฐานคือคุณไม่ต้องการเก็บไฟล์ดังนั้นไฟล์นี้จะถูกลบเมื่อ firefox ออก หากคุณต้องการเก็บไว้คุณควรเลือก "ดาวน์โหลดไปที่" หรือใช้ "บันทึกเป็น" ในแอปพลิเคชันของคุณหรือย้ายไฟล์ออกจาก / var / tmp (โดยที่ filefox เก็บไว้) การลบจะใช้กับไฟล์ในตำแหน่งดั้งเดิมเท่านั้น

โปรดทราบว่าไฟล์จะถูกลบแม้ว่าแอปพลิเคชั่นอื่นจะเปิดไว้ (ในแง่เทคนิค) บนระบบที่เหมือน Unix นี่ไม่ใช่ปัญหา: ในขณะที่รายการไดเรกทอรีหายไปไฟล์จะยังคงอยู่และจะไม่ถูกลบจนกว่าแอปพลิเคชันจะปิดมัน [ความผิดพลาด ณ จุดนี้อาจทำให้ดิสก์อยู่ในสถานะไม่สอดคล้องกัน fsck รายงานสถานการณ์นี้เป็น "inode ที่ไม่ได้เชื่อมโยง"]


-1

คุณคิดว่านี่เป็นพฤติกรรมที่ถูกต้องหรือไม่?

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

โปรแกรมอย่างน้อยไม่ควรเตือนคุณว่าคุณไม่ได้บันทึกอะไรเลยจริงๆ

ทำไม? หากคุณต้องการบันทึกทำไมคุณไม่เลือกดาวน์โหลดไฟล์

หรือมีวิธีการกู้คืนไฟล์ (หลังจากออกจากระบบและ / หรือรีบูต)

Nope คุณจะต้องคัดลอกมันเมื่อมันยังอยู่ใน tmp

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