Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Zmazanie starej verzie kernelu - script  (Přečteno 3158 krát)

fish

  • Aktivní člen
  • *
  • Příspěvků: 307
Zmazanie starej verzie kernelu - script
« kdy: 13 Ledna 2010, 10:38:11 »
Už ma nebaví ručne mazať staré verzie kernelu, vyrobil som na to script kernel_del.
Všimol som si že je to častá otázka vo fóre. Tu je script:

Kód: [Vybrat]
#!/bin/bash

#
# Sctipt zmaže vsetky baliky najstaršej verzie kernelu
# created by zaphod
#

# Kolko verzii kernelu chcem mat nainstalovane
nodel=2

# Zoznam verzii kernelu z /boot/vmlinuz*
# cislo verzie sa ziska odrezanim zaciatku a konca nazvu po znak -
cd /boot
index=0
for file in `ls vmlinuz* | sort`
do
  strip1=${file#*-}
  ver[$index]=${strip1%-*}
  (( index += 1 ))
done

# ak je nie je kernel naviac nerob nic
if [ $index -le $nodel ]; then
  echo
  echo "Kernel verzie: ${ver[*]}"
  echo "Mazem ak je pocet verzii kernelu viac ako $nodel"
  exit 2
fi

echo
echo "Kernel verzie: ${ver[*]}"
echo "Zmazem verziu: ${ver[0]}"
echo

# ziskanie nazvov balikov na vymazanie
index=0
for file in `dpkg -l | grep ${ver[0]} | grep ^ii | cut -d ' ' -f 3`
do
  package[$index]=$file
  (( index += 1 ))
done

# mazanie s kontrolnou otazkou
read -n1 -p "Zmazem baliky ${package[*]} (y/n)? "
echo
if [ "$REPLY" == "y" ]; then
  sudo apt-get remove ${package[*]}
else
  echo "Baliky sa nezmazali"
  exit 1
fi

exit 0

Maže najstaršiu verziu kernelu (podľa čísla verzie), všetky balíky ktoré k nemu patria.
Používa bash. Pri spustení v sh nefunguje.
Script vypisuje čo robí, treba ho kontrolovať  ;).

Pre použitie ako príkaz treba uložíť script do $HOME/bin
Kód: [Vybrat]
chmod u+x kernel_del
potom spustiť
Kód: [Vybrat]
kernel_del

alebo spustiť script
Kód: [Vybrat]
bash kernel_del
Acer Aspire 5738ZG/Intel T4400/ATI MR HD 4650/4GB RAM :: Ubuntu 10.04 64bit/Kbuntu 10.10 64bit/Win7 HP 64bit

Milhouse

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5726
Re: Zmazanie starej verzie kernelu - script
« Odpověď #1 kdy: 13 Ledna 2010, 11:35:17 »
A to je problém v terminálu napsat jeden příkaz?:
Citace
sudo aptitude purge linux-image-2[TAB]

Nehledě na to, že ten skript(nejspíš) nemaže závislosti, jako restricted drivers atd.

N. Á. V. O. D. Y.
 "...naše práce není vidět, ale je důležitá!"

 

Provoz zaštiťuje spolek OpenAlt.