GNU/Linux Update Fix

Linux ve Unix tabanli isletim sistemlerini hep beraber tanıyıp öğreneceğiz.
Cevapla
Kullanıcı avatarı
TRWE_2012
Exabyte4
Exabyte4
Mesajlar: 14937
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2439 kez
Teşekkür edildi: 5146 kez

GNU/Linux Update Fix

Mesaj gönderen TRWE_2012 »

Resim
BETİKLER :

apt_update.sh

Kod: Tümünü seç

#!/bin/bash
export LANG=tr_TR.UTF-8
export LC_ALL=tr_TR.UTF-8

# ============================================================
# apt_update.sh
# Runs the standard apt maintenance chain with the
# command-not-found hook temporarily moved out of apt.conf.d
# so cnf-update-db never blocks the update process.
# The hook is always restored on exit (even on Ctrl+C or error).
# ============================================================

# --- Re-execute as root if needed ---
if [ "$EUID" -ne 0 ]; then
    exec sudo bash "$0" "$@"
fi

# --- Locate the CNF hook file ---
CNF_HOOK=""
for candidate in \
    "/etc/apt/apt.conf.d/50command-not-found" \
    "/usr/lib/apt/apt.conf.d/50command-not-found"; do
    if [ -f "$candidate" ]; then
        CNF_HOOK="$candidate"
        break
    fi
done

# --- Backup path (outside apt.conf.d so apt never reads it) ---
CNF_HOOK_BACKUP="/var/lib/command-not-found/50command-not-found.running_backup"

# --- Always restore hook on script exit ---
restore_hook() {
    if [ -f "$CNF_HOOK_BACKUP" ] && [ -n "$CNF_HOOK" ]; then
        mv "$CNF_HOOK_BACKUP" "$CNF_HOOK"
    fi
}
trap restore_hook EXIT

# --- Disable hook before apt runs ---
if [ -n "$CNF_HOOK" ]; then
    mv "$CNF_HOOK" "$CNF_HOOK_BACKUP"
fi

# --- Your 10-year apt chain (unchanged) ---
apt-get -u update && \
apt-get -u upgrade && \
apt-get -u dselect-upgrade && \
apt-get -u install -ff && \
apt-get -u install --fix-broken && \
apt-get -u check

read -rp $'\nPress ENTER to exit.' _
cnf_toggle.sh (Asıl Sorun Çözen Bu Betiktir.)

Kod: Tümünü seç

#!/bin/bash
export LANG=tr_TR.UTF-8
export LC_ALL=tr_TR.UTF-8

# ============================================================
# cnf_toggle.sh
# Toggles the command-not-found apt hook on or off.
# ACTIVE   : hook file lives in apt.conf.d  → cnf-update-db runs after apt update
# INACTIVE : hook file moved outside apt.conf.d → cnf-update-db never runs
# ============================================================

# --- Re-execute as root if needed ---
if [ "$EUID" -ne 0 ]; then
    exec sudo bash "$0" "$@"
fi

# --- Paths ---
CNF_HOOK=""
CNF_HOOK_STORE="/var/lib/command-not-found/50command-not-found.toggled_off"

for candidate in \
    "/etc/apt/apt.conf.d/50command-not-found" \
    "/usr/lib/apt/apt.conf.d/50command-not-found"; do
    if [ -f "$candidate" ]; then
        CNF_HOOK="$candidate"
        break
    fi
done

# --- Toggle logic ---
if [ -f "$CNF_HOOK" ]; then
    # Currently ACTIVE → disable it
    mv "$CNF_HOOK" "$CNF_HOOK_STORE"
    echo ""
    echo "  command-not-found hook: DEVRE DISI BIRAKILDI"
    echo "  (cnf-update-db artik apt update sonrasi calismaz)"
    echo ""
elif [ -f "$CNF_HOOK_STORE" ]; then
    # Currently INACTIVE → restore it
    # Determine where to restore (prefer /etc/apt/apt.conf.d/)
    if [ -z "$CNF_HOOK" ]; then
        CNF_HOOK="/etc/apt/apt.conf.d/50command-not-found"
    fi
    mv "$CNF_HOOK_STORE" "$CNF_HOOK"
    echo ""
    echo "  command-not-found hook: AKTIF EDILDI"
    echo "  (cnf-update-db apt update sonrasi tekrar calisacak)"
    echo ""
else
    echo ""
    echo "  HATA: Hook dosyasi bulunamadi."
    echo "  Ne apt.conf.d icinde ne de yedek konumda mevcut."
    echo ""
fi

read -rp $'\nPress ENTER to exit.' _
Güle güle kullanın...Kendi sorunumu kökten çözdüm.
Kullanıcı avatarı
TRWE_2012
Exabyte4
Exabyte4
Mesajlar: 14937
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2439 kez
Teşekkür edildi: 5146 kez

Nasıl Kullanır Betikler ?

Mesaj gönderen TRWE_2012 »

Yukarıda bir bölüm tam çıkmamış
Resim
Resim
SONUÇ (Artık takılma donma yok hız var)

Kod: Tümünü seç


linuxmaster@notebook-pc:~$ sudo -s /bin/sh -c "apt-get -u update && apt-get -u upgrade && apt-get -u dselect-upgrade && apt-get -u install -ff && apt-get -u install --fix-broken && apt-get -u check"
[sudo] linuxmaster için parola:  ***********************************************************         
Aynı:  1 http://archive.ubuntu.com/ubuntu noble InRelease
Aynı:  2 http://security.ubuntu.com/ubuntu noble-security InRelease                                                                   
Aynı:  3 http://archive.ubuntu.com/ubuntu noble-updates InRelease                                                                     
Yoksay:4 http://packages.linuxmint.com zara InRelease                                                                                 
Yoksay:5 https://repo.vivaldi.com/stable/deb stable InRelease                                                                  
Aynı:  6 http://archive.ubuntu.com/ubuntu noble-backports InRelease                                   
Aynı:  7 https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease                                                       
Aynı:  8 https://ppa.launchpadcontent.net/ubuntuhandbook1/apps/ubuntu noble InRelease                                           
Aynı:  9 http://packages.linuxmint.com zara Release                                                  
Aynı:  10 https://ppa.launchpadcontent.net/yannubuntu/boot-repair/ubuntu noble InRelease             
Aynı:  11 https://repo.vivaldi.com/stable/deb stable Release
Paket listeleri okunuyor... Bitti
Paket listeleri okunuyor... Bitti
Bağımlılık ağacı oluşturuluyor... Bitti
Durum bilgisi okunuyor... Bitti               
Yükseltme hesaplanıyor... Bitti
Aşağıdaki paketlerin mevcut durumları korunacak:
  i965-va-driver i965-va-driver:i386 language-pack-en language-pack-en-base language-pack-gnome-en language-pack-gnome-en-base
  language-pack-gnome-tr language-pack-gnome-tr-base language-pack-tr language-pack-tr-base libdrm-amdgpu1 libdrm-amdgpu1:i386
  libdrm-common libdrm-intel1 libdrm-intel1:i386 libdrm-nouveau2 libdrm-radeon1 libdrm2 libdrm2:i386 libegl-mesa0 libgbm1
  libgbm1:i386 libgl1-mesa-dri:i386 libgl1-mesa-dri libglx-mesa0 libglx-mesa0:i386 libnvidia-cfg1-580 libnvidia-common-580
  libnvidia-compute-580 libnvidia-compute-580:i386 libnvidia-decode-580 libnvidia-decode-580:i386 libnvidia-encode-580
  libnvidia-encode-580:i386 libnvidia-extra-580 libnvidia-fbc1-580 libnvidia-fbc1-580:i386 libnvidia-gl-580 libnvidia-gl-580:i386
  libosmesa6 libosmesa6:i386 libva-drm2 libva-drm2:i386 libva-wayland2 libva-x11-2 libva-x11-2:i386 libva2 libva2:i386 libxatracker2
  linux-firmware linux-generic-hwe-24.04 linux-headers-generic-hwe-24.04 linux-image-generic-hwe-24.04 linux-libc-dev
  linux-tools-common mesa-libgallium mesa-libgallium:i386 mesa-va-drivers mesa-va-drivers:i386 mesa-vdpau-drivers
  mesa-vdpau-drivers:i386 mesa-vulkan-drivers mesa-vulkan-drivers:i386 nvidia-compute-utils-580 nvidia-dkms-580-open
  nvidia-driver-580-open nvidia-kernel-common-580 nvidia-kernel-source-580-open nvidia-settings nvidia-utils-580 va-driver-all
  va-driver-all:i386 xserver-xorg-video-nvidia-580 xwayland
0 paket yükseltilecek, 0 yeni paket kurulacak, 0 paket kaldırılacak ve 74 paket yükseltilmeyecek.
Paket listeleri okunuyor... Bitti
Bağımlılık ağacı oluşturuluyor... Bitti
Durum bilgisi okunuyor... Bitti               
0 paket yükseltilecek, 0 yeni paket kurulacak, 0 paket kaldırılacak ve 74 paket yükseltilmeyecek.
Paket listeleri okunuyor... Bitti
Bağımlılık ağacı oluşturuluyor... Bitti
Durum bilgisi okunuyor... Bitti               
0 paket yükseltilecek, 0 yeni paket kurulacak, 0 paket kaldırılacak ve 74 paket yükseltilmeyecek.
Paket listeleri okunuyor... Bitti
Bağımlılık ağacı oluşturuluyor... Bitti
Durum bilgisi okunuyor... Bitti               
0 paket yükseltilecek, 0 yeni paket kurulacak, 0 paket kaldırılacak ve 74 paket yükseltilmeyecek.
Paket listeleri okunuyor... Bitti
Bağımlılık ağacı oluşturuluyor... Bitti
Durum bilgisi okunuyor... Bitti               
linuxmaster@notebook-pc:~$ 

Cevapla

“Linux ve Unix tabanli isletim sistemleri” sayfasına dön