"/" 아래에 생성된 쓰레기통을 어떻게 관리하나요?

"/" 아래에 생성된 쓰레기통을 어떻게 관리하나요?

저번에 파일을 버렸는데

$ pwd
/tmp/test
$ trash mfile 
trash: cannot trash regular file `mfile'
$ sudo trash mfile 
$

파일 항목

$ sudo ls /.Trash/0/files -la
total 12
drwx------ 2 root root 4096 May 19 16:52 .
drwx------ 4 root root 4096 May 19 16:52 ..
-rw-rw-r-- 1 t    t       6 May 19 16:48 mfile
  1. 이제 휴지통을 비울 수 없습니다.

    $ sudo trash-empty 
    $ sudo ls /.Trash/0/files -la
    total 12
    drwx------ 2 root root 4096 May 19 16:52 .
    drwx------ 4 root root 4096 May 19 16:52 ..
    -rw-rw-r-- 1 t    t       6 May 19 16:48 mfile
    

    휴지통을 비우려면 어떻게 해야 합니까?

  2. 휴지통에 있는 파일도 나열할 수 없습니다.

    $ sudo trash-list
    [sudo] password for t: 
    TrashDir skipped because parent not sticky: /.Trash/0
    

    감사해요.

답변1

이 문제의 근본 원인은 마운트된 파티션에 대해 휴지통 폴더가 생성될 때 휴지통 폴더가 생성되지 않고 생성될 수 있다는 것입니다.끈끈한 비트놓다. 이 문제는 다음 중 하나에 설치할 때 발생합니다."system_internal" 설치 경로 이 문제와 관련된 버그가 보고되었습니다.쓰레기-cli그리고 커밋(2a83ed5)의 휴지통 비우기에 비밀 --trash-dir 옵션을 추가하여 고정 비트 검사를 우회하고 휴지통 비우기가 지정된 디렉터리를 비울 수 있도록 하는 해결 방법을 추가했습니다. 이 단서는 우리를 가장 간단한 해결책으로 인도합니다. 다음 명령을 사용하여 관련 휴지통 폴더에 고정 비트를 설정하면 chmod +t /mount/point/.Trash휴지통이 예상대로 작동하게 됩니다. /srvUbuntu 16.04 및 Ubuntu 18.04 /home에 설치된 파티션에서 이 방법을 테스트했는데 예상 /media/$USER/VolumeName대로 성공했습니다. 이 접근 방식이 다른 "nix"에서도 작동하기를 바랍니다.

노트:이 방법은 NTFS 및 FAT와 같이 고정 비트 설정을 지원하지 않는 파일 시스템에서는 작동하지 않지만 EXT2/3/4 파일 시스템에서는 잘 작동합니다.

이것은 그 목록입니다"system_internal" 설치 경로:

 "/",              /* we already have "Filesystem root" in Nautilus */ 
    "/bin",
    "/boot",
    "/compat/linux/proc",
    "/compat/linux/sys",
    "/dev",
    "/etc",
    "/home",
    "/lib",
    "/lib64",
    "/libexec",
    "/live/cow",
    "/live/image",
    "/media",
    "/mnt",
    "/opt",
    "/rescue",
    "/root",
    "/sbin",
    "/srv",
    "/tmp",
    "/usr",
    "/usr/X11R6",
    "/usr/local",
    "/usr/obj",
    "/usr/ports",
    "/usr/src",
    "/usr/xobj",
    "/var",
    "/var/crash",
    "/var/local",
    "/var/log",
    "/var/log/audit", /* https://bugzilla.redhat.com/show_bug.cgi?id=333041 */
    "/var/mail",
    "/var/run",
    "/var/tmp",       /* https://bugzilla.redhat.com/show_bug.cgi?id=335241 */
    "/proc",
    "/sbin",
    "/net",
    "/sys",

원천:

https://github.com/andreafrancia/trash-cli/issues/65

https://www.linuxquestions.org/questions/linux-desktop-74/how-do-empty-view-trash-files-on-mounted-volumes-899188/

https://en.wikipedia.org/wiki/Sticky_bit

답변2

제거하려면 rm 명령(-r 및 -f 스위치 포함)을 사용하면 됩니다. 삭제된 파일에 대한 디렉터리(r)와 기호 링크(f)가 제거됩니다.

rm -rf /.Trash/0/files/*

전역 확장(*)을 잊지 마세요. 그렇지 않으면 정크 디렉토리가 삭제됩니다.

echo "alias empty='rm -rf /.Trash/0/files/*'" >> ~/.bashrc

별칭이 생성되므로 이제 명령을 사용하여 휴지통을 비울 수 있습니다 empty.

관련 정보