วิธีแสดงรายการไฟล์และโฟลเดอร์ที่ไม่ได้รับการดูแลโดยแพ็คเกจ DEB ใด ๆ


12

ฉันกำลังย้ายไฟล์จากเครื่องเดเบียนเครื่องหนึ่งไปยังอีกเครื่องหนึ่งเพื่อให้ฉันสามารถใช้เครื่องเก่าเพื่อจุดประสงค์อื่น ฉันไม่ต้องการพลาดไฟล์ใด ๆ เพราะฉันจะฟอร์แมตฮาร์ดไดรฟ์ของเครื่องเก่าอย่างไม่สามารถกู้คืนได้

เมื่อคิดถึงเรื่องนี้ฉันรู้ว่าไฟล์และโฟลเดอร์ทั้งหมดที่ฉันต้องการคัดลอกเป็นไฟล์ที่ไม่ได้รับการดูแลด้วยแพ็คเกจ Debian ที่ติดตั้งไว้ มีวิธีง่าย ๆ ในการแสดงรายการไฟล์และโฟลเดอร์ดังกล่าวหรือไม่?

คำตอบ:


16

cruftเป็นเครื่องมือที่มีประโยชน์สำหรับวัตถุประสงค์นี้: ทำการเปรียบเทียบระหว่างระบบไฟล์และฐานข้อมูลของแพ็คเกจ Debian ที่ติดตั้ง นอกจากจะแสดงรายการไฟล์ที่ไม่รู้จักแล้วยังแสดงรายการไฟล์ที่หายไป แต่ควรอยู่ที่นั่น

ฉันใช้เป็นประจำพร้อมกับdebsumsเมื่อฉันต้องเริ่มการดูแลระบบหรืออัพเกรดงานบนเครื่องที่ฉันไม่ได้ดูแลก่อนหน้านี้ สิ่งนี้ช่วยให้ฉันเห็นการแก้ไขและการติดตั้งในพื้นที่และวางแผนสำหรับพวกเขาแทนลูกค้าบอกฉันหลังจากการอัพเกรดว่าซอฟต์แวร์ของพวกเขาไม่ทำงานอีกต่อไป

ติดตั้ง:

apt-get install cruft

แสดงรายการ "cruft" ทั้งหมด แต่ไม่สนใจไดเรกทอรีที่มีชื่อ:

cruft --ignore "/dev /proc /sys /root /home /tmp"

ข้อมูลมากกว่านี้:

man cruft
zless /usr/share/doc/cruft/README.gz

4

ถ้าคุณไม่ได้ทำอะไรที่ผิดปกติแล้วคำตอบคือทุกอย่างที่อยู่ใน/bin, /boot, /lib*, /sbinและ/usrมาจากแพคเกจ Debian ยกเว้นว่า/usr/localเป็นของคุณ; ระบบที่เหลือเป็นของคุณ สถานที่โดยทั่วไปคุณจะต้องมีการสำรองข้อมูล/homeและ/etc(เสมอ) /var(มากที่สุดของมันตัวอย่างเช่น/var/cacheไม่จำเป็นต้องได้รับการสนับสนุนขึ้นไป) /srv(ถ้าคุณใช้มัน) และและอาจ/usr/local/opt

ในการแสดงรายการไฟล์ปกติบน/ระบบไฟล์ที่ไม่ได้มาจากแพ็คเกจ Debian:

find / -xdev -type f | sort >/tmp/root.list
sort /var/lib/dpkg/info/*.list >/tmp/dpkg.list
comm -23 /tmp/root.list /tmp/dpkg.list

หากคุณมีระบบไฟล์แยกไว้/usrให้รวมไว้ในfindคำสั่ง หากคุณมีระบบไฟล์แยกต่างหากสำหรับ/homeหรือ/varหรือกำหนดเองอื่น ๆ ให้รวมไว้ในการสำรองข้อมูลของคุณ

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