ไม่สามารถลบไฟล์ใน OS X


5

ฉันมีไฟล์ในถังขยะและฉันไม่สามารถลบได้ ก่อนที่คุณจะถามฉันถึง STFW ไม่ไฟล์ไม่ถูกล็อค: - /

ไฟล์นี้เป็นลิงก์สัญลักษณ์ไปที่ไม่มีอะไร (ลบเป้าหมายแล้ว) นี่คือผลลัพธ์ของls -lOไฟล์นั้น:

lrwxrwxrwx  1 1000  _lpoperator  uappnd,nodump,opaque,compressed 22 Apr  3  2009 fly.pdf -> stuff.pdf

ผลลัพธ์ของrmคือ

$ sudo rm fly.pdf
rm: fly.pdf: No such file or directory

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

BTW ไฟล์ที่มีปัญหานั้นอยู่ในถังขยะของโวลุ่มที่เรียกว่า "Shared" ซึ่งไม่ใช่ปริมาณการบูต

อัปเดต: @bug ชี้ให้เห็นว่าอาจเกิดจากลิงก์ของฉันทึบแสงและแนะนำให้ลบในคุก chroot ฉันลองมันและ chroot ทำให้ฉันมีความผิดในการแบ่งส่วน นี่คือสิ่งที่ฉันทำเพื่อสิ่งนั้น: ฉันเปิดใช้งานรูทตามนี้และทำตามคำตอบของ @ bug และนี่เพื่อสร้างคุก chroot Chroot ให้ฉัน

# chroot /Volumes/Shared
Segmentation fault: 11

เพิ่งลองใช้งานภายใน linux สร้าง symlink ลบเป้าหมายโดยไม่มีการร้องเรียนใด ๆ เมื่อทำการลบลิงค์ในภายหลัง ปัญหาแปลก: /
บาร์น

เผง ในใจของฉันเชื่อมโยง SYM เป็นไฟล์เพียงปกติดังนั้นฉันสับสนครับ ...
MetroWind

@ ดาร์กแอร์ฉันคิดว่าถ้าคุณใช้rm -rfมันอาจจะใช้ได้เช่นกัน :)
tftd

@TheDevil: ไม่ฉันพยายามและมันก็ไม่ได้: - \ ซึ่งแปลกมาก ...
MetroWind

คำตอบ:


3

Chflagsมีตัวเลือกที่-hจะไม่ติดตามลิงก์ (ซึ่งฉันข้ามไปอย่างต่อเนื่อง ... )

# chflags -h noopaque,nouappnd,dump fly.pdf

แล้วถังขยะที่ว่างเปล่า


ไฟล์จะอยู่ในสถานะนี้ได้อย่างไร?
Charlie

0

ลองลากไฟล์ไปที่เดสก์ท็อปเปิดหน้าต่างเทอร์มินัลป้อนของคุณsudo rm -Rจากนั้นลากไฟล์ไปที่หน้าต่างเทอร์มินัล

ฉันเคยเห็นงานนี้มาก่อนและฉันจะใช้-Rในกรณีที่ไฟล์เป็นแพคเกจจริงๆ


นี่คือสิ่งที่เกิดขึ้นเมื่อฉันลากไฟล์นั้นไปที่ใดก็ได้: หากปลายทางอยู่ในปริมาณเดียวกับไฟล์ในถังขยะ Finder ต้องการย้ายไฟล์ มันถามรหัสผ่านแล้วไม่มีอะไรเกิดขึ้น (ไฟล์ไม่ถูกย้าย); หากปลายทางอยู่ในโวลุ่มอื่น Finder ต้องการคัดลอกและทำเช่นนั้น ฉันสามารถลบไฟล์ที่คัดลอกใหม่ได้ แต่ไฟล์ในถังขยะยังคงอยู่ และก่อให้เกิดการส่งออกเช่นเดียวกับการได้โดยไม่ต้องrm -R -R
MetroWind

ลองทำเช่นนี้sudo rm -ri ~/.Trashแล้วออกจากระบบและลงชื่อเข้าใช้อีกครั้ง
afragen

ขอบคุณสำหรับความคิด อย่างไรก็ตามดูเหมือนจะไม่แก้ไข :-( ไฟล์ที่เป็นปัญหาอยู่ในถังขยะของไดรฟ์ข้อมูลที่ชื่อว่า "แชร์" ดังนั้นฉันเดาว่าฉันควรแทนที่~/.Trashด้วย/Volumes/Shared/.Trashesใช่ไหมนี่คือผลลัพธ์: pastie.org/3292919 (ขออภัย สำหรับลิงก์ภายนอกฉันไม่สามารถมีรหัสหลายบรรทัดได้ที่นี่ ... และใช่โพสต์ของฉันคือ 1001 :-p)
MetroWind

0

คุณได้ลองrm -rf *ในถังขยะแล้วหรือยังไม่แน่ใจว่ามันใช้งานได้กับลิงค์ของคุณหรือเปล่า แต่ลองดูสิว่าฉันใช้อะไรเมื่อไฟล์ในถังขยะปฏิเสธที่จะลบด้วยถังขยะเปล่า


ขอบคุณสำหรับคำตอบ. ฉันพยายามมัน แต่ก็ยังบ่นเรื่องไม่มี blabla ไฟล์เช่น ...
MetroWind

0

คุณเคยลองunlinkไหม ...

มันอาจจะเป็นไปได้ว่า symlink opaqueจะถูกละเลยเพราะมันเป็น ลองลบมันออกจากบริบทของระบบไฟล์ที่มีอยู่โดยตั้งค่าchrootคุก:

cd /Volumes/Shared
mkdir bin
sudo cp /bin/zsh /bin/rm ./bin
chroot /Volumes/Shared
cd .Trashes/1001/abroad
sudo rm fly.pdf
sudo rm -r /bin

ขอบคุณสำหรับคำแนะนำ ฉันลองแล้วมันจะสร้างผลลัพธ์ที่เหมือนกัน: unlink: fly.pdf: No such file or directory...
MetroWind

รอสักครู่ ... นั่นคือลิงค์ทึบแสง! โฮมโฟลเดอร์ของคุณอยู่ในไดรฟ์ / พาร์ติชั่นที่แตกต่างจากวอลลุ่มบู๊ตของคุณหรือไม่?
ข้อผิดพลาด

ไฟล์ดังกล่าวอยู่ในถังขยะของไดรฟ์ข้อมูลที่เรียกว่า "ใช้ร่วมกัน" ซึ่งไม่ใช่ไดรฟ์ข้อมูลสำหรับเริ่มระบบและบ้านของฉันไม่ได้อยู่ในนั้น ลิงค์ทึบแสงคืออะไร? ฉันพยายามลบopaqueธงด้วยchflagsแต่ฉันทำไม่ได้
MetroWind

Symlink ที่ทำเครื่องหมายว่าopaqueทำหน้าที่เหมือนไฟล์ทั่วไปเมื่อระบบไฟล์ที่ติดตั้งนั้นติดตั้งอยู่ภายในระบบไฟล์อื่น ฉันจะแก้ไขด้วยวิธีแก้ปัญหาที่เป็นไปได้ ...
ข้อผิดพลาด

Chroot บ่นเกี่ยวกับการไม่สามารถหา/bin/zshซึ่งเป็นเปลือกเข้าสู่ระบบของฉัน ฉันยังพยายามและมันบ่นในสิ่งเดียวกันเกี่ยวกับsudo chroot -u root /Volumes/Shared rm .Trashes/1001/abroad/fly.pdf rmฉันควรจะเชื่อมโยงของฉัน/binและ/usr/binเป็น/Volumes/Sharedครั้งแรกอย่างใด?
MetroWind
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.