Kurduğumuz paket dosyalarını artık kullanmıyoruz ve "sudo apt-get purge paketadı.deb" ile değil de "sudo apt-get remove paketadı.deb" ile kaldırdık diyelim. Bu şekilde kaldırdığımız paketlerin yapılandırma dosyaları sistemimizin içinde kalmaya devam ediyor. Olurda ileride tekrar kurarsak önceki ayarları saklı olarak kurmuş oluyoruz.
Ama neticede sistemimizde zaman içinde onlarca gereksiz yapılandırma dosyası birikmiş oluyor.
Sistemimizde kullanılmayan yapılandırma dosyalarını bulmak için aşağıdaki kodu işletmemiz yeterli:
dpkg -l | awk '/^rc/ {print $2}'
Bu yapılandırma dosyalarını kaldırmak için ise şu kodu çalıştırıyoruz:
sudo su
dpkg -l | awk '/^rc/ {print $2}' | xargs dpkg --purge
Veya root ile giriş yapmadan:
dpkg -l | awk '/^rc/ {print $2}' | sudo xargs dpkg --purge
Bu şekilde zamanla program kurup kaldırdıkça sistemimizde gereksiz yer kaplayan artıkları temizlemiş oluyoruz.
Herkes önce kendi bilgisayarını temiz tutmalı, sonra kaldırımımızı, sonra çevremizi, sonra.. :)
Alıntı yapılan: Aequitas - 13 Ocak 2012 - 16:38:27
dpkg -l | awk '/^rc/ {print $2}'.
Anlatım için teşekkürler.
Sanırım üstteki komutun sonundaki "nokta" işaret fazladan konulmuş, öyle mi?
Ek olarak temizliğe başlama işleminden önce şu hatayı alırsanız;
dpkg: error: requested operation requires superuser privilege
alttaki komutu, ardından parolanızı girerek yeniden deneyin.
su
...
Faydalı bir bilgi oldu. Teşekkürler.
@alquirel, için teşekkür ederim, bir nokta fazlalık olmuş, ilk defa sabitleniyorum da, onun heyecanından olsa gerek :)
@gufabe, haklısın, sonuçta yönetici hakları olmadan yapılamayacak bir işlem bu. Başına eklemeyi yaptım, teşekkür ederim :)
Bu arada sudo işe yaramıyor bu komut ile. İlle de root olarak giriş yapmayı şart koşuyor.
sudo gücenmesin :)
dpkg -l | awk '/^rc/ {print $2}' | sudo xargs dpkg --purge
Teşekkür ederim @heartsmagic, bunu da ekledim. :)
Bu iş Ubuntu Tweak isimli uygulama ile de yapılabiliyor. Acemi kullanıcıların gözünü korkutmayalım komutlarla :)
Hehe, eminim onlar da bir zaman gelecek, bunu merak edeceklerdir.
Peki burada şunu sorsam yersiz olur mu?
Bu komuttaki parametrelerin anlamları nedir?
Mesela "^" ne işe yarıyor?
"(" ile "{" arasında ne fark var?
Kesme işareti ile tırnak arasında ne fark var ('/^rc/ {print $2}' yerine "/^rc/ {print $2}" olsa mesela)
rc'den sonra "/" koymazsak onu klasör olarak algılamıyor mu ya da onu koymamızın başka bir amacı mı var?
Bir de sanırım "|" kendinden sonra gelen komutu sistem genelinde değil de sadece kendinden önceki komutun çıktısı içinde işletiyor.
"^" bir düzenli ifade (regex) kuralı. Dillere göre düzenli ifadelerde değişiklikler olabiliyor. Burdaki anlamı .. ile başlayan satırlar için işlem yapılacağını belirtir.
Burgulu parantezler {} awk dilinde karışıklıkları önlemek adına kod öbeklerini diğerlerinden ayırmaya yarıyor.
awk komutundaki /..../ kısım ise arama yapılacak metnin girildiği bloktur. /^rc/ ile awk dpkg çıktısından gelen verideki rc ile başlayan satırlar için işlem yapar.
"|" yani borulama (piping) .. kendinden önceki komutun çıktısını bir sonraki komuta girdi olarak iletir.
Normal parantezler $(...) şeklinde kullanılır. Parantez içindeki yapının komut olarak yorumlanacağını (yani çalıştırılacağını) belirtir.
Tek tırnak ile çift tırnak arasındaki en önemli fark ; tek tırnak içerisindeki komutlar bash tarafından çalıştırılmaz.
Çift tırnak içerisindeki komut çalışır.
echo "$(uname -r)"
Tek tırnak içerisinde çalışmaz.
echo '$(uname -r)'
awk ve sed gibi dillerin kendilerine özel değişkenleri var. Bunlardan bazıları bash ın kendi kullandıkları ile de ortak. Örneğin $0 bash yorumlamasında çalıştırılan betiğin adıdır ama awk içinde tüm satırı ifade eder. Eğer bash ın yorumladığı işlemde awk ile $0 kullanacaksak awk komutunda tek tırnak kullanmak zorunludur ya da bash ile çakışacak değişkenleri tek tek ters bölü işareti "\" ile işaretleyerek bash a özel bir değişken olarak yorumlamamasını bildirebiliriz.
Yukarıdaki örnekten devam edersek
echo "\$(uname -r)"
normalde bash ın komut olarak algılaması gereken kısmı ters bölü kullanarak normal bir metin olarak yorumlamasını istedik.
@ironic, çok teşekkür ederim ayrıntılı açıklama için. Hakikaten kod işi ayrı bir dünya. İçimde yazılım hep bir tutku olmuştur ama hiç fırsat bulamadım, belli mi olur ileride bir gün bu tutkumu hayata geçiririm. Ama şimdilik bu işin bana gerçekten oldukça uzak olduğunu bir kez daha anladım. Tekrar teşekkür ederim. :)
bilgi için cok teşekkürler
Package 2 listed more than once, only processing once.
Package 2 listed more than once, only processing once.
Package 2 listed more than once, only processing once.
Package 2 listed more than once, only processing once.
Package 2 listed more than once, only processing once.
Package 2 listed more than once, only processing once.
Package 2 listed more than once, only processing once.
.
.
.
.
.
dpkg: warning: ingoring request to remove 2 wich isn't installed.
dedi. Şimdi oldumu ne oldu çözemedim. ?
Çıktı neden böyle bilmiyorum ama ayar dosyalarını silmenin bir diğer yolu ise Synaptic'i açın sol altta "Durum" butonuna tıklayın sonra eğer sol üstte "Kurulu olmayan (yarım kalmış yapılandırma)" diye bir satır çıkarsa tıklayıp yanda listelenen yarım yapılandırmaları "tamamen kaldırma için işaretle" ile kaldırın. Eğer çıkmazsa yarım yapılandırma yoktur zaten.
sorun çözüldü,teşekkürler.
İşe yaradı tskrler 8)
faydalı bi konu. teşekkürler
Sizlerin sayesinde 4 yıldır öğrenmeye devam ediyorum.
Çok teşekkürler temizliğimizi yaptık.
kodların hiçbiri işe yaramıyor
@feritarslan yaramayan kısım neresi ise bir başlık açın ve yaptığınız işlemleri oraya aktarın. Bakalım hiçbiri işe yaramıyor mu?
Aequitas bu komutların Arch için olanı var mı ? Ya da bilen :)
Debian tabanlı dağıtımlarda işe yarıyor. :)
Arch'ın, daha doğrusu Pacman'in böyle bir yapısı var mı? Yani dpkg'de olduğu gibi belirli yerlerde yapılandırma dosyaları tutuyor mu? .pacsave ve .pacnew gibi dosyalar var ama onların amacı biraz daha farklı sanki.
/var/lib/pacman/local dizini altında her bir kurulu pakete ait bir dizin bulunur ve bu dizinde o pakete ait >tree
.
├── desc
├── files
└── mtree
dosyaları bulunur. desc içinde paketin adı, sürümü, tanımı, bağımlılıkları vs. gibi bilgiler; files içinde yüklenen dosyalar ve kurum zamanı ve md5 değeri vs. bulunur. Bu bilgileri kullanarak paket ve ilgili dosyalar kullanılan kaldırma seçeneğine bağlı olarak kaldırılıyor.
Sadece -R kullanılırsa meselâ /etc altındaki ayar dosyası/dosyaları kaldırılmaz, .pacsave olarak kaydedilir. Yine .log dosyaları kaldırılmaz. Bunun haricinde uygulamanın kendine has oluşturduğu dosyalar kaldırılmaz. Bu durumda pacman'in yapabileceği bir şey yok. Bu[1] ve bunun[2] gibi önerileri denemelisiniz.
-Rn ile foo paketine ait hemen hemen ne var ne yoksa - /etc dizini altındaki ayar dosyaları da dahil - kaldırır fakat uygulamaların ya da kullanıcıların uygulamaya ait ev dizininde oluşturduğu ayar dosyalarına dokunmaz.
/var/cache/pacman/pkg dizininde de kurulan paketler yer alır. -Sc ile bu dizin altındaki paketler silinir. -Scc ile hem bu dizindeki paketler hem de kullanımayan depolar kaldırılır.
man pacman
https://wiki.archlinux.org/index.php/Pacman
[1] https://aur.archlinux.org/packages/lostfiles/
[2] https://wiki.archlinux.org/index.php/Pacman_tips#Identify_files_not_owned_by_any_package
eywallah işe yaradı inşallah yanlış bişeler silmez =)
İmlâya dikkat edin lütfen.
https://forum.ubuntu-tr.net/index.php?topic=32631.0
Çok yararlı bilgi ellerin dert görmesin :) sene 2018 hala çalışıyor arkadaşlar
Alıntı yapılan: Aequitas - 13 Ocak 2012 - 16:38:27
Kurduğumuz paket dosyalarını artık kullanmıyoruz ve "sudo apt-get purge paketadı.deb" ile değil de "sudo apt-get remove paketadı.deb" ile kaldırdık diyelim. Bu şekilde kaldırdığımız paketlerin yapılandırma dosyaları sistemimizin içinde kalmaya devam ediyor. Olurda ileride tekrar kurarsak önceki ayarları saklı olarak kurmuş oluyoruz.
Ama neticede sistemimizde zaman içinde onlarca gereksiz yapılandırma dosyası birikmiş oluyor.
Sistemimizde kullanılmayan yapılandırma dosyalarını bulmak için aşağıdaki kodu işletmemiz yeterli:
dpkg -l | awk '/^rc/ {print $2}'
Bu yapılandırma dosyalarını kaldırmak için ise şu kodu çalıştırıyoruz:
sudo su
dpkg -l | awk '/^rc/ {print $2}' | xargs dpkg --purge
Veya root ile giriş yapmadan:
dpkg -l | awk '/^rc/ {print $2}' | sudo xargs dpkg --purge
Bu şekilde zamanla program kurup kaldırdıkça sistemimizde gereksiz yer kaplayan artıkları temizlemiş oluyoruz.
Herkes önce kendi bilgisayarını temiz tutmalı, sonra kaldırımımızı, sonra çevremizi, sonra.. :)
Çok yararlı oldu. Teşekkürler
Bende bir tane dosya çıktı.
linuxmaster@notebookpc:~/Masaüstü$ su
Parola:
root@notebookpc:/home/linuxmaster/Masaüstü# dpkg -l | awk '/^rc/ {print $2}'
libgstreamer0.10-0:i386
root@notebookpc:/home/linuxmaster/Masaüstü#
Ayrıca ben temiz tutma işini Ubuntu Optimizer v1.0.0.3 x32bit adlı Türk Yazılımına bıraktım.Terminal komutlarının görsel uygulaması olup sistemimde tek bir dosyanın çıkması kadar doğal bir sonuç olamaz.
Alıntı yapılan: LinuxMaster - 25 Haziran 2018 - 18:32:14
Bende bir tane dosya çıktı.
linuxmaster@notebookpc:~/Masaüstü$ su
Parola:
root@notebookpc:/home/linuxmaster/Masaüstü# dpkg -l | awk '/^rc/ {print $2}'
libgstreamer0.10-0:i386
root@notebookpc:/home/linuxmaster/Masaüstü#
Ayrıca ben temiz tutma işini Ubuntu Optimizer v1.0.0.3 x32bit adlı Türk Yazılımına bıraktım.Terminal komutlarının görsel uygulaması olup sistemimde tek bir dosyanın çıkması kadar doğal bir sonuç olamaz.
Uygulamayı paylaşabilir misiniz?
Alıntı yapılan: Aequitas - 13 Ocak 2012 - 16:38:27
Kurduğumuz paket dosyalarını artık kullanmıyoruz ve "sudo apt-get purge paketadı.deb" ile değil de "sudo apt-get remove paketadı.deb" ile kaldırdık diyelim. Bu şekilde kaldırdığımız paketlerin yapılandırma dosyaları sistemimizin içinde kalmaya devam ediyor. Olurda ileride tekrar kurarsak önceki ayarları saklı olarak kurmuş oluyoruz.
Ama neticede sistemimizde zaman içinde onlarca gereksiz yapılandırma dosyası birikmiş oluyor.
Sistemimizde kullanılmayan yapılandırma dosyalarını bulmak için aşağıdaki kodu işletmemiz yeterli:
dpkg -l | awk '/^rc/ {print $2}'
Bu yapılandırma dosyalarını kaldırmak için ise şu kodu çalıştırıyoruz:
sudo su
dpkg -l | awk '/^rc/ {print $2}' | xargs dpkg --purge
Veya root ile giriş yapmadan:
dpkg -l | awk '/^rc/ {print $2}' | sudo xargs dpkg --purge
Bu şekilde zamanla program kurup kaldırdıkça sistemimizde gereksiz yer kaplayan artıkları temizlemiş oluyoruz.
Herkes önce kendi bilgisayarını temiz tutmalı, sonra kaldırımımızı, sonra çevremizi, sonra.. :)
dpkg -l | awk '/^rc/ {print $2}' | xargs dpkg --purge[/code] bu kodu çalıştırdıktan sonra yazılım merkezi ve ona bağlı proğramlar kayboldu. Ubuntu 21.10 kullanıyorum.
Bende baya varmış ;
dpkg -l | awk '/^rc/ {print $2}'
fuse
gnome-software
linux-image-5.15.0-76-generic
linux-modules-5.15.0-76-generic
linux-modules-extra-5.15.0-76-generic
mozillavpn
sgt-launcher
thunderbird
wireguard-tools
Fakat ?
Yapılandırma dosyaları kaldırılıyor: thunderbird (1:102.13.0+build1-0ubuntu0.22.04.1) ...
dpkg: uyarı: thunderbird kaldırılırken '/etc/apport/native-origins.d' dizini boş olmadığı için kaldırılmadı
@mahferer, söz konusu dizin içinde başka paketlere ait dosyalar olabilir, bu yüzden o dizin silinmemiştir. Başka dosya olmasa dahi o dizin kaldırılan pakete değil başka bir pakete ait olduğu için de silinmez.
Ben, bu tip paket artıklarını temizlemek için Synaptic kullanıyorum.
Kurulu Olmayan (Yarım Kalmış Yapılandırma) kısmından, sistemdeki bu yapılandırmalar kaldırılabiliyor.
Alıntı yapılan: yakusha - 11 Ağustos 2023 - 23:59:06Ben, bu tip paket artıklarını temizlemek için Synaptic kullanıyorum.
Kurulu Olmayan (Yarım Kalmış Yapılandırma) kısmından, sistemdeki bu yapılandırmalar kaldırılabiliyor.
En pratiği bu imiş. Teşekkürler...
Dün ilginç bir şey oldu anlamadım
Benim kernel 6.2
Bu temizlik ile 5.15.76 kernel temizlendi
Dün apt update yaptım terminal ile
5.15.78 indirdi kurdu ama uname bilgisine göre kernel hâlâ 6.2
Bir önceki kernelin sistemde yer alması mı gerekiyor da indirdi?
Başka bir yerden o pakete bağımlı paket kalmış olabilir. Bağımlılık olunca da yeniden indirebilir. Aslında 2 tane çekirdek kalması çok kötü bir şey de değil. Normalde Linux dağıtımları eski çekirdekleri kendileri temizliyorlar. Bir çekirdekte sorun yaşarsanız öncekine dönmeniz de mümkün oluyor.
Mesela bende 6.2.0-27-generic çekirdeği aktif, aynı anda Linux yakusha 6.2.0-26-generic çekirdeği de kurulu.