Yum

Dato che ho cominciato a mettere mano anche a centos scriviamo un po' di sintassi di questo comando

Per aggiornare tutto il sistema risolvendo tutte le dipendenze
yum update
Per cercare qualcosa nei packege
yum search nome-da-cercare
Per avere informazioni maggiori su un package
 yum info any-package
Per installarlo
yum install nome-package-da-install
Per rimuoverlo
yum remove nome-package-da-rimuovere
Per vedere tutti i package installati nel sistema
yum list installed
yum list installed | less
yum list installed | grep nome-da-cercare

Conviene metterlo in pipe con less o con grep
Per visualizzare tutti i package che devono essere aggiornati
yum list update
Per rimuovere i vecchi package installati
yum clean all

yum come risultato del suo uso i packeages rmp memorizzati nella directory /var/cache/yum/ , tutti questi rmp alla lunga possono occupare molto spazio quindi conviene eliminarli dato che dopo l'installazione non sono più utili.

download a package without install it

from this source https://access.redhat.com/solutions/10154

way 1
#(RHEL5)
yum install yum-downloadonly

#(RHEL6)
yum install yum-plugin-downloadonly

#and
yum install --downloadonly --downloaddir=<directory> <package>
way 2 USE THIS
yum install yum-utils
yumdownloader <package>

extract the package content

from the page http://www.cyberciti.biz/tips/how-to-extract-an-rpm-package-without-installing-it.html

rpm2cpio php-5.1.4-1.esp1.x86_64.rpm | cpio -idmv
Per un package rpm
yum install something.i586.rpm

Per installare un rpm in modo che yum risolva tutte le dipendenze.

Mi capitato installando il mysql server

yum install MySQL-server-4.1.21-0.glibc23.i386.rpm

di avere questo messaggio

Downloading Packages:
avvertimento: rpmts_HdrFromFdno: V3 DSA signature: NOKEY, key ID 5072e1f5

Public key for MySQL-server-4.1.21-0.glibc23.i386.rpm is not installed

Questo perchè yum controlla la firma di una chiave che non c'è, procurarsela e installarla non è banala quindi si dice a yum temporaneamente di non fare controlli , modificare

/etc/yum.conf and change the 'gpgcheck=1' to 'gpgcheck=0' temporarily.

Così lo installa senza problemi.

O meglio nel caso specifico dava dei problemi

  1. lo script creato da lui non funziona e non c'era modo di farlo andare
  2. non leggeva il file di configurazione di my.cnf
  3. all'installazione dichiarava incompatibilità tra quella versione di mysql e la capacità di risolvere i nomi

Quindi per farlo partire ho creato io lo scritp così

#!/bin/sh

# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 64 36
# description: A very fast and reliable SQL database engine.

. /etc/init.d/functions
RETVAL=0
start() {
    echo $"Starting mysql 4.1 services: "
    sudo -u mysql /usr/sbin/mysqld --bind-address=0.0.0.0  --skip-name-resolve &
    RETVAL=$?
    echo
}

stop() {
    echo $"Shutting mysql services: "
    killall mysqld
    RETVAL=$?
    echo
}

status(){
    echo $"Stato di mysql tramite ps"
        ps aux | grep mysqld
}

case "$1" in 
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
;;
status)
status 
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit $RETVAL
Salvo diversa indicazione, il contenuto di questa pagina è sotto licenza Creative Commons Attribution-ShareAlike 3.0 License