KB Cinsinden...
Bash Betiği
Aşağıdaki betiği bir dosyaya kaydedebilirsiniz. Örneğin, deb_info.sh adında bir dosya oluşturabilirsiniz.
Kod: Tümünü seç
#!/bin/bash
# Kullanım kontrolü
if [ "$#" -ne 1 ]; then
echo "Kullanım: $0 <paket.dosya>"
exit 1
fi
DEB_PAKETI="$1"
# .deb dosyasının varlığını kontrol et
if [ ! -f "$DEB_PAKETI" ]; then
echo "Hata: Dosya bulunamadı: $DEB_PAKETI"
exit 1
fi
# .deb dosyasının içindeki dosyaları listele
echo "Paket: $DEB_PAKETI"
echo "İçindeki dosyalar:"
# Dosyaları listele ve say
DOSYA_LISTESI=$(dpkg-deb -c "$DEB_PAKETI")
DOSYA_SAYISI=$(echo "$DOSYA_LISTESI" | wc -l)
# Disk alanını hesapla
DISK_ALANI=$(dpkg-deb -I "$DEB_PAKETI" | grep "Size" | awk '{print $2}')
# Sonuçları yazdır
echo "$DOSYA_SAYISI dosya bulundu."
echo "Diskte kapladığı alan: $((DISK_ALANI / 1024)) KB"
echo "Kurulum yolları:"
echo "$DOSYA_LISTESI"
Yukarıdaki kodu bir dosyaya yapıştırın ve deb_info.sh olarak kaydedin.
Terminalde dosyaya çalıştırma izni verin:
Kod: Tümünü seç
chmod +x deb_info.sh
Kod: Tümünü seç
./deb_info.sh /path/to/your/package.deb
Betik, verilen .deb dosyasının içindeki dosyaların sayısını, toplam disk alanını (KB cinsinden) ve kurulum yollarını listeleyecektir.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kod: Tümünü seç
dpkg-deb -c
komutu, .deb dosyasının içeriğini listelemek için kullanılır.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kod: Tümünü seç
dpkg-deb -I
komutu, .deb dosyasının meta bilgilerini almak için kullanılır.
MB Cinsinden.... (benim kullandığım sonuçlar daha da tutarlı ve anlamlı)
Disk alanını megabayt (MB) cinsinden gösterecek şekilde betiği yeniden kodlayarak güncelledim. Aşağıda, disk alanını MB cinsinden hesaplayacak şekilde düzenlenmiş bash betiği bulunmaktadır:
Güncellenmiş Bash Betiği
Kod: Tümünü seç
#!/bin/bash
# Kullanım kontrolü
if [ "$#" -ne 1 ]; then
echo "Kullanım: $0 <paket.dosya>"
exit 1
fi
DEB_PAKETI="$1"
# .deb dosyasının varlığını kontrol et
if [ ! -f "$DEB_PAKETI" ]; then
echo "Hata: Dosya bulunamadı: $DEB_PAKETI"
exit 1
fi
# .deb dosyasının içindeki dosyaları listele
echo "Paket: $DEB_PAKETI"
echo "İçindeki dosyalar:"
# Dosyaları listele ve say
DOSYA_LISTESI=$(dpkg-deb -c "$DEB_PAKETI")
DOSYA_SAYISI=$(echo "$DOSYA_LISTESI" | wc -l)
# Disk alanını hesapla (MB cinsinden)
DISK_ALANI=$(dpkg-deb -I "$DEB_PAKETI" | grep "Size" | awk '{print $2}')
DISK_ALANI_MB=$(echo "scale=2; $DISK_ALANI / 1024 / 1024" | bc)
# Sonuçları yazdır
echo "$DOSYA_SAYISI dosya bulundu."
echo "Diskte kapladığı alan: $DISK_ALANI_MB MB"
echo "Kurulum yolları:"
echo "$DOSYA_LISTESI"
Yukarıdaki kodu bir dosyaya yapıştırın ve deb_info.sh olarak kaydedin.
Terminalde dosyaya çalıştırma izni verin:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kod: Tümünü seç
chmod +x deb_info.sh
Betiği çalıştırın ve bir .deb dosyasının yolunu verin:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kod: Tümünü seç
./deb_info.sh /path/to/your/package.deb
Açıklama
Bu güncellenmiş betikte, disk alanı MB cinsinden hesaplanmakta ve sonuç iki ondalık basamakla gösterilmektedir. bc komutu, matematiksel hesaplamalar için kullanılır ve burada MB cinsinden hesaplama yapmak için kullanılmıştır.
Bu şekilde, .deb paketinin içindeki dosyaların sayısını, toplam disk alanını (MB cinsinden) ve kurulum yollarını görüntüleyebilirsiniz.
ÖRNEK KOMUT ÇIKTISI :
Bash scriptinin çalıştırılması sonucunda elde edilebilecek gerçekçi bir terminal çıktısı örneği bulunmaktadır. Bu örnek, bir .deb dosyasının var olduğu ve içindeki dosyaların listelendiği bir durumu yansıtmaktadır.
Kod: Tümünü seç
$ ./script.sh paket.dosya
Paket: paket.dosya
İçindeki dosyalar:
drwxr-xr-x root/root 0 2023-10-01 12:00 ./usr/
drwxr-xr-x root/root 0 2023-10-01 12:00 ./usr/bin/
-rwxr-xr-x root/root 123456 2023-10-01 12:00 ./usr/bin/ornek_program
drwxr-xr-x root/root 0 2023-10-01 12:00 ./usr/share/
drwxr-xr-x root/root 0 2023-10-01 12:00 ./usr/share/doc/
-rw-r--r-- root/root 65432 2023-10-01 12:00 ./usr/share/doc/ornek_program/README.md
-rw-r--r-- root/root 12345 2023-10-01 12:00 ./usr/share/doc/ornek_program/changelog.gz
6 dosya bulundu.
Diskte kapladığı alan: 0.12 MB
Kurulum yolları:
drwxr-xr-x root/root 0 2023-10-01 12:00 ./usr/
drwxr-xr-x root/root 0 2023-10-01 12:00 ./usr/bin/
-rwxr-xr-x root/root 123456 2023-10-01 12:00 ./usr/bin/ornek_program
drwxr-xr-x root/root 0 2023-10-01 12:00 ./usr/share/
drwxr-xr-x root/root 0 2023-10-01 12:00 ./usr/share/doc/
-rw-r--r-- root/root 65432 2023-10-01 12:00 ./usr/share/doc/ornek_program/README.md
-rw-r--r-- root/root 12345 2023-10-01 12:00 ./usr/share/doc/ornek_program/changelog.gz
Bu çıktı, paket.dosya adlı bir .deb dosyasının içeriğini ve disk alanını gösterir. İçindeki dosyaların listesi, dosya izinleri, sahiplik bilgileri ve boyutlarıyla birlikte verilmiştir. Disk alanı ise MB cinsinden hesaplanmıştır.
Bu Bash Betiği Hangi Hallerde Lazım Olur?/Olabilir GNU/Linux PC Kullanıcısına....!?
Bu bash betiği, GNU/Linux kullanıcıları için çeşitli durumlarda faydalı olabilir. İşte bazı örnek senaryolar:
1.Paket Yönetimi:
Kullanıcılar, sistemlerine yeni yazılımlar yüklemek için .deb dosyalarını kullanabilirler. Bu betik, bir .deb dosyasının içeriğini hızlıca incelemek ve hangi dosyaların yükleneceğini görmek için kullanılabilir.
2.Disk Alanı Yönetimi:
Kullanıcılar, sistemlerinde hangi paketlerin ne kadar disk alanı kapladığını bilmek isteyebilirler. Bu betik, bir .deb dosyasının ne kadar yer kapladığını göstererek, disk alanı yönetimine yardımcı olabilir.
3.Hata Ayıklama:
Bir yazılımın kurulumunda sorun yaşandığında, kullanıcılar .deb dosyasının içeriğini kontrol ederek eksik dosyaları veya hatalı kurulumları tespit edebilirler.
4.Geliştiriciler için:
Yazılım geliştiricileri, oluşturdukları .deb paketlerinin içeriğini kontrol etmek isteyebilir. Bu betik, geliştiricilere paketlerinin doğru dosyaları içerip içermediğini hızlıca kontrol etme imkanı sunar.
5.Belgelendirme:
Kullanıcılar, belirli bir yazılımın hangi dosyaları içerdiğini ve bu dosyaların nerede bulunduğunu belgelemek isteyebilir. Bu betik, bu bilgileri hızlıca elde etmelerine yardımcı olur.
6.Sistem Yedekleme:
Kullanıcılar, belirli bir yazılımın yedeğini almak istediklerinde, o yazılıma ait .deb dosyasını inceleyerek hangi dosyaların yedeklenmesi gerektiğini belirleyebilirler.
7.Güvenlik Kontrolü:
Kullanıcılar, sistemlerinde yüklü olan yazılımların güvenliğini sağlamak için, hangi dosyaların yüklendiğini ve bu dosyaların nerede bulunduğunu kontrol edebilirler.
Bu tür bir betik, kullanıcıların sistemlerini daha iyi yönetmelerine ve yazılım paketleri hakkında daha fazla bilgi edinmelerine yardımcı olur.
Güle güle kullanın....