1. sayfa (Toplam 1 sayfa)

.deb Paketinin Ayrıntılarını Terminal'den İnceleme

Gönderilme zamanı: 22 Oca 2025 18:41
gönderen TRWE_2012
GNU/Linux Mint veya genel olarak Debian tabanlı sistemlerde bir .deb paketinin içindeki dosya sayısını, diskte kapladığı alanı ve kurulum yollarını gösteren bir bash betiği kodlayabiliriz.Zaten GNU/Linux ve GNU/Unix sistemlerinin güzelliği burada belli olur.

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"

Betiği Kullanma

    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

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"
Betiği Kullanma

    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
ÖRNEK KOMUT ÇIKTISI : Resimli - Sistem : GNU/Linux Mint 21.1 LXDE x64
Resim
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....

Re: .deb Paketinin Ayrıntılarını Terminal'den İnceleme

Gönderilme zamanı: 22 Oca 2025 18:43
gönderen TRWE_2012
Burada yayınlanan bash shell betiklerim;

1.Emsalsizdir.

2.Alıntı/Çalıntı değildir.

3.%100 orjinaldir.

4.Yazılım Adası, yayımlanan betikler üzerinde yasal haklara sahiptir.(Kaynak gösterme olayı)

5.Tüm kullanıcıların kullanıma sunulmuştur.

6.Betiklerde hatalar olabilir.Bu durumda hemen bana buradan mesaj atın ki düzeltmek için bocalayım (tecrübeli filan değilim sadece amatörüm)

TRWE_2012
Alaydan Yetişme PC Kullanıcısı