DESCRIPTION | Strumenti di Update su Linux | Live Discussion - Skill: 2- JUNIOR |
L'aggiornamento dei sistemi è un operazione fondamentale per la loro sicurezza, sia in ambito "enterprise" che "casalingo". L'unica differrenza sostanziale saranno i mezzi, le necessità e le modalità ma l'obbiettivo è comune: proteggere i propri sistemi aggiornandone il software regolarmente per eliminare possibili vie di intrusione tramite vulnerabilità note. Esistono molteplici vie per eseguire l'update di sistemi Linux: utilizzare tools per gestire pacchetti rpm o deb, installare nuovi binari, compilare i sorgenti patchati oppure usufruire dei servizi di aggiornamento offerti dalle principali distribuzioni, che forniscono, generalmente a pagamento, strumenti sofisticati di management dei sistemi e aggiornamento automatico dei pacchetti. |
||||
Patching dei Sorgenti Tramite utility come patch o diff, o sermplicemente ricompilando un nuovo tarball, è possibile applicare o creare patch (file contenenti modifiche da apportare ai file originari). Questa operazione viene eseguita principalmente quando si lavora direttamente dai sorgenti, ricompilandoli una volta applicata la patch. RPM Tramite l'utility rpm è possibile tenere aggiornato un sistema manualmente, scaricando e installando gli errata o gli aggiornamenti dei vari package. apt Tool creati dal team di Debian per la gestione dei package, sono simili a RPM, ed è possibile utilizzarli, oltre che con i pacchetti Debian, anche con altre distribuzioni, rpm based. Autorpm Script in perl per l'automatizzazione dell'installazione di rpm, può appoggiarsi sia a repository ufficiali sia a repository privati. Inoltre mette a disposizione una shell interattiva da cui è possibile eseguire comandi e update in realtime. E' la soluzione ideale per chi usa distribuzioni basate su rpm e non intende avvalersi del supporto commerciale del produttore. RedHat Network e analoghi Servizi commerciali offerti dalle principali distribuzioni con cui è possibile automatizzare l'aggiornamento di server registrati. Particolarmente evoluto è il RedHat Network (RHN) che permette di gestire e aggiornare facilmente anche via Web una moltitudine di sistemi, vantando anche una invidiabile rapidità negli aggiornamenti per motivi di sicurezza. up2date, utilizzabile sia via command line che tramite interfaccia grafica, è il programma utilizzato per aggiornarsi tramite RHN. |
DESCRIPTION | Usare pacchetti (rpm) per l'installazione di programmi su Linux | Live Discussion - Skill: 2- JUNIOR |
Per installare dei programmi su Linux esistono vari modi: - compilare il sorgente, pratica che può essere complessa ma è utile in casi particolari; - utilizzare pacchetti (packages) che contengono i programmi già compilati e pronti per l'uso, facilitando e standardizzando la gestione del software sul sistema. |
||||
I sistemi di package più comuni su Linux sono RPM e DEB. I pacchetti .deb vengono usati nelle distribuzioni derivate da Debian, gli .rpm sono stati definiti da RedHat e risultano essere i più diffusi. Slackware pacchettizza il suoi programmi con normali tar gzippati: .tgz. Affrontiamo qui l'uso di RPM, Red Hat Package Manager, sottolineando che file .deb e, in parte, .tgz vengono gestiti con comandi diversi ma hanno una logica simile. Un package costruito con RPM è un archivio di file e informazioni che può essere installato, rimosso, interrogato sul sistema. RPM permette di installare programmi, già compilati, con una facilità e rapidità estrema sul proprio Linux (è paragonabile ad un unico setup.exe su Windows). Si sottolinea che ogni distribuzione e anche ogni versione della stessa distribuzione richiede pacchetti dedicati, adatti per il proprio sistema: un RPM realizzato per RedHat 6.2, per esempio, difficilmente funzionerà su RedHat 7.2. RPM gestisce automaticamente le "dependencies": se si prova ad installare un RPM che richiede librerie o programmi non presenti o non abbastanza aggiornati sul sistema, l'installazione fallisce e viene indicato quali file mancano. Analogamente, se si prova a rimuovere un package che contiene file utilizzati da altri programmi, viene dato un messaggio di errore. Gli RPM automaticamente distribuiscono i file di un pacchetto nelle directory giuste (logs in /var/log, file di configurazione in /etc/, binari in /usr/bin o /usr/sbin, script di startup in /etc/rc.d/init.d/ ecc.) e verificano la presenza di conflitti o installazioni più recenti. La rimozione di un RPM non cancella mai nulla che non abbia installato. Se deve sostituire o cancellare un file di configurazione, per esempio, viene mantenuto il file esistente con il suffisso .rpmsave .Le opzioni più comuni per usare il comando rpm per gestire file .rpm sono: rpm -i [opzioni] pacchetto Installa il pacchetto .rpm specificato.rpm -U [opzioni] pacchetto Aggiorna il pacchetto con una versione più recente. rpm -e [opzioni] pacchetto Disinstalla il pacchetto, rimuovendone i file dal sistema. rpm -q [opzioni] [pacchetto] Visualizza informazioni varie sul pacchetto (descrizione, file contenuti ecc.)Le comuni distribuzioni Linux offrono svariati tool grafici per una semplice gestione dei pacchetti installati sul sistema. Di fatto questi programmi eseguono le stesse operazioni del comando rpm, ma sono più semplici ed immediate da usare. La tendenza, sempre più diffusa, è quella di prevedere meccanismi di update automatizzato, per gestire il sempre alto numero di aggiornamenti (per sicurezza e bug fix) di programmi. E' un principio analogo al Windows Update su sistemi Microsoft, ma si applica a tutti i programmi installati, e non solo al sistema operativo.
|
DESCRIPTION | RedHat Network (RHN) | Live Discussion - Skill: 2- JUNIOR |
RedHat Network è nata per gestire con più facilità gli aggiornamenti software di uno o più sistemi RedHat, anche di vecchia data. La sua prima comparsa risale nella distribuzione RedHat 6.0, tramite l'utility up2date. |
||||
Attualmente oltre all'utility testuale up2date si ha disposizione una GUI (interfaccia grafica) e un demone (RHNSD) che si occupa di gestire in via del tutto automatica i check periodici per gli upgrade. Il principio su cui si basa RHN è molto semplice, di fatto RedHat mette a disposizione dei repository da cui poter scaricare gli aggiornamenti tramite un client specifico, up2date. Questo client si occupa di scaricare gli aggiornamenti in modo "intelligente", ovvero facendo ricerche incrociate per downlodare solo i RPM necessari. Da sottolineare che lo scambio dei dati fra client e server RHN viene effettuato tramite il protocollo SSL e che sui pacchetti scaricati vengono fatti controlli di integrità attraverso il checksum GPG per evitare spiacevoli problemi di intercettazione dati e malformazione dei pacchetti. Inoltre l'utility è estremamente flessibile poichè da la possibilità al sistem administrator di configurare molteplici opzioni, come ad esempio la possibilità di creare liste di rpm che non dovranno mai essere aggiornati oppure la creazione di più utenti per la gestione dei singoli canali (Es RedHat 8.0 i386 e RedHat 6.2 sparc sono due canali diversi) con permessi differenti, oppure decidere semplicemente di downlodare e non installere gli upgrade. Esistono anche soluzioni per ottimizzare e velocizzare tutte le procedure di automatizzazione dell'upgrade di più sistemi come: RHN proxy RHN proxy, come si può intendere dal nome stesso è un sistema che permette di usufruire del servizio RHN tramite un proxy, il quale avrà il compito di scaricare e mettere in cache tutti gli aggiornamenti necessari per i sistemi della propria network. Il vantaggio risiede nella riduzione del traffico (Es. l'aggiornamento del RPM del kernel viene scaricato una volta, salvato sul proxy ma utilizzato da tutti i sistemi che lo richiedono) oltre alla possibilità di propagare rpm personalizzati o che non sono stati rilasciati ufficialmente dallo staff di RedHat. RHN Satellite RHN Satellite, oltre a tutti i vantaggi di RHN Proxy, permette di avere nella propria network un vero e proprio server RHN con tutti i vantaggi del caso. Per usufruire di questa possibilità vengono richiesti sforzi maggiori per quanto riguarda i requisiti di sistema (ES: Installazione di Oracle e di RedHat Advanced Server). Anche in questo caso si ha la possibilità di configurare nei minimi dettagli tutte le singole opzioni oltre che utilizzare questo sistema anche come server kickstart per effettuare installazioni personalizzate direttamente via rete. Questa soluzione risulta essere vantaggiosa solo in caso di reti aziendali molto grosse, nell'ordine di 1000 host e più.
|
DESCRIPTION | Shell interattiva di AutoRPM | Live Discussion - Skill: 3- INTERMEDIATE |
AutoRPM può essere utilizzato per scaricare ed installare pacchetti in modo manuale o automatico, può essere invocato direttamente come singola riga di comando, utile in operazioni schedulate, oppure, senza specificare alcun parametro, può venire utilizzato in modo interattivo. Di seguito è riportato un esempio di uso della shell interattiva di AutoRPM. In questo caso specifico vengono documentate le operazioni principali da effettuare al primo lancio di AutoRPM come strumento per l'update del sistema da cui è lanciata l'utility. |
||||
Per utilizzare la shell interattiva basta lanciare lo script autorpm. Nel caso in cui sia la prima volta che viene lanciato viene chiesta la possibilità di visualizzare un piccolo help [root@draco root]# autorpm This appears to be the first time you have run AutoRPM. Would you like to read a brief introduction? (y/[N]) y Breve brifing, con alcuni suggerimento per l'uso dell'utility in questione Welcome to AutoRPM Interactive Mode By default, AutoRPM will run at night and check for official updates for your system. It will place these in the interactive queue that you manage by running 'autorpm' from the command line. Some people choose to automatically install any official updates to packages that they already have installed if they pass the signature check. To enable this feature, simply edit /etc/autorpm.d/redhat-updates.conf. For a list of commands, type 'help' in interactive mode. For help on any specific command, type 'help command'. Here are some useful commands: list (lists the contents of the interactive queue) install (installs RPMs that are in the queue) remove (removes RPMs that are in the queue) add (manually add RPMs to the interactive queue) * It is highly recommended that you install the Perl module Term::ReadLine::Gnu * This will provide you with history, tab completion, and other nice features. Viene chiesta la possibilità di iniziare ad installare i package, nel caso in cui si scelga no si accede direttamente alla shell. Would you like to try to install that package now (i386)? (y/[N]) n L'impostazione di default prevede la visualizzazione di TIPS all'avvio della shell. -= AutoRPM Tip ('set tips off' to disable) =- You can use the 'add' command to add files or directories to the interactive queue. Each file (or all of the files in a local or remote directory) will be processed and added to the queue if it is new or an upgrade. Here are some examples: add ftp://ftp.kaybee.org/pub/redhat/RPMS/noarch (Either of these will add all RPMs in /tmp to the queue) add /tmp/*.rpm add /tmp Promp della shell AutoRPM@draco> Visualizzazione dell'help AutoRPM@draco> ? Comando per uscire dalla shell senza salvare le modifiche apportate abort: aborts interactive mode (does not save changes) Comando per aggiungere rpm add: adds RPMs to the interactive queue Comando per abilitare in modo automatico tutti i processi configurati in /etc/autorpm.d/autorpm.conf auto: automatically processes RPMs as defined in autorpm.conf Cambia la directory corrente cd: changes local directory Esce dalla shell interattiva salvando tutte le modifiche exit: exits interactive mode (saves changes) [Aliases: quit] Visualizza tutte le informazioni relative ad un rpm o più rpm fullinfo: displays full information about one or more RPMs Richiama questo help help: provides help on the various commands [Aliases: ?] Visualizza alcune informazioni di un rpm o più rpm info: displays brief information about one or more RPMs Installa un RPM install: installs RPM(s) on system [Aliases: upgrade] Visualizza la lista list: lists RPMs in the queue [Aliases: ls] Rimuove RPM dalla lista remove: removes RPMs from the interactive queue [Aliases: rm] Salva tutti i cambiamenti apportati save: Saves all changes made so far to the queue Visualizza o modifica i settaggi set: Displays or modifies settings Esempio di visualizzazione e settaggio delle impostazioni Visualizzazione di tutti i settaggi disponibili AutoRPM@draco> set Available Settings: color debug expand_queue_entries ftp_hash ftp_hash_size ftp_passive_mode interactive_deps rpm_install_opt rpm_location run_system_cmds show_auto_ignore show_host show_rc tips Visualizzazione dei parametri di un'opzione specifica AutoRPM@draco> set ftp_hash Valore attuale dell'opzione ftp_hash: off Breve descrizione Whether to show hash marks for FTP transfers I valori che può acquisire questa opzione Possible Values: 'on' 'off' AutoRPM@draco> set rpm_location Valore attuale dell'opzione rpm_location: /bin/rpm Breve descrizione The location of the RPM binary and any global options I valori che può acquisire questa opzione Possible Values: Filename Esempio di modifica dei parametri Negazione della visualizzazione dei tips all'avvio della shell AutoRPM@draco> set tips off Attivazione debugging AutoRPM@draco> set debug on Visualizzazione dei vari rpm disponibili AutoRPM@draco> list [...] [New ] samba-client-2.2.7-2 [New ] samba-common-2.2.7-2 [New ] samba-swat-2.2.7-2 [New ] sendmail-cf-8.12.8-1.80 [New ] sendmail-devel-8.12.8-1.80 [New ] sendmail-doc-8.12.8-1.80 [New ] squirrelmail-1.2.10-1 [New ] tetex-dvips-1.0.7-57.1 [New ] vim-X11-6.1-18.8x.1 [New ] vim-enhanced-6.1-18.8x.1 [New ] vnc-3.3.3r2-39.2 [New ] vnc-doc-3.3.3r2-39.2 [New ] vnc-server-3.3.3r2-39.2 [New ] vte-0.8.19-2 [...] Installazione dei vari upgrade AutoRPM@draco> install updates [...] Chiusura e salvataggio impostazioni AutoRPM@draco> exit 166 RPM(s) waiting to be installed/updated/removed Interactively |
DESCRIPTION | Aggiornamento di Red Hat via command line | Live Discussion - Skill: 3- INTERMEDIATE |
Attualmente sono disponibili due modalità differenti per usufruire del servizio RHN (Red Hat Network) con cui si può aggiornare il proprio Red Hat Linux: - Command line - GUI Le modalità e le opzioni configurabili sono le medesime cambia solo l'ambiente e la modalità con cui si eseguono alcune operazioni, le operazioni di fondo e le operazioni sul sistema risultano identiche. Di seguito è riportato un mini How-To sull'uso di up2date, l'agent per accedere RHN tramite la command line. |
||||
Configurazione Nel caso in cui sia la prima volta che venga attivato l'agent up2date viene visualizzata una schermata che permette di modificare tramite un menu testuale tutte le opzioni che verranno salvate nel file di configurazione /etc/sysconfig/rhn/up2date .Per richiamare il medesimo menu in un secondo tempo, lanciare il comando up2date-config oppure up2date --nox --config Lancio dell'utility up2date, nel caso in cui le opzioni vadano bene premere enter altrimenti è possibile modificare le singole opzioni, inserendo il numero dell'opzione da modificare e in un secondo momento inserire il nuovo lavoro. [root@ns root]# up2date 0. debug No 1. isatty Yes 2. depslist [] 3. retrieveOnly No 4. enableRollbacks No 5. pkgSkipList ['kernel*'] 6. storageDir /var/spool/up2date 7. adminAddress ['root@localhost'] 8. noBootLoader No 9. serverURL https://xmlrpc.rhn.redhat.com/XMLRPC 10. fileSkipList [] 11. sslCACert /usr/share/rhn/RHNS-CA-CERT 12. noReplaceConfig Yes 13. useNoSSLForPackage No 14. systemIdPath /etc/sysconfig/rhn/systemid 15. enableProxyAuth No 16. retrieveSource No 17. versionOverride 18. headerFetchCount 10 19. networkRetries 5 20. enableProxy No 21. proxyPassword 22. noSSLServerURL http://xmlrpc.rhn.redhat.com/XMLRPC 23. keepAfterInstall No 24. proxyUser 25. removeSkipList ['kernel*'] 26. useGPG Yes 27. gpgKeyRing /etc/sysconfig/rhn/up2date-keyring.gpg 28. httpProxy 29. headerCacheSize 40 30. forceInstall No Esempio di modifica di una opzione 0. debug No [...] 29. httpProxy 30. headerCacheSize 40 31. forceInstall No Enter number of item to edit return to exit, q to quit without saving>: 0 Attribute Name: debug Comment: Whether or not debugging is enabled Current value: No New Value: Yes Nel caso in cui venga abilitato il check tramite GPG verrà richiesto di importare la chiave pubblica di RedHat Inc. [...] Your GPG keyring does not contain the Red Hat, Inc. public key. Without it, you will be unable to verify that packages Update Agent downloads are securely signed by Red Hat. Your Update Agent options specify that you want to use GPG. To install the key, run the following as root: rpm --import /usr/share/rhn/RPM-GPG-KEY [root@ns root]# rpm --import /usr/share/rhn/RPM-GPG-KEY Registrazione Eseguita la configurazione, occorre registrarsi attraverso la creazione di un account (username, password, etc..) che verrà utilizzato dal sistema per connettersi ai server RHN o dal system administrator per gestire i profili (Lista RPM, architettura, release, etc... ) degli host da amministrare. La procedura di creazione dell'account e del profilo del server è gestita tramite una pseudo-GUI simile a quella che si ritrova durante l'installazione testuale. Considerare che anche se l'accesso a RHN è gratuito per un singolo sistema, se si vuole essere certi di scaricare in ogni momento i propri aggiornamenti è opportuno acquistare il servizio RedHat Update dal sito RedHat. ![]() ![]() Esempi di uso dell'utility up2date Visualizzazione dei RPM scaricabili [root@GIOVE root]# up2date --showall [...] xsane-0.84-8 xsane-gimp-0.84-8 xscreensaver-4.05-6 xsnow-1.42-8 [...] Verifica del canale utilizzato [root@GIOVE root]# up2date --show-channels Lista degli RPM da aggiornare [root@GIOVE root]# up2date --list Fetching package list for channel: redhat-linux-i386-8.0... ######################################## Fetching Obsoletes list for channel: redhat-linux-i386-8.0... ######################################## Fetching rpm headers... Name Version Rel ---------------------------------------------------------- The following Packages were marked to be skipped by your configuration: Name Version Rel Reason ------------------------------------------------------------------------------- kernel 2.4.18 26.8.0Pkg name/pattern kernel-source 2.4.18 26.8.0Pkg name/pattern None of the packages you requested were found, or they are already updated. Purtroppo a volte ci sono degli inconvenienti: [root@GIOVE root]# up2date --showall IMPORTANT MESSAGE FOLLOWS: We are upgrading our service capabilities. Full service will be restored within 1 hour. We apologize for any inconvenience this outage may cause. Thank you for using Red Hat Network. --the RHN team |
DESCRIPTION | APT: Installazione e uso | Live Discussion - Skill: 3- INTERMEDIATE |
APT (Advanced Packaging Tool) è un tool che permette di eseguire operazioni avanzate sulla gestione dei package da installare, upgradare o da rimuovere. Nato dal team di Debian, viene installato di default nella suddetta distribuzione ma può essere utilizzato anche in altre distribuzioni come RedHat tramite un porting di nome apt-rpm. |
||||
Le differenze fra APT adottato dalle distribuzioni rpm compatibili e quello originale di Debian per i pacchetti .deb sono minime ed in entrambi i casi risulta essere una valida alternativa a tools come rpmfind o up2date per l'handling dei package di un sistema. Di seguito è riportato un mini how-to sull'uso di apt con un confronto fra la distribuzione originale e il porting: Installazione REDHAT: Installazione da RPM per RedHat... [root@pluto root]# rpm -ihv apt-0.5.4cnc9-fr1.i386.rpm warning: apt-0.5.4cnc9-fr1.i386.rpm: V3 DSA signature: NOKEY, key ID e42d547b Preparing... ########################################### [100%] 1:apt ########################################### [100%] [root@pluto root]# rpm -ihv apt-devel-0.5.4cnc9-fr1.i386.rpm warning: apt-devel-0.5.4cnc9-fr1.i386.rpm: V3 DSA signature: NOKEY, key ID e42d547b Preparing... ########################################### [100%] 1:apt-devel ########################################### [100%] [root@pluto root]# rpm -qil apt [...] File di configurazione /etc/apt /etc/apt/apt.conf /etc/apt/preferences /etc/apt/rpmpriorities /etc/apt/sources.list /etc/apt/vendors.list Binari /usr/bin/apt-cache /usr/bin/apt-cdrom /usr/bin/apt-config /usr/bin/apt-extracttemplates /usr/bin/apt-get /usr/bin/apt-sortpkgs /usr/bin/genbasedir /usr/bin/genpkglist /usr/bin/gensrclist Librerie... /usr/lib/apt /usr/lib/apt/methods /usr/lib/apt/methods/bzip2 /usr/lib/apt/methods/cdrom /usr/lib/apt/methods/copy /usr/lib/apt/methods/file /usr/lib/apt/methods/ftp /usr/lib/apt/methods/gpg /usr/lib/apt/methods/gzip /usr/lib/apt/methods/http /usr/lib/apt/methods/rsh /usr/lib/apt/methods/ssh /usr/lib/libapt-inst-libc6.3-5.so.1.0 /usr/lib/libapt-inst-libc6.3-5.so.1.0.0 /usr/lib/libapt-pkg-libc6.3-5.so.3.3 /usr/lib/libapt-pkg-libc6.3-5.so.3.3.0 Docs e manuali... /usr/share/doc/apt-0.5.4cnc9 /usr/share/doc/apt-0.5.4cnc9/AUTHORS /usr/share/doc/apt-0.5.4cnc9/AUTHORS.RPM /usr/share/doc/apt-0.5.4cnc9/COPYING /usr/share/doc/apt-0.5.4cnc9/COPYING.GPL /usr/share/doc/apt-0.5.4cnc9/README.RPM /usr/share/doc/apt-0.5.4cnc9/README.make /usr/share/doc/apt-0.5.4cnc9/RPM-GPG-KEY /usr/share/doc/apt-0.5.4cnc9/TODO /usr/share/doc/apt-0.5.4cnc9/examples /usr/share/doc/apt-0.5.4cnc9/examples/apt.conf /usr/share/doc/apt-0.5.4cnc9/examples/configure-index /usr/share/doc/apt-0.5.4cnc9/examples/sources.list /usr/share/man/man5/apt.conf.5.gz /usr/share/man/man5/apt_preferences.5.gz /usr/share/man/man5/sources.list.5.gz /usr/share/man/man5/vendors.list.5.gz /usr/share/man/man8/apt-cache.8.gz /usr/share/man/man8/apt-cdrom.8.gz /usr/share/man/man8/apt-config.8.gz /usr/share/man/man8/apt-get.8.gz /usr/share/man/man8/apt.8.gz Directory di appoggio /var/cache/apt /var/cache/apt/archives /var/cache/apt/archives/partial /var/cache/apt/genpkglist /var/cache/apt/gensrclist /var/state/apt /var/state/apt/lists /var/state/apt/lists/partial DEBIAN: Debian prevede l'installazione e configurazione di apt al momento dell'installazione della distribuzione, comunque di seguito è riportato un esempio di installazione di apt tramite dpkg tools. pluto:~# dpkg -i apt_0.5.4_i386.deb apt-utils_0.5.4_i386.deb Selecting previously deselected package apt. (Reading database ... 6163 files and directories currently installed.) Unpacking apt (from apt_0.5.4_i386.deb) ... touch: creating `/var/lib/apt/lists/partial/.delete-me-later': No such file or directory Selecting previously deselected package apt-utils. Unpacking apt-utils (from apt-utils_0.5.4_i386.deb) ... Setting up apt (0.5.4) ... Setting up apt-utils (0.5.4) ... pluto:~# dpkg -L apt Binari /. /usr /usr/bin /usr/bin/apt-cache /usr/bin/apt-cdrom /usr/bin/apt-config /usr/bin/apt-get Librerie /usr/lib /usr/lib/apt /usr/lib/apt/methods /usr/lib/apt/methods/bzip2 /usr/lib/apt/methods/cdrom /usr/lib/apt/methods/copy /usr/lib/apt/methods/file /usr/lib/apt/methods/ftp /usr/lib/apt/methods/gzip /usr/lib/apt/methods/http /usr/lib/apt/methods/rsh /usr/lib/apt/methods/ssh /usr/lib/dpkg /usr/lib/dpkg/methods /usr/lib/dpkg/methods/apt /usr/lib/dpkg/methods/apt/desc.apt /usr/lib/dpkg/methods/apt/install /usr/lib/dpkg/methods/apt/names /usr/lib/dpkg/methods/apt/setup /usr/lib/dpkg/methods/apt/update /usr/lib/libapt-pkg-libc6.2-3-2.so.3.2.0 Docs, manuali e info /usr/share /usr/share/doc /usr/share/doc/apt /usr/share/doc/apt/guide.text.gz /usr/share/doc/apt/changelog.gz /usr/share/doc/apt/guide.html /usr/share/doc/apt/guide.html/index.html /usr/share/doc/apt/guide.html/ch1.html /usr/share/doc/apt/guide.html/ch2.html /usr/share/doc/apt/guide.html/ch3.html /usr/share/doc/apt/guide.html/ch4.html /usr/share/doc/apt/guide.html/footnotes.html /usr/share/doc/apt/guide.it.html /usr/share/doc/apt/guide.it.html/index.html /usr/share/doc/apt/guide.it.html/ch1.html /usr/share/doc/apt/guide.it.html/ch2.html /usr/share/doc/apt/guide.it.html/ch3.html /usr/share/doc/apt/guide.it.html/ch4.html /usr/share/doc/apt/guide.it.html/footnotes.html /usr/share/doc/apt/offline.html /usr/share/doc/apt/offline.html/index.html /usr/share/doc/apt/offline.html/ch1.html /usr/share/doc/apt/offline.html/ch2.html /usr/share/doc/apt/offline.html/ch3.html /usr/share/doc/apt/copyright /usr/share/doc/apt/.dhelp /usr/share/doc/apt/examples /usr/share/doc/apt/examples/apt.conf /usr/share/doc/apt/examples/sources.list /usr/share/doc/apt/examples/configure-index.gz /usr/share/doc/apt/guide.it.text.gz /usr/share/doc/apt/offline.text.gz /usr/share/man /usr/share/man/man8 /usr/share/man/man8/apt-get.8.gz /usr/share/man/man8/apt-config.8.gz /usr/share/man/man8/apt.8.gz /usr/share/man/man8/apt-cache.8.gz /usr/share/man/man8/apt-cdrom.8.gz /usr/share/man/man5 /usr/share/man/man5/apt_preferences.5.gz /usr/share/man/man5/vendors.list.5.gz /usr/share/man/man5/apt.conf.5.gz /usr/share/man/man5/sources.list.5.gz File di Configurazione /etc /etc/apt Directory di appoggio per il download dei file /var /var/cache /var/cache/apt /var/cache/apt/archives /var/cache/apt/archives/partial Directory di appoggio per lo storage di informazione riguardante i pacchetti /var/lib /var/lib/apt /var/lib/apt/lists /var/lib/apt/lists/partial /usr/lib/libapt-pkg-libc6.2-3-2.so.3.2 Configurazione REDHAT: I file di configurazione principali sono: - /etc/apt/apt.conf modificabile sia direttamente con un editor come vi oppure tramite l'utility apt-config e contiene tutte le informazioni di carattere generale (Es: opzioni per lo scaricamento, oppure la lista di rpm a cui è permessa una molteplice installazione etc..) - /etc/apt/sources.list che contiene gli indirizzi dei vari repository da cui scaricare i package. Visualizzazione della configurazione di default tramite l'utility apt-config: [root@pluto root]# apt-config dump APT ""; APT::Architecture "i386"; APT::Get ""; APT::Get::Download-Only "false"; APT::Get::Show-Upgraded "true"; Dir "/"; Dir::State "var/state/apt/"; Dir::State::lists "lists/"; Dir::State::cdroms "cdroms.list"; Dir::Cache "var/cache/apt/"; Dir::Cache::archives "archives/"; Dir::Cache::srcpkgcache "srcpkgcache.bin"; Dir::Cache::pkgcache "pkgcache.bin"; Dir::Etc "etc/apt/"; Dir::Etc::sourcelist "sources.list"; Dir::Etc::vendorlist "vendors.list"; Dir::Etc::vendorparts "vendors.list.d"; Dir::Etc::main "apt.conf"; Dir::Etc::parts "apt.conf.d"; Dir::Etc::preferences "preferences"; Dir::Bin ""; Dir::Bin::methods "/usr/lib/apt/methods"; Dir::Bin::rpm "/bin/rpm"; RPM ""; RPM::Ignore ""; RPM::Ignore:: "gpg-pubkey"; RPM::Allow-Duplicated ""; RPM::Allow-Duplicated:: "kernel"; RPM::Allow-Duplicated:: "kernel-smp"; RPM::Allow-Duplicated:: "kernel-bigmem"; RPM::Allow-Duplicated:: "kernel-BOOT"; RPM::Allow-Duplicated:: "kernel-debug"; RPM::Allow-Duplicated:: "kernel-source"; RPM::Allow-Duplicated:: "gpg-pubkey"; RPM::Allow-Duplicated:: "alsa-kernel"; RPM::Allow-Duplicated:: "alsa-kernel-smp"; RPM::Source ""; RPM::Source::Build-Command "rpmbuild --rebuild"; Acquire ""; Acquire::Retries "0"; Acquire::DistroID "Conectiva"; Acquire::CDROM ""; Acquire::CDROM::Mount "/mnt/cdrom"; Acquire::CDROM::Copy-All "true"; DEBIAN: Le utility e i file di configurazione sono praticamente identici, tranne per alcune differenze. Il dump della configurazione di default risulta essere più ristretta quella di debian: pluto:/etc/apt# apt-config dump APT ""; APT::Architecture "i386"; Dir "/"; Dir::State "var/lib/apt/"; Dir::State::lists "lists/"; Dir::State::cdroms "cdroms.list"; Dir::State::userstatus "status.user"; Dir::State::status "/var/lib/dpkg/status"; Dir::Cache "var/cache/apt/"; Dir::Cache::archives "archives/"; Dir::Cache::srcpkgcache "srcpkgcache.bin"; Dir::Cache::pkgcache "pkgcache.bin"; Dir::Etc "etc/apt/"; Dir::Etc::sourcelist "sources.list"; Dir::Etc::vendorlist "vendors.list"; Dir::Etc::vendorparts "vendors.list.d"; Dir::Etc::main "apt.conf"; Dir::Etc::parts "apt.conf.d"; Dir::Etc::preferences "preferences"; Dir::Bin ""; Dir::Bin::methods "/usr/lib/apt/methods"; Dir::Bin::dpkg "/usr/bin/dpkg"; DPkg ""; DPkg::Pre-Install-Pkgs ""; DPkg::Pre-Install-Pkgs:: "/usr/sbin/dpkg-preconfigure --apt || true"; Inoltre debian mette a disposizione un tool in più per configurare apt: apt-setup , che permette di richiamare un menu pseudo-grafico per la configurazione step-by-step come quella che si presenta l'installazione della distribuzione.Esempio: Esempi d'uso Anche nell'uso le due distribuzioni si differiscono solo per pochi particolari come l'output di alcuni comandi: Aggiornamento della cache, operazione essenziale per le interrogazioni sul db dei rpm disponibili e delle loro caratteristiche e al primo uso di apt. [root@pluto apt]# apt-get update Ign http://apt.freshrpms.net redhat/8.0/en/i386 release Get:1 http://apt.freshrpms.net redhat/8.0/en/i386/os pkglist [1276kB] Get:2 http://apt.freshrpms.net redhat/8.0/en/i386/os release [108B] Get:3 http://apt.freshrpms.net redhat/8.0/en/i386/updates pkglist [295kB] Get:4 http://apt.freshrpms.net redhat/8.0/en/i386/updates release [113B] Get:5 http://apt.freshrpms.net redhat/8.0/en/i386/freshrpms pkglist [110kB] Get:6 http://apt.freshrpms.net redhat/8.0/en/i386/freshrpms release [125B] Get:7 http://apt.freshrpms.net redhat/8.0/en/i386/os srclist [152kB] Get:8 http://apt.freshrpms.net redhat/8.0/en/i386/updates srclist [15.3kB] Get:9 http://apt.freshrpms.net redhat/8.0/en/i386/freshrpms srclist [26.7kB] Fetched 1875kB in 1m37s (19.2kB/s) Reading Package Lists... Done Collecting File Provides... Done Con debian: pluto:~# pt-get update Get:1 http://security.debian.org stable/updates/main Packages [101kB] Hit http://non-us.debian.org stable/non-US/main Packages Hit http://non-us.debian.org stable/non-US/main Release Hit http://non-us.debian.org stable/non-US/main Sources Hit http://non-us.debian.org stable/non-US/main Release Get:2 http://security.debian.org stable/updates/main Release [110B] Hit ftp://ftp2.it.debian.org stable/main Packages Hit ftp://ftp2.it.debian.org stable/main Release Hit ftp://ftp2.it.debian.org stable/main Sources Hit ftp://ftp2.it.debian.org stable/main Release Fetched 101kB in 15s (6737B/s) Reading Package Lists... Done Building Dependency Tree... Done Ricerca di un rpm [root@pluto apt]# apt-cache search ether [...] star - An archiving tool with ACL support tar - A GNU file archiving program. tcl - Tcl scripting language development environment cvs - A version control system. ethereal - Network traffic analyzer ethereal-gnome - Red Hat Gnome integration for ethereal and ethereal-usermode installazione di un RPM [root@pluto apt]# apt-get install nmap Reading Package Lists... Done Collecting File Provides... Done Building Dependency Tree... Done The following NEW packages will be installed: nmap 0 packages upgraded, 1 newly installed, 0 removed and 26 not upgraded. Need to get 273kB of archives. After unpacking 866kB will be used. Get:1 http://apt.freshrpms.net redhat/8.0/en/i386/os nmap 2:3.00-1 [273kB] Fetched 273kB in 18s (14.6kB/s) Executing RPM (-Uvh)... Preparing... ########################################### [100%] 1:nmap ########################################### [100%] Installazione di pacchetti .deb pluto:~# apt-get install fortune-it Reading Package Lists... Done Building Dependency Tree... Done E: Couldn't find package fortune-it pluto:~# apt-get install fortunes-it Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: fortune-mod The following NEW packages will be installed: fortune-mod fortunes-it 0 packages upgraded, 2 newly installed, 0 to remove and 4 not upgraded. Need to get 464kB of archives. After unpacking 1235kB will be used. Do you want to continue? [Y/n] y Get:1 ftp://ftp2.it.debian.org stable/main fortunes-it 1.51-4 [426kB] 91% [Query] 11.8kB/s 3s Get:2 ftp://ftp2.it.debian.org stable/main fortune-mod 9708-25 [38.3kB] Fetched 464kB in 1m13s (6302B/s) Selecting previously deselected package fortunes-it. (Reading database ... 6253 files and directories currently installed.) Unpacking fortunes-it (from .../fortunes-it_1.51-4_all.deb) ... Selecting previously deselected package fortune-mod. Unpacking fortune-mod (from .../fortune-mod_9708-25_i386.deb) ... Setting up fortunes-it (1.51-4) ... Il pacchetto fortunes-it ha installato un gruppo di fortunes potenzialmente offensivi. Vuoi cancellarli? [s/N] n The fortunes-it package is installed with the set of potentially offensive fortunes. Do you want to remove these? [y/N] n Setting up fortune-mod (9708-25) ... pluto:~# Un po di statistiche [root@pluto apt]# apt-cache stats Total Package Names : 7677 (307k) Normal Packages: 1660 Pure Virtual Packages: 1245 Single Virtual Packages: 4403 Mixed Virtual Packages: 1 Missing: 368 Total Distinct Versions: 1861 (89.3k) Total Dependencies: 25403 (711k) Total Ver/File relations: 2186 (35.0k) Total Provides Mappings: 7262 (145k) Total Globbed Strings: 50 (899) Total Dependency Version space: 13.0k Total Slack space: 83.0k Total Space Accounted for: 1372k Info relative ad un package [root@pluto apt]# apt-cache showpkg licq Package: licq Versions: 1.2.0a-2(/var/state/apt/lists/apt.freshrpms.net_redhat_8.0_en_i386_base_pkglist.os) Reverse Depends: licq-text,licq 1.2.0a licq-qt,licq 1.2.0a licq-kde,licq 1.2.0a licq-gnome,licq 1.2.0a Dependencies: 1.2.0a-2 - htmlview (0 (null)) /usr/bin/desktop-file-install (0 (null)) /bin/sh (0 (null)) /usr/bin/perl (0 (null)) libcrypto.so.2 (0 (null)) libc.so.6 (0 (null)) libc.so.6(GLIBC_2.0) (0 (null)) libc.so.6(GLIBC_2.1) (0 (null)) libc.so.6(GLIBC_2.1.2) (0 (null)) libc.so.6(GLIBC_2.1.3) (0 (null)) libdl.so.2 (0 (null)) libdl.so.2(GLIBC_2.0) (0 (null)) libdl.so.2(GLIBC_2.1) (0 (null)) libgcc_s.so.1 (0 (null)) libgcc_s.so.1(GCC_3.0) (0 (null)) libm.so.6 (0 (null)) libnsl.so.1 (0 (null)) libpthread.so.0 (0 (null)) libpthread.so.0(GLIBC_2.0) (0 (null)) libpthread.so.0(GLIBC_2.1) (0 (null)) libssl.so.2 (0 (null)) libstdc++.so.5 (0 (null)) libstdc++.so.5(GLIBCPP_3.2) (0 (null)) perl(IO::Handle) (0 (null)) perl(strict) (0 (null)) licq-data (3 1.6) Provides: 1.2.0a-2 - licq_rms.so Reverse Provides:
|
COMMANDS | autorpm | Live Discussion - Skill: 3- INTERMEDIATE |
AutoRPM può essere utilizzato sia per richiamare la shell interattiva sia in modalità comando. i comandi utilizzabili sono pressochè identici in entrambe le modalità |
||||
autorpm [opzioni] [cmd1] [cmd2] [cmdN] Opzioni comuni: --version Visualizza a video la versione --debug Abilita il debug mode--notty Disabilita completamente l'interactive mode, da specificare in caso di scripts.--tempdir Specifica la directory temporaneahelp Visualizza i comandi disponibiliComandi: add Aggiunge un RPM alla listaauto Processa in automatico tutto ciò che è configurato in autorpm.conffullinfo Visualizza tutte le informazioni di uno o più rpmhelp Visualizza questo messaggio [Aliases: ?]info Visualizza alcune informazioni di uno o più rpminstall Installa RPM(s) sul sistema[Aliases: upgrade]list Visualizza la lista di RPMs [Aliases: ls]remove Rimuove RPMs dalla lista [Aliases: rm]set Visualizza o modifica alcuni parametri |
COMMANDS | patch | Live Discussion - Skill: 3- INTERMEDIATE |
Applica un patch file (un file creato con l'utility diff) ad un file originale per applicarne le differenze. Spesso viene utilizzato per applicare le modifiche al codice sorgente per poi essere ricompilato per creare i nuovi file binari (eseguibili) modificati e aggiornati. |
||||
patch [opzioni] [file originale] [patch file] oppure patch -pnum < patchfile -b;--backup Esegue il backup dei file patchati.-f;--force Abilita il force mode, esegue tutte le operazioni senza chidere conferma.-pnum;--strip=num Elimina "num" slash dal path di ogni filename all'interno del patch file.Esempio: Filename = /usr/src/linux/kernel/module.c -p0 (Rimane invariato) FilenameCorretto= /usr/src/linux/kernel/module.c -p3 FilenameCorretto = linux/kernel/module.c --verbose Abilita il verbose mode, vengono printate a video più informazioni possibili-s;--silent;--quiet Abilita un opzione per cui vengono vengono limitati i messaggi a video. -V method;--version-control=method Specifica il metodo per determinare il nome dei file di backup. |
COMMANDS | up2date | Live Discussion - Skill: 3- INTERMEDIATE |
up2date è l'utility testuale che permette di usufruire del servizio RedHat Network per aggiornare gli RPM del sistema. | ||||
up2date [opzioni] [nome RPM] up2date-nox [opzioni] [nome RPM] up2date-config [opzioni] [nome RPM] Opzioni: --configure Abilita la modalità configurazione, attraverso un menu in shell. (update-config)-d, --download Esegue il download dei RPM ma non li installa.-f, --force Forza l'installazione dei RPM.-i, --install Installa tutti gli RPM scaricati.-k, --packagedir Specifica la direcory che funge da repository di RPM, per evitare di scaricare più volte lo stesso package.--nosig Evita il check con gpg dei singoli rpm.--tmpdir=directory Specifica la directory temporanea. Default /var/spool/up2date.--justdb Non installa gli RPM sul sistema, ma li aggiunge nel db di RPM.--dbpath=dir Specifica il path del db di RPM.-l, --list Mostra l'elenco dei vari RPM disponibili.--showall Mostra l'elenco di tutti gli RPM scaricabili.--undo Esegue l'undo dell'ultimo update. -u, --update Esegue l'update di tutti i RPM disponibili.--register Registra il server al servizio RHN.--show-channels Visualizza i canali disponibili.Paths utili (RedHat): /var/spool/up2date - Directory in cui vengono scaricati gli rpm. /etc/sysconfig/rhn/up2date - Il file di configurazione principale./etc/sysconfig/rhn/up2date-uuid - Il codice unico che identifica il proprio sistema su RHN |
COMMANDS | apt-cache | Live Discussion - Skill: 4- ADVANCED |
Utility di APT per la gestione della cache di supporto. | ||||
apt-cache [opzioni] comando Comandi: add Aggiunge un pacchetto alla cache showpkg Visualizza informazioni generali di un singolo pacchetto (versione,dipendenze etc..)showsrc Visualizza i sources record (descrizione, mantainer del package etc.. )stats Visualizza alcune statistichedump Mostra il contenuto della cachesearch Abilita la ricerca di un package per il nomeshow Mostra tutto il contenuto di un packagedepends Visualizza le dipendenze di un packagepkgnames Visualizza l'elenco di tutti i package scaricabiliOpzioni: -p=? Specifica il file per salvare la cache dei package.-s=? Specifica il file per salvare la source cache.-q Abilita il quiet mode.-c=? Specifica quale file di configurazione utilizzare.-o=? Permette di settare un opzione. |
COMMANDS | apt-get | Live Discussion - Skill: 4- ADVANCED |
Utility per la gestione dei package di un sistema tramite command line. | ||||
apt-get [opzioni] comando Comandi: update Scarica la nuova package listupgrade Esegue l'upgrade dei packageinstall Installa un nuovo pacchettoremove Rimuove un pacchettosource Scarica i sorgenti del pacchetto specificatobuild-dep Configura le build dependency clean Cancella tutti i vecchi fileautoclean - Cancella i vecchi file scaricati e archiviticheck - Verifica che tutte le dependency siano presentiOpzioni: -qq Abilita il quiet mode, visualizza solo gli errori (utile in script schedulati)-d I package vengono solo scaricati e non installati-y Risponde Yes in modo automatico a tutte le domande presentate (utile in script schedulati)-D Abilita la rimozione di un package con tutte le sue dipendenze-c=? Specifica la lettura di un file do configurazione-o=? Permette di settare alcune opzioni specifiche |
BOFH | apt-get -f install | Live Discussion - Skill: 3- INTERMEDIATE |
Comando per risolvere tutte le dipendenze di un sistema. | ||||
[root@pluto apt]# apt-get -f install Reading Package Lists... Done Collecting File Provides... Done Building Dependency Tree... Done Correcting dependencies... Done The following extra packages will be installed: glibc-devel gtk2 libglade2 pygtk2 pygtk2-libglade The following NEW packages will be installed: glibc-devel gtk2 libglade2 pygtk2 pygtk2-libglade 0 packages upgraded, 5 newly installed, 0 removed and 26 not upgraded. Need to get 6323kB of archives. After unpacking 16.5MB will be used. Do you want to continue? [Y/n] yes Get:1 http://apt.freshrpms.net redhat/8.0/en/i386/os glibc-devel 2.2.93-5 [2264kB] Get:2 http://apt.freshrpms.net redhat/8.0/en/i386/os gtk2 2.0.6-8 [2573kB] Get:3 http://apt.freshrpms.net redhat/8.0/en/i386/os libglade2 2.0.0-2 [93.9kB] Get:4 http://apt.freshrpms.net redhat/8.0/en/i386/os pygtk2 1.99.12-7 [1250kB] Get:5 http://apt.freshrpms.net redhat/8.0/en/i386/os pygtk2-libglade 1.99.12-7 [142kB] Fetched 6323kB in 3m4s (34.3kB/s) Executing RPM (-Uvh)... Preparing... ########################################### [100%] 1:glibc-devel ########################################### [ 20%] 2:gtk2 ########################################### [ 40%] 3:libglade2 ########################################### [ 60%] 4:pygtk2 ########################################### [ 80%] 5:pygtk2-libglade ########################################### [100%] |
STDOUT | Installazione di AutoRPM | Live Discussion - Skill: 3- INTERMEDIATE |
AutoRPM è un programma in Perl per automatizzare le procedure di donwload, installazione e upgrade dei package RPM (su RedHat Linux, di default, verifica gli errata ufficiali di RedHat). E' possibile usufruire sia di script da mettere in cron, sia di una shell interattiva che permette di eseguire tutte le operazioni in real-time. Di seguito è riportato un esempio di installazione (da RPM) e una breve descrizione di ciò che viene installato. |
||||
Le varie release si possono trovare al seguente repository: ftp://ftp.kaybee.org/ [root@GIOVE root]# wget ftp://ftp.kaybee.org/pub/redhat/RPMS/noarch/autorpm-3.2.3-2.noarch.rpm [...] Installazione [root@GIOVE root]# rpm -ihv autorpm-3.2.3-2.noarch.rpm warning: autorpm-3.2.3-2.noarch.rpm: V3 DSA signature: NOKEY, key ID ab75cc45 Preparing... ########################################### [100%] 1:autorpm ########################################### [100%] Visualizzando tutte le informazione relative autorpm tramite l'utility RPM notiamo che i seguenti file sono stati installati: [root@GIOVE root]# rpm -qil autorpm [...] Directory principale contenente tutti i file di configurazione /etc/autorpm.d File di configurazione per il download e l'installazione di un modulo perl /etc/autorpm.d/TermReadlineGnu.conf Directory riservata ai file di configurazione di terze parti /etc/autorpm.d/addons Crontab Script, utili se si vogliono automatizzare gli aggiornamenti /etc/autorpm.d/autorpm.cron GPG key /etc/autorpm.d/keys /etc/autorpm.d/keys/kirk.bauer.pub-key.pgp /etc/autorpm.d/keys/pubring.gpg /etc/autorpm.d/keys/trustdb.gpg File contenenti gli indirizzi ftp dei vari rpm repository sparsi in tutto il mondo /etc/autorpm.d/pools /etc/autorpm.d/pools/TermReadlineGnu /etc/autorpm.d/pools/autorpm-beta-updates /etc/autorpm.d/pools/autorpm-updates /etc/autorpm.d/pools/redhat-updates /etc/autorpm.d/redhat-updates.conf Esempi di configurazione, comodi per diverse modalità di aggiornamento /etc/autorpm.d/sample_configs /etc/autorpm.d/sample_configs/apply-updates.sample /etc/autorpm.d/sample_configs/autorpm-beta-updates.sample /etc/autorpm.d/sample_configs/autorpm-updates.sample /etc/autorpm.d/sample_configs/autorpm.conf-sample /etc/autorpm.d/sample_configs/exact_install.sample /etc/autorpm.d/sample_configs/get-updates.sample /etc/autorpm.d/sample_configs/redhat-mirror.sample ChangeLog e alcune informazioni aggiuntive per l'uso di autorpm /etc/autorpm.d/support/changes-2.0 /etc/autorpm.d/support/changes-2.5 /etc/autorpm.d/support/introduction.txt /etc/autorpm.d/support/tips Script per i vari RPM relativi al kernel, possono essere eseguiti dopo l'installazione di un RPM /etc/autorpm.d/triggers /etc/autorpm.d/triggers/kernel Crontab script, eseguito quotidianamente /etc/cron.daily/autorpm.cron Script in perl /usr/sbin/autorpm Info di vario genere, crediti licenze e un esempio di configurazione /usr/share/doc/autorpm-3.2.3 /usr/share/doc/autorpm-3.2.3/CHANGES /usr/share/doc/autorpm-3.2.3/CREDITS /usr/share/doc/autorpm-3.2.3/License /usr/share/doc/autorpm-3.2.3/README /usr/share/doc/autorpm-3.2.3/TODO /usr/share/doc/autorpm-3.2.3/queue.format /usr/share/doc/autorpm-3.2.3/samples.conf Manuali /usr/share/man/man5/autorpm.conf.5.gz /usr/share/man/man8/autorpm.8.gz Directory di appoggio, Temp_Dir(). Qui vengono copiati gli RPM scaricati /var/spool/autorpm /var/spool/autorpm/scores
|