rm -rf / tmp / *가 안전합니까?


29

이것은 Windows에서 많이 사용했던 것이지만 최근의 실패 이후에 확인하고 싶습니다. 안전한가요?

sudo rm -rf /tmp/*

?


이 서버는 항상 실행중인 서버입니까, 아니면 매일 종료되는 데스크탑 컴퓨터입니까?
사용자가 알 수 없음

/ tmp에서 파일을 삭제하려는 이유 를 묻고 싶습니다. 그것이 채워져 있기 때문입니까, 아니면 개인 정보 보호를 위해입니까? 공간 문제인 경우 응용 프로그램이 제대로 작동하지 않거나 더 큰 파티션에 있어야 할 수도 있습니다. 개인 정보 보호의 경우 암호화 파일 시스템 사용과 같은 다른 대안이 있습니다.
Rob

시스템에 여러 가지 문제가 발생할 수 있지만 주로 작동합니다.
peterh는 모니카 복원 복원

답변:


19

일반적으로 아닙니다.

정크 파일로 가득 찬 경우 어떤 소프트웨어가 정리되지 않은지 살펴볼 수 있습니다.

찾기를 사용하여 오랫동안 수정하거나 액세스하지 않은 파일을 삭제해도 안전한 파일을 식별 할 수도 있습니다.


9
여기서 'no'라는 코러스와 대부분의 Linux 배포판이 /tmp/시작시 자동으로 정리되는 부록과 일치 합니다. 재부팅하지 않는 서버에 대해 이야기하는 경우 이것이 도움이되지는 않지만 find ./ -type f -atime 14 -exec rm {} \; 매주 실행 되거나 지난 2 주 동안 전혀 액세스하지 않은 모든 일반 파일을 삭제할 가능성이 있습니다 . ..
Shadur

find ./ -type f -atime 14 -deletegnu-find 포함
사용자가 알 수 없음

@user는 물론 파일이 수정 될 때만 업데이트 /tmp되는 현재 커널 기본값을 사용하지 않는다고 가정합니다 . 어떤 경우에는 원격으로 도움이되지 않습니다. relatimenoatimeatime
xenoterracide

8

진정한 대답은-그것은 다릅니다. / tmp는 실행하기 위해 잠금 파일이나 임시 로그가 있어야하는 응용 프로그램에서 사용되거나 그렇지 않을 수 있습니다. 거기에 심볼릭 링크가있을 수 있습니다 ... 무엇을위한 지 확실하지 않지만 항상 가능합니다.

제거하기 전에 실제로 무엇이 들어 있는지 확인해야합니다. 무엇이든 rf -rf *를 수행하는 것은 본질적으로 위험합니다.


3
내 시스템에서 로그 파일은 / var / log로, lockfiles는 / var / lock으로 이동합니다.
사용자가 알 수 없음

3
에서 사용자 응용 프로그램에 대한 잠금 또는 로그가되지 않도록 @user, 시스템 데몬 ...이 반드시 의미하지 않는다 /tmp에 일반 사용자가 쓸 수 있기 때문에 /var/log|lockI가 잠금을 기록하는 쉘 스크립트를이/tmp
xenoterracide을

7

예를 들어, 컴퓨터에서 소켓을 강제 종료하는 MySQL 데이터베이스가 있거나 서버 프로세스를 강제 종료하는 서버로 emacs를 사용하는 경우. 이러한 파일을 제거하는 것이 안전하지 않은 다른 많은 경우가 있습니다. 가장 좋은 방법은 파일의 날짜를 확인하고 오래된 파일 만 제거하는 스크립트를 작성하는 것입니다.


"소켓을 죽일 것"이라고 말할 때의 빠른 질문은 '소켓'으로 무엇을 말합니까?
Qasim


2

아니.

그러나 / tmp 디렉토리의 램 디스크 일 수 있으며 시스템을 재부팅 할 때마다 비어 있습니다. 부작용으로 시스템이 조금 더 빨라질 수 있습니다.

Google은 tmpfs 및 / 또는 ramfs에 대한 정보를 많이 가지고 있습니다.


다시 시작할 때 / tmp를 자동으로 지우는 것이 일반적이지 않습니까? 젠투도, 우분투도 그렇게 생각합니다.하지만 그것을 사용
한지 오래

아니오. 우분투와 같은 데비안 파생 배포판이 지금은 아닙니다. 그러나 원하는 경우 추가하기가 매우 쉽습니다.
Johan

우분투 매티 (또는 현재 릴리스가 무엇이든간에)가합니다. 그러나 컴퓨터를 정기적으로 재부팅하지 않으면 발생하지 않습니다.
Rob

좋아, 전류를 확인하지 않았다. 지금 LTS 트랙을 사용하고 있습니다.
요한

우분투는 Knoppix, Peanut, Halloween, Red Hat, SuSe와 같은 모든 Linux를 테스트했습니다. 왜 시스템이 더 빨라질까요? 정확히 더 빠른 것은 무엇입니까? 계산, 디스크 액세스, 네트워킹, 부팅?
사용자가 알 수 없음

-4

이 디렉토리의 영향을 확인하려면 먼저 tmp 폴더의 이름을 바꾸는 것이 좋습니다. "tmp"에서 "old_tmp"로 이름을 바꾸십시오. 또한 일부 설치 또는 시스템 프로세스에서이 폴더 내에 로그 파일과 같은 일부 파일을 작성하려면이 폴더가 필요할 수 있으므로 이름이 "tmp"인 비어있는 새 폴더를 작성하십시오. tmp 날짜를 안전하게 제거하려면 다음 단계를 따르십시오.

1- 기존 "tmp"디렉토리의 이름을 "old_tmp"로 바꿉니다. 2- 비어있는 새 "tmp"디렉토리 작성 3- 시스템 / 설정에서이 디렉토리 내에 로그 및 기타 파일을 작성 / 배치 할 수있는 권한을 "0777"로 모든 권한을이 새로 작성된 디렉토리에 지정하십시오. 4- 시스템과 응용 프로그램을 실행하여 모든 것이 정상적으로 작동하고 평소와 같이 작동하는지 확인하십시오. 2-3 일 동안 관찰하십시오. 5- "tmp"디렉토리의 이름을 "old_tmp"로 변경하여 아무런 영향이없는 경우 "old_tmp"디렉토리를 삭제할 수 있습니다.

참고 : "tmp"디렉토리의 이름을 "old_tmp"로 바꾸어 문제가 발생한 경우이 디렉토리를 원래 "tmp"이름으로 되 돌리십시오.


2
이것은 정말 나쁜 생각입니다. 임시 파일을 작성 하고 원본의 이름을 바꾸는 즉시 실패 하는 표준 쉘 유틸리티 가 많이 있습니다 . 또한 디렉토리에는 특정 권한이 있어야합니다 (예 : 고정 비트 세트). /tmp/tmp/tmp
Kusalananda

내가 말한 내용을주의 깊게 읽으십시오. 임시 파일을 "/ tmp"디렉토리에 쓰는 표준 쉘 유틸리티가 많이있을 수 있습니다. 그래서 기존의 이름을 바꾼 후에 새 "tmp"디렉토리를 작성하고 해당 디렉토리에 대한 완전한 권한을 부여했습니다. "tmp"디렉토리.
A.Aleem11

1
예, 0777실제로 사용 권한은 실제로 있어야한다고 말했습니다 1777.
Kusalananda
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.