วันนี้ฉันได้พบกับ iMac รุ่นเก่า สิ่งเดียวที่ไม่สดคือบัญชีของฉันซึ่งได้รับการจำลองแบบในเครื่อง 5 เครื่องและ MacOS หลัก 12 รุ่นโดยใช้ Migration Assistant เมื่อเป็นไปได้ปล่อยให้มันมี cruft อยู่พอสมควรใน ~ / Library / Preferences / น่าเสียดายที่ในเวอร์ชันล่าสุด Apple ทำให้การล้างไดเรกทอรีนั้นมีประสิทธิภาพด้วยการกำจัดไฟล์เพราะcfprefsd
จัดการข้อมูลการตั้งค่าจริงและคุณต้องพูดคุยกับdefaults
ยูทิลิตี้
อย่างไรก็ตามฉันชอบที่ทุกครั้งที่ฉันพยายามเปลี่ยนการตั้งค่าที่ฉันได้รับลำดับของรายการบันทึกเช่นนี้:
Jul 14 18:14:03 extravagant sharedfilelistd[411] <Critical>: [default] [<CFString 0x7fff77ea0e00 [0x7fff77f58440]>{contents = "com.apple.LSSharedFileList.RecentApplications"}] List write failed invalid info items: (null) properties: (null)
Jul 14 18:14:03 extravagant sharedfilelistd[411] <Error>: -[ListStore writeListItems:properties:withListIdentifier:notificationHander:] [com.apple.LSSharedFileList.RecentApplications] List write failed invalid info items: (null) properties: (null)
Jul 14 18:14:05 extravagant com.apple.preference.general.remoteservice[85562] <Warning>: Error getting number of recent items of type 2, LSSharedFileListCopyProperty returned NULL
Jul 14 18:14:11 extravagant com.apple.preference.general.remoteservice[85562] <Warning>: New number of recents: 30
Jul 14 18:14:11 extravagant com.apple.preference.general.remoteservice[85562] <Warning>: Error getting number of recent items of type 1, LSSharedFileListCopyProperty returned NULL
Jul 14 18:14:11 extravagant com.apple.preference.general.remoteservice[85562] <Warning>: Error getting number of recent items of type 2, LSSharedFileListCopyProperty returned NULL
Jul 14 18:14:11 extravagant com.apple.preference.general.remoteservice[85562] <Warning>: Error getting number of recent items of type 3, LSSharedFileListCopyProperty returned NULL
Jul 14 18:14:13 extravagant com.apple.xpc.launchd[1] (com.apple.preference.general.remoteservice[85562]) <Notice>: Service exited due to signal: Killed: 9
นอกจากนี้ไฟล์ทั้งสองdefaults domains
ไฟล์และไม่กี่โหลในการตั้งค่าบอกฉันว่าแอปพลิเคชันส่วนใหญ่ที่มีโดเมนค่าเริ่มต้นที่เหมาะสมเช่นcom.example.appname ยังมีโดเมนค่าเริ่มต้นเช่นcom.example.appname.LSSharedFileListซึ่งมีรายการของไฟล์ที่ใช้ล่าสุด ยกเว้นว่าพวกเขาไม่ได้ใช้ไฟล์เมื่อเร็ว ๆ นี้เลย ไม่มีไฟล์ * .LSSharedFileList.plist ใด ๆ ที่เปลี่ยนแปลงไปตั้งแต่การย้ายข้อมูลจากเครื่องโยเซมิตีเครื่องเก่าของฉันและไม่ได้มี com.apple.recentitems.plist ดังนั้นฉันจึงทำความสะอาดบ้านโดยใช้คำสั่งเหล่านี้ภายใน ~ / Library / Preferences /:
defaults delete com.apple.recentitems
rm com.apple.recentitems.plist*
defaults
คำสั่งบอกcfprefsd
การลบทั้งหมดของการตั้งค่าในโดเมนที่ซึ่งใบ 42 ไบต์เหตุผลไฟล์ .plist ว่างเปล่าและ 0 ไบต์ .plist.lockfile ไฟล์ที่rm
ลบคำสั่ง
defaults find LSSharedFileList |grep 'keys in domain .*LSShared'|cut -d"'" -f2 |xargs -L1 defaults delete
rm *LSSharedFileList.plist*
ชัดเจนน้อยลง แต่เป็นสิ่งเดียวกันสำหรับdefaults
โดเมนทั้งหมดที่มีLSSharedFileListในชื่อ
find . -name "*.plist" -print0 |xargs -0 -L1 plutil -lint |grep -v ': OK$'|cut -d: -f1|sed 's/.*/"&"/' |xargs rm
ชัดเจนน้อยลง แต่เห็นได้ชัดว่าสำคัญ ไปป์ไลน์นี้ค้นหาไฟล์ * .plist ทั้งหมดในไดเรกทอรีปัจจุบัน (ซึ่งเป็น ~ / Library / Preferences /,) ตรวจสอบความถูกต้องแต่ละรายการโดยplutil -lint
แยกวิเคราะห์ชื่อไฟล์ของไฟล์ที่ไม่ใช่ "OK" เพื่อให้พวกเขาปกป้อง พื้นที่ฝังตัวและสิ่งที่คล้ายกันและลบออกทั้งหมด ในกรณีของฉันไฟล์ * .plist ที่ไม่ถูกต้องเป็นไฟล์โบราณจำนวน 0 ไบต์สำหรับเนื้อหาที่ไม่สามารถทำงานบน El Cap ได้ดังนั้นฉันแน่ใจว่าฉันไม่ได้ลบข้อมูลจริงใด ๆ YMMV !!
find . -size 42c -name "*plist" -delete
สิ่งนี้จะกวาดไฟล์ * .plist ใด ๆ ที่มีความยาว 42- ไบต์ซึ่งเป็นขนาดของ plist ที่ว่างในเชิงตรรกะในรูปแบบไบนารี ผมมีไม่กี่คนรอบข้างที่แขวนอยู่และพวกเขาอาจsharedfilelistd
ได้รับการก่อให้เกิดการร้องเรียนจาก
killall sharedfilelistd
นั่นยุติอินสแตนซ์ของการsharedfilelistd
ทำงานภายใต้บัญชีของฉัน ระบบรีสตาร์ทอินสแตนซ์ใหม่โดยอัตโนมัติ ฉันไม่แน่ใจว่าสิ่งนี้เป็นสิ่งจำเป็น แต่ดูเหมือนว่ารอบคอบเพราะฉันเพิ่งลบข้อมูลจำนวนมากจากระบบย่อยการตั้งค่าที่เกี่ยวข้องกับวิธีการแบบเก่าในการทำสิ่งที่sharedfilelistd
เห็นได้ชัดใน El Cap
หมายเหตุ: คำสั่งทั้ง 7 นั้นเป็นเวอร์ชั่นย่อของสิ่งที่ฉันทำซึ่งสมเหตุสมผลและมีเอฟเฟกต์กระจัดกระจายไปทั่ว 3 ชั่วโมงในการกระตุ้นและทดสอบและพยายามหาข้อมูลที่sharedfilelistd
ไม่มีประโยชน์
นอกจากนี้ยังเป็นที่น่าสังเกตว่าไม่มีsudo
ส่วนเกี่ยวข้องที่นี่เพราะฉันอยู่ใน ~ / Library / Preferences / ของฉันเองเพื่อจัดการกับการตั้งค่าของฉันเอง เมนูรายการล่าสุดและด้วยเหตุนี้การตั้งค่าจึงเป็นแบบเฉพาะผู้ใช้ดังนั้นทุกที่ที่มีการจัดเก็บการตั้งค่า มีการตอบกลับก่อนหน้านี้ที่มีการอนุญาตจำนวนมากที่ไม่สามารถอธิบาย / ACL / ตั้งค่าสถานะลบเรียกใช้ด้วย sudo ที่ไม่ได้ทำงานสำหรับผู้เขียนและอาจทำให้เกิดความเสียหายต่อระบบอย่างร้ายแรง นี่มันไม่มีอะไรแบบนั้น นอกจากนี้โปรดทราบว่าไม่จำเป็นต้องออกจากระบบการรีบูตการบูตในโหมดการกู้คืนหรือทำสิ่งอื่นที่อาจก่อกวน