Pagina 1 di 1

Aggiornamento necessario?

Inviato: sab 24 mag 2008, 15:20
da Toni
Ho notato che all'avvio vengono eseguiti i seguenti aggiornamenti :

Codice: Seleziona tutto

"Updating shared library links:  /sbin/ldconfig &"
"Updating X font indexes:  /usr/bin/fc-cache -f &"
"Updating icon-theme.cache in /usr/share/icons..."
"Updating gtk.immodules:  gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules"
è necessario effettuarli se non si è installato alcun nuovo software?
La risposta sembra essere no

infatti ho modificato lo script rc.M in questo modo

Codice: Seleziona tutto

# Update all the shared library links: 
if [ -x /sbin/ldconfig -a -x /etc/rc.d/upgradeboot  ]; then         #hack_T
  echo "Updating shared library links:  /sbin/ldconfig &"
  /sbin/ldconfig &
fi


# Update the X font indexes: 
if [ -x /usr/bin/fc-cache -a -x /etc/rc.d/upgradeboot ]; then  #hack_T
  echo "Updating X font indexes:  /usr/bin/fc-cache -f &"
  /usr/bin/fc-cache -f &
fi


#hack_T
if [ -x /etc/rc.d/upgradeboot ]; then
   # Update any existing icon cache files:
   if find /usr/share/icons 2> /dev/null | grep -q icon-theme.cache ; then
     for theme_dir in /usr/share/icons/* ; do
       if [ -r ${theme_dir}/icon-theme.cache  ]; then
         echo "Updating icon-theme.cache in ${theme_dir}..."
         /usr/bin/gtk-update-icon-cache -t -f ${theme_dir} 1> /dev/null 2> /dev/null
       fi
     done
     # This would be a large file and probably shouldn't be there, but if it is
     # then it must be kept updated, too:
     if [ -r /usr/share/icons/icon-theme.cache ]; then
       echo "Updating icon-theme.cache in /usr/share/icons..."
       /usr/bin/gtk-update-icon-cache -t -f /usr/share/icons 1> /dev/null 2> /dev/null
     fi
   fi


   # Update mime database:
   if [ -x /usr/bin/update-mime-database -a -d /usr/share/mime ]; then
     echo "Updating MIME database:  /usr/bin/update-mime-database /usr/share/mime &"
     /usr/bin/update-mime-database /usr/share/mime &
   fi
fi


# SCIM and other GTK+ input methods like this file kept updated: 
if [ -x /usr/bin/gtk-query-immodules-2.0 -a -x /etc/rc.d/upgradeboot  ]; then   #hack_T
  echo "Updating gtk.immodules:  gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules"
  /usr/bin/gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules 2> /dev/null
fi

creato il file

/etc/rc.d/upgradeboot

quindi
chmod +x /etc/rc.d/upgradeboot # slowboot
oppure
chmod -x /etc/rc.d/upgradeboot # fastboot


risparmiando una decina di secondi nei tempi di avvio.
Lo so che sono ridicoli e che ho sporcato lo script rc.M , ma non installo nuovo software molto spesso :lol:

cosa ne pensate?

EDIT : esattamente risparmio 18 secondi all'avvio e tutto sembra funzionare perfettamente

Re: Aggiornamento necessario?

Inviato: sab 24 mag 2008, 15:59
da conraid
Più che nuovo software dipende dallo script.
ldconfig aggiorna la cache delle librerie, ma normalmente lo fa il pacchetto.
fc-cache se installi nuovi font
gli altri le icone gtk e immodules non ho ancora capito bene a dire il vero

anche io gli ho disabilitatiti

Re: Aggiornamento necessario?

Inviato: sab 24 mag 2008, 16:02
da ildiama
Lo faccio anch'io, non come te, ma eliminando esattamente le stesse cose. Se ne era già parlato, mi pare. Le debian-based eseguono ldconfig alla fine dell'installazione di un (o di una serie di) pacchetto. Quella mi sembra una buona soluzione. Analogamente puoi eseguire fc-cache dopo aver installato nuovi fonts (ogni anno?). E l'unica app gtk che mi capita di usare è gimp. Non ho mai capito bene perché Pat le inserisca all'avvio. Però è da slack 10 che io faccio così e non ho mai notato nessun problema.

Re: Aggiornamento necessario?

Inviato: sab 24 mag 2008, 16:07
da Toni
ok .
Caso mai se ci fosse richiesta facciamo un How-To_risparmia-18secondi(circa)all'avvio :lol: :lol: :lol:

allego la patch :lol:

EDIT: per applicarla copiate la patch in /etc/rc.d
meglio prima fare un backup ;)

Codice: Seleziona tutto

#cd /etc/rc.d
#cp rc.M rc.M.backup
e quindi applicare la patch

Codice: Seleziona tutto

patch -p0<patch-rc.M-fastboot.diff.txt

Re: Aggiornamento necessario?

Inviato: sab 24 mag 2008, 18:04
da Bart
Toni ha scritto:ok .
Caso mai se ci fosse richiesta facciamo un How-To_risparmia-18secondi(circa)all'avvio :lol: :lol: :lol:

allego la patch :lol:

EDIT: per applicarla copiate la patch in /etc/rc.d
meglio prima fare un backup ;)

Codice: Seleziona tutto

#cd /etc/rc.d
#cp rc.M rc.M.backup
e quindi applicare la patch

Codice: Seleziona tutto

patch -p0<patch-rc.M-fastboot.diff.txt
C'è già tutto su S4D. ;)

Re: Aggiornamento necessario?

Inviato: sab 24 mag 2008, 19:49
da samiel
Infatti senza complicarsi troppo la vita
basta commentare qualche riga....

M.

Re: Aggiornamento necessario?

Inviato: sab 24 mag 2008, 20:06
da slucky
Infatti senza complicarsi troppo la vita
basta commentare qualche riga....
quando si dice vita da slacker..."simplicity is divine" :D

SAluti

Re: Aggiornamento necessario?

Inviato: sab 24 mag 2008, 21:12
da Toni
ho inventato l'acqua calda :D
e comunque il mio era più che altro un esercizietto. :lol: :lol: :lol:

per quanto riguarda commentare le righe non sono d 'accordo.

- quando installo un nuovo software cosa faccio mi metto a decommentare?
-oppure dovrei ricordarmi quali sono i comandi che dovrei lanciare?

mi sembra più semplice dare da terminale
chmod +x upgradeboot

ciao

Re: Aggiornamento necessario?

Inviato: dom 25 mag 2008, 12:01
da danix
@Toni:
in alternativa potresti commentare tutto quello che hai modificato nell'rc.M e scriverti uno script come questo che mi sono fatto io...

Codice: Seleziona tutto

#! /bin/bash
# update - bash script to update various services in the system

### EXIT STATUS ###
E_NOARGS=21

update_library () {
	echo "Updating shared library links:  /sbin/ldconfig &"
	/sbin/ldconfig &
}

update_fonts () {
	echo "Updating X font indexes:  /usr/bin/fc-cache -f &"
	/usr/bin/fc-cache -f &
}

update_icons () {
	for theme_dir in /usr/share/icons/* ; do
		if [ -r ${theme_dir}/icon-theme.cache ]; then
			echo "Updating icon-theme.cache in ${theme_dir}..."
			/usr/bin/gtk-update-icon-cache -t -f ${theme_dir} 1> /dev/null 2> /dev/null
		fi
	done
	if [ -r /usr/share/icons/icon-theme.cache ]; then
		echo "Updating icon-theme.cache in /usr/share/icons..."
		/usr/bin/gtk-update-icon-cache -t -f /usr/share/icons 1> /dev/null 2> /dev/null
	fi
}

update_mime_db () {
	echo "Updating MIME database:  /usr/bin/update-mime-database /usr/share/mime &"
	/usr/bin/update-mime-database /usr/share/mime &
}

update_input_methods () {
	echo "Updating gtk.immodules:  gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules"
	/usr/bin/gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules 2> /dev/null
}

usage () {
	echo "`basename $0` - by danix < danix@netsons.org >";echo
	echo -e "USAGE:\t`basename $0` {-l| -f | -i | -m | -n | -h}";echo
	echo -e "\t`basename $0` -l\t- update shared library links"
	echo -e "\t`basename $0` -f\t- update font-indexes"
	echo -e "\t`basename $0` -i\t- update icons cache"
	echo -e "\t`basename $0` -m\t- update mime database"
	echo -e "\t`basename $0` -n\t- update imput methods"
	echo -e "\t`basename $0` -h\t- shows this help and exit";echo
	echo -e "If the program is launched without options shows this help and exits";echo
	exit $E_NOARGS
}

if [ $# -eq 0 ];then
	usage
fi

while getopts ":lfimnh" option;do
	case $option in
		l )
			update_library
			;;
		f )
			update_fonts
			;;
		i )
			update_icons
			;;
		m )
			update_mime_db
			;;
		n )
			update_input_methods
			;;
		h )
			usage
			;;
		* )
			usage
			;;
	esac
done
shift $(($OPTIND - 1))

exit 0

in questo modo senza doverti ricordare tutti i comandi a memoria o dover decommentare niente ti basterà lanciarlo con una delle opzioni per aggiornare quel dato servizio... lo puoi lanciare anche con più opzioni per volta se devi aggiornare più cose... :D
Io l'ho messo in /usr/sbin con proprietario root:root ed eseguibile solo dal proprietario...

L'ho scritto abbastanza velocemente, ma dovrebbe funzionare... dagli un'occhiata se vuoi... ;)


Ciau

Re: Aggiornamento necessario?

Inviato: dom 25 mag 2008, 13:02
da Toni
grazie :D