Rm -rf / tmp / * ile güvenli midir?


29

Bu, Windows'ta çok yaptığım bir şeydi ancak son fiyaskodan sonra emin olmak istiyorum. Yapmak güvenli mi

sudo rm -rf /tmp/*

?


Bu sürekli çalışan bir sunucu mu, yoksa günlük kapanması olan bir masaüstü makinesi mi?
kullanıcı bilinmeyen

Neden / tmp içindeki dosyaları silmek istediğinizi sormak istiyorum. Dolduğu için mi yoksa gizlilik nedeniyle mi? Bu bir uzay sorunuysa, kötü niyetli bir uygulamadan kaynaklanıyor olabilir veya daha büyük bir bölümde olması gerekebilir. Gizlilik ise, düşünmek isteyebileceğiniz şifreli dosya sistemlerini kullanmak gibi başka alternatifler de vardır.
Rob

Sisteminizde çeşitli sorunlara neden olabilir, ancak esas olarak işe yarayacaktır.
peterh Monica

Yanıtlar:


19

Genel olarak hayır.

Önemsizce doluysa, kendisinden sonra hangi yazılımın temizlemediğini görmek isteyebilirsiniz.

Ayrıca uzun süredir silinmemiş ve silinmeleri güvenli olan dosyalara erişmek için find komutunu kullanabilirsiniz.


9
Buradaki 'hayır' korosuyla ve linux dağıtımlarının çoğunun /tmp/başlangıçta otomatik olarak temizleyeceği zeyilname ile aynı fikirde . Burada find ./ -type f -atime 14 -exec rm {} \; her hangi bir yeniden başlatılmayan-EVER sunucusundan bahsediyorsak bu kesinlikle yardımcı olmamakla birlikte, son iki haftada hiç erişilmemiş olan düz dosyaları silmek için her hafta bir olasılık çalışıyor olabilir . ..
Shadur

find ./ -type f -atime 14 -deletegnu-find ile
kullanıcı bilinmeyen

Elbette bu kullanıcı /tmp, relatimesadece dosya değiştirildiğinde güncel olan mevcut çekirdek varsayılanlarını kullanmadığını varsayalım noatime. Bu durumda atimeuzaktan yardımcı olmayacak.
xenoterracide

8

Asıl cevap - buna bağlı. / tmp çalışması için kilit dosyalarının veya geçici günlüklerin bulunmasını gerektiren uygulamalar tarafından kullanılabilir veya kullanılmayabilir. Orada sembolik bağlantılar olabilir ... ne için olduğundan emin değilim, ama her zaman mümkün.

Çıkarmaya karar vermeden önce orada ne olduğuna gerçekten bakmalısınız. Bir şey üzerinde bir rf -rf * yapmak doğası gereği tehlikelidir.


3
Sistemimde logfiles / var / log, lockfiles / var / lock'a gider.
kullanıcı bilinmeyen

3
bir kullanıcıların uygulama için kilitler veya günlük yoksa olmadığından emin @user, sistem cinleri için ... bu mutlaka anlamına gelmez /tmpnormal kullanıcı yazamıyor, çünkü /var/log|lockben bir kilit yazan bir shell script var/tmp
xenoterracide

7

Hayır. Örneğin, bilgisayarınızda çalışan ve soketini kesecek bir MySQL veritabanı varsa veya emacleri sunucu işlemini sonlandıracak bir sunucu olarak kullanıyorsanız. Bu dosyaları kaldırmanın güvenli olmadığı başka birçok durum vardır. Yapılacak en iyi şey, dosyanın tarihini kontrol eden ve yalnızca eskiyse kaldıran bir komut dosyası yazmaktır.


"Soketini öldürecek" derken hızlı soru, 'soket' ile ne yapıyorsunuz?
Qasim


2

Yok hayır.

Ancak / tmp dir için bir ramdisk olabilir, o zaman sistemin her yeniden başlatılmasından sonra boş kalır. Ve bir yan etki olarak sisteminiz biraz daha hızlı olabilir.

Google, tmpfs ve / veya ramfs ile ilgili birçok bilgi içermektedir.


Yeniden başlatma sırasında otomatik olarak / tmp'yi silmek yaygın değil mi? Gentoo yapar ve sanırım Ubuntu yapar, ama kullanmaya başladığımdan bu yana bir süre geçti
Michael Mrozek

Hayır Debian'dan Ubuntu gibi türetilmiş dağıtımların yaptığını sanmıyorum (şu anda zaten). Ama eğer istersen, bunu eklemek oldukça kolaydır.
Johan

Ubuntu Matty (veya şu anki sürüm ne denirse) yapar. Ancak makinenizi düzenli olarak yeniden başlatmazsanız, bu olmayacak.
Rob,

Tamam, akımı kontrol etmedim. Şu anda LTS parçasını kullanıyorum.
Johan

Ubuntu yapar ve daha önce test ettiğim her Linux yaptı: Knoppix, Peanut, Halloween, Red Hat, SuSe. Neden sistemi daha hızlı yapar? Tam olarak daha hızlı ne olurdu? Hesaplamalar, disk erişimi, ağ iletişimi, açılış
kullanıcı bilinmeyen,

-4

Önerim, öncelikle bu dizinden neyin etkilendiğini görmek için tmp klasörünüzü yeniden adlandırmak. "Tmp" den "old_tmp" ye yeniden adlandırın. Ayrıca, "tmp" adında yeni bir boş klasör oluşturun, çünkü bazı kurulum veya sistem işlemleri bu klasörü günlük dosyaları gibi bu dizinde bazı dosyalar oluşturmayı gerektirebilir. Tmp tarihinin güvenli bir şekilde kaldırılması için bu adımları izleyin.

1- Mevcut "tmp" dizinini "old_tmp" olarak yeniden adlandırın. 2- Yeni boş bir "tmp" dizini oluşturun. 3- Bu yeni oluşturulan dizine tüm izinleri "0777" olarak atayın, böylece sistem / kurulum, günlük ve diğer dizinleri bu dizin içinde oluşturmak / yerleştirmek için izin alabilir. 4- Her şeyin yolunda gittiğinden ve her zamanki gibi davrandığından emin olmak için sistemi ve uygulamaları çalıştırın. 2-3 gün boyunca gözlemde tutun. 5- "tmp" dizininizin "old_tmp" olarak yeniden adlandırılmasından dolayı hiçbir şey etkilenmiyorsa, "old_tmp" dizinini silebilirsiniz.

Not: Soruna neden olan herhangi bir şey "tmp" dizinini "old_tmp" olarak yeniden adlandırmaktan kaynaklanıyorsa, bu dizinin orijinal "tmp" adına geri dönmesine izin verin.


2
Bu gerçekten kötü bir fikir. Orada birçok içine geçici dosyaları yazma standart kabuk programları /tmpve orijinalini adlandırmak olarak en kısa sürede başarısız başlayacaktı /tmp. Ayrıca, /tmpdizinin belirli izinlere sahip olması gerektiğini unutmayın (örneğin, sabit bit kümesi).
Kusalananda

Lütfen söylediklerimi dikkatlice okuyunuz: Geçici dosyaları "/ tmp" dizinine geçici olarak yazan birçok standart kabuk aracı olabilir, bu yüzden yeni bir "tmp" dizini oluşturdum ve eski adı yeniden adlandırdıktan sonra buna tam izin verdim. "tmp" dizini.
A.Aleem11

1
Evet, siz de izinlerin 0777aslında ne zaman olması gerektiğini söylemelisiniz 1777.
Kusalananda
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.