1. sayfa (Toplam 1 sayfa)

.DEB Paket Yöneticisi v1.0 [Debian Tasksel Tarzı]

Gönderilme zamanı: 22 Şub 2026, 14:36
gönderen TRWE_2012
KOD İÇERİĞİ :

Kod: Tümünü seç

#!/bin/bash

#############################
# SIMPLE DEB MANAGER
#############################

# --- AUTO ROOT ELEVATION ---
if [[ $EUID -ne 0 ]]; then
    echo "Root yetkisi gerekiyor. sudo ile yeniden başlatılıyor..."
    exec sudo "$0" "$@"
fi

# --- FUNCTIONS ---

get_deb_path() {
    whiptail --inputbox "Tam .deb dosya yolunu giriniz:" 10 70 2>/tmp/debpath
    FILE=$(cat /tmp/debpath)
    if [[ ! -f "$FILE" ]]; then
        whiptail --msgbox "Dosya bulunamadı!" 8 40
        return 1
    fi
}

get_multiple_deb_paths() {
    whiptail --inputbox "Birden fazla .deb yolu girin (boşluk ile ayırın):" 12 70 2>/tmp/debpaths
    FILES=$(cat /tmp/debpaths)
}

install_single() {
    get_deb_path || return
    apt install -y "$FILE"
    whiptail --msgbox "Kurulum tamamlandı." 8 40
}

install_multiple() {
    get_multiple_deb_paths
    apt install -y $FILES
    whiptail --msgbox "Toplu kurulum tamamlandı." 8 40
}

remove_single() {
    PKG=$(whiptail --inputbox "Kaldırılacak paket adını giriniz:" 10 60 3>&1 1>&2 2>&3)
    apt purge -y "$PKG"
    whiptail --msgbox "Paket kaldırıldı (purge)." 8 40
}

remove_multiple() {
    PKGS=$(whiptail --inputbox "Paket adlarını boşluk ile giriniz:" 12 70 3>&1 1>&2 2>&3)
    apt purge -y $PKGS
    whiptail --msgbox "Toplu purge tamamlandı." 8 40
}

simulate_install() {
    get_deb_path || return
    apt install --dry-run "$FILE"
    read -p "Devam etmek için Enter..."
}

inspect_package() {
    get_deb_path || return
    clear
    echo "====== PAKET BİLGİSİ ======"
    dpkg-deb -I "$FILE"

    echo ""
    echo "====== BAĞIMLILIKLAR ======"
    dpkg-deb -f "$FILE" Depends

    echo ""
    echo "====== BOYUT BİLGİSİ ======"
    FILE_SIZE=$(du -h "$FILE" | awk '{print $1}')
    INSTALLED_SIZE=$(dpkg-deb -f "$FILE" Installed-Size)

    echo "Paket dosya boyutu: $FILE_SIZE"
    echo "Kurulum sonrası boyut (KB): $INSTALLED_SIZE"
    read -p "Devam etmek için Enter..."
}

while true; do
CHOICE=$(whiptail --title "Simple DEB Manager" --menu "Bir işlem seçin:" 20 70 10 \
"1" "Tekli Kurulum (.deb)" \
"2" "Çoklu Kurulum (.deb)" \
"3" "Tekli Kaldırma (purge)" \
"4" "Çoklu Kaldırma (purge)" \
"5" "Kurulum Simülasyonu (--dry-run)" \
"6" "Paket İçeriği ve Bağımlılık İncele" \
"7" "Çıkış" 3>&1 1>&2 2>&3)

case $CHOICE in
    1) install_single ;;
    2) install_multiple ;;
    3) remove_single ;;
    4) remove_multiple ;;
    5) simulate_install ;;
    6) inspect_package ;;
    7) exit 0 ;;
esac
done
AÇIKLAMA :

Genel Yapı

Root Kontrolü

Betik root yetkisi olmadan çalıştırılırsa kendini sudo ile yeniden başlatıyor.
Bu, apt ve dpkg komutlarının sorunsuz çalışması için gerekli.

Kullanıcı Arayüzü (whiptail)

Tüm girişler ve seçimler whiptail ile yapılır; kullanıcıya menü, input kutusu ve mesaj kutuları gösterir.

Ana İşlevler

Tekli Kurulum (install_single): Kullanıcıdan bir .deb dosya yolu alır, apt install ile kurar.
Çoklu Kurulum (install_multiple): Birden fazla .deb dosyasını kurar.
Tekli Kaldırma (remove_single): Paket adını alıp apt purge ile kaldırır.
Çoklu Kaldırma (remove_multiple): Birden fazla paketi topluca purge eder.
Kurulum Simülasyonu (simulate_install): Gerçek kurulumu yapmadan, bağımlılık ve paket durumunu --dry-run ile test eder.
Paket İncele (inspect_package): .deb dosyasının içeriğini ve bağımlılıklarını dpkg-deb -I ile gösterir, boyut bilgilerini hesaplar.

Ana Döngü (Menu)

Kullanıcı sürekli bir menü üzerinden işlem seçer.

Seçime göre ilgili fonksiyon çağrılır; “Çıkış” seçeneği ile döngü sonlanır.

Bu tasarladığım betik, terminal üzerinden .deb paketlerini kurma, kaldırma, simüle etme ve inceleme işlemlerini basitleştiren bir interaktif araçtır. Kod, menü tabanlı ve kullanıcı dostu olacak şekilde whiptail kullanılmakta...Debian Tasksel yapısının aynısı....

Uyarı .... ! :

Betik apt install veya purge komutlarını doğrudan çağırıyor; eksik veya yanlış yol girilirse sistem paketleri zarar görebilir.

EKRAN GÖRÜNTÜLERİ ( Sistem : GNU/Linux Mint 22.2 LXDE v13.0 x64)
Resim
Resim

Re: .DEB Paket Yöneticisi v1.0 [Debian Tasksel Tarzı]

Gönderilme zamanı: 23 Şub 2026, 01:12
gönderen burak35
Toolbox gibi birşey sanırım. Hmmm enteresan. :?:

Re: .DEB Paket Yöneticisi v1.0 [Debian Tasksel Tarzı]

Gönderilme zamanı: 23 Şub 2026, 01:18
gönderen TRWE_2012
burak35 yazdı: 23 Şub 2026, 01:12 Toolbox gibi birşey sanırım. Hmmm enteresan. :?:
Hepsi bir arada diyelim Windows dilince....

Re: .DEB Paket Yöneticisi v1.0 [Debian Tasksel Tarzı]

Gönderilme zamanı: 23 Şub 2026, 01:51
gönderen burak35
Aynen. Bazı windows düzenleyenler buna benzer bi araç yapıyordu. Direk toolboxlar geldi aklıma.