|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 700
|
Dove trovo i messaggi che appaiono durante il bootstrap del sistema?
Ciao,
stavo legendo questa guida: http://linux.html.it/guide/lezione/2...parte-seconda/ Uso Linux Ubuntu Se una volta che ho effettuato l'accesso ad Ubuntu e da Gnome apro un terminale e lancio il comando: dmesg | more mi compare di tutto di più ma non riesco a trovare i messaggi di ciò che avviene durante il bootstrap del sistema come mostrato nella guida. A rigor di logica credo che ciò dipenda dal fatto che una volta entrato in Gnome il kernel ha fatto altre cose ed ha sovrascritto il buffer di dmseg...almeno credo, confermate o smentite? Comunque...come faccio a vedere i messaggi che vengono visualizzati durante il bootstrap...suppongo che da qualche parte verranno salvati... Grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Il buffer visualizzato da dmesg è abbastanza generoso ed è contenuto all'interno del kernel.
Molto raramente un processo di boot standard lo esaurisce (tranne in caso di valanghe di errori). I messaggi che ti interessano sono quelli dei demoni. Con le impostazioni standard questi vanno persi non appena si avvia il server grafico. In Debian, e mi risulta anche in *buntu, è possibile attivarne l'archiviazione da parte di bootlogd nel file /var/log/boot Occorre modificare il file /etc/default/bootlogd e riavviare.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 700
|
Quote:
In effetti anche /var/log/boot risulta essere vuoto...ora provo ad attivare il logging (magari è una domanda banale ma perdo in prestazioni loggando?) Non è una cosa indispensabile però stò cercando di capire come funziona Linux e cosa c'è dietro alle belle finestrelle di Gnome e non riuscire a fare una cosa mi fà rosicare...ora provo... Tnx |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 700
|
Ok...grazie a quello che mi hai detto ora in parte funziona...tranne che in boot.log non trovo tutte le informazioni che mi sarei aspettato (almeno leggendo i 2 articoli: http://linux.html.it/guide/lezione/2...p-parte-prima/ e http://linux.html.it/guide/lezione/2...parte-seconda/ )
In pratica dentro il file boot.log ho solo le seguenti linee: Codice:
fsck from util-linux-ng 2.17.2 /dev/sda5: clean, 539601/1540096 files, 5381712/6150879 blocks (controllo dopo il prossimo mount) * Starting AppArmor profiles [80G Skipping profile in /etc/apparmor.d/disable: usr.bin.firefox [74G[ OK ] * Setting sensors limits [80G [74G[ OK ] * Starting BOINC core client: boinc [80G [74G[ OK ] * Setting up scheduling for BOINC core client and children: [80G [74G[ OK ] [31m*[39;49m Not starting jetty - edit /etc/default/jetty and change NO_START to be 0 (or comment it out). speech-dispatcher disabled; edit /etc/default/speech-dispatcher * Starting the Winbind daemon winbind [80G [74G[ OK ] [33m*[39;49m PulseAudio configured for per-user sessions saned disabled; edit /etc/default/saned * Enabling additional executable binary formats binfmt-support [80G [74G[ OK ] * Starting web server apache2 [80G [74G[ OK ] * Checking battery state... [80G /dev/sda5 è la partizione del disco su cui risiede il sistema ed una lista di servizzi e demoni che vengono avviati durante l'avvio del sistema però nulla riguardo l'INIT e tutte le tante altre informazioni sul sistema mostrate nelle 2 guide precedentemente linkate...qualche idea del perchè ? Grazie mille |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Il tuo /var/log/boot è abbastanza leggero, ma non conosco la tua installazione: ipotizzerei però che vari messaggi finiscano da qualche altra parte, o persi.
Per esempio questo è il log della Debian Sid che ho sotto mano: Codice:
Mon Jan 3 14:18:54 2011: Setting parameters of disc: /dev/sda. Mon Jan 3 14:18:54 2011: Activating swap...done. Mon Jan 3 14:18:54 2011: Checking root file system...fsck from util-linux-ng 2.17.2 Mon Jan 3 14:18:54 2011: /dev/sda1: clean, 159930/750720 files, 887531/1500061 blocks Mon Jan 3 14:18:54 2011: done. Mon Jan 3 14:18:54 2011: Cleaning up ifupdown.... Mon Jan 3 14:18:54 2011: Loading kernel modules...done. Mon Jan 3 14:18:55 2011: Activating lvm and md swap...done. Mon Jan 3 14:18:55 2011: Checking file systems...fsck from util-linux-ng 2.17.2 Mon Jan 3 14:18:55 2011: /dev/sda6: recovering journal Mon Jan 3 14:18:55 2011: /dev/sda6: clean, 2016/8962048 files, 7009182/17920499 blocks Mon Jan 3 14:18:55 2011: done. Mon Jan 3 14:18:56 2011: Mounting local filesystems...done. Mon Jan 3 14:18:56 2011: Activating swapfile swap...done. Mon Jan 3 14:18:56 2011: Cleaning up temporary files.... Mon Jan 3 14:18:56 2011: Setting kernel variables ...done. Mon Jan 3 14:18:56 2011: Setting up resolvconf...done. Mon Jan 3 14:18:57 2011: Setting up networking.... Mon Jan 3 14:18:57 2011: Configuring network interfaces...done. Mon Jan 3 14:18:59 2011: Cleaning up temporary files.... Mon Jan 3 14:18:59 2011: Setting up ALSA...done. Mon Jan 3 14:19:00 2011: Setting console screen modes and fonts. Mon Jan 3 14:19:00 2011: Setting sensors limits. Mon Jan 3 14:19:00 2011: INIT: Entering runlevel: 2 Mon Jan 3 14:19:01 2011: Using makefile-style concurrent boot in runlevel 2. Mon Jan 3 14:19:01 2011: Network Interface Plugging Daemon...start eth1...start eth2...done. Mon Jan 3 14:19:02 2011: Starting system logging: syslog-ng. Mon Jan 3 14:19:02 2011: Checking battery state...done. Mon Jan 3 14:19:02 2011: Starting ACPI services.... Mon Jan 3 14:19:04 2011: Starting domain name service...: bind9. Mon Jan 3 14:19:05 2011: Starting periodic command scheduler: cron. Mon Jan 3 14:19:05 2011: Starting Music Player Daemon: mpd. Mon Jan 3 14:19:05 2011: Starting Common Unix Printing System: cupsd. Mon Jan 3 14:19:07 2011: Starting system message bus: dbus. Mon Jan 3 14:19:07 2011: Starting MTA: exim4. Mon Jan 3 14:19:10 2011: Starting Hardware abstraction layer: hald. Mon Jan 3 14:19:11 2011: Starting NTP server: ntpd. Mon Jan 3 14:19:11 2011: Not starting internet superserver: no services enabled. Mon Jan 3 14:19:11 2011: Starting Hardware RNG entropy gatherer daemon: rngd. Mon Jan 3 14:19:12 2011: Starting Samba daemons: nmbd smbd. Mon Jan 3 14:19:12 2011: Starting SANE network scanner server: saned. Mon Jan 3 14:19:12 2011: Starting sensor daemon: sensord. Mon Jan 3 14:19:13 2011: Enabling S.M.A.R.T..../dev/sda...done. Mon Jan 3 14:19:13 2011: Starting S.M.A.R.T. daemon: smartd. Mon Jan 3 14:19:15 2011: Starting OpenBSD Secure Shell server: sshd. In primo luogo hanno scritto ed adottato l'init Upstart (primo sospettato per la mancanza di informazioni nel log, una bestia di razza diversa rispetto all'init SysV classico ancora in uso in Debian), ma poi hanno anche deciso di utilizzare una formattazione bellina e più ordinata (gli [OK] colorati a destra), hanno coperto il tutto con un bootsplash, più altre cose che ho l'impressione di non ricordare, data l'ora. Concludendo ti consiglierei di provare a spulciare un po' tutti i log in /var/log, anche se non dovessi trovare i messaggi che cerchi avrai comunque modo di scoprire varie cose. Oppure puoi provare a sentire che dicono nella discussione ufficiale su Ubuntu. P.S. quel log attivo senz'altro necessiterà di qualche istante per essere scritto; personalmente preferisco attivarlo in Debian, ma visto che il tuo è così scarno sta a te valutarne l'utilità.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 700
|
Quote:
ti ringrazio...ho seguito i tuoi consigli ed ho spulciato un po' la directory /var/log trovando nel file /var/log/kernel.log (nella versione giornaliera) però insieme a tanta altra roba (ma credo perchè la macchina è diversa da quella dell'esempio ed ha più cose) Ma in pratica se lancio il comando dmsg mi viene visualizzato il contenuto dell'ultima versione di kernel.log o cosa? Però ancora non riesco a trovare informazioni relative all'INIT che pare non essere presente neanche in questo file...qualche idea? Che cos'è l'init Upstart ? Grazie Andrea |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
dmesg visualizza il buffer circolare dei messaggi del kernel, solitamente ha una dimensione di 64 o 128 KiB.
Questi vengono archiviati in tre log:
Upstart è un progetto nato in seno ad Ubuntu che ha portato alla sostituzione dell'init classico con un programma più moderno.
Nel complesso ha molti pro ma:
Resta fuori la questione degli eventi, che sembra un'ottima cosa.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 700
|
Ok...mi sono documentato un po' su Upstart ma ho ancora qualche problemino...
Da quello che ho capito fino ad un po' di tempo fà all'avvio del sistema veniva letto il file /etc/inittab che conteneva il runlevel di default con il quale si doveva avviare il sistema, adesso questo sistema è stato abbandonato da Ubuntu in favore del sistema UPSTART che stò appunto cercando di capire come funzioni... Leggo online che sostanzialmente il file /etc/inittab è stato eliminato (ed infatti non è presente nel mio sistema) e sostituito dalla directory /etc/event.d che al suo interno dovrebbe contenere un file per ogni runlevel ed ognuno di questi file contiene al proprio interno le informazioni relative ai serivizzi che devono partire e che devono fermarsi a quel determinato runlevel, giusto? ho capito bene ? Il grosso problema è che sul mio sistema NON RIESCO A TROVARE LA CARTELLA /etc/event.d (neanche abbilitando la visualizzazione di file e directory nascoste...), non c'è !!! E allora come fà a funzionare il sistema se non c'è ne il vecchio file /etc/inittab ne la nuva cartella /etc/event.d di UPSTART ?!?! Avviando una ricerca su tutto il disco fisso cercando appunto la stringa "event.d" mi trova queste 3 directory (che però non sò cosa c'entrino): /etc/apm/event.d /etc/dbus-1/event.d /etc/power/event.d Insomma della cartella /etc/event.d che dovrebbe contenere un file per ogni runlevel non c'è traccia !!! COME MAI ?!?! Cosa mi sfugge ?!?! Tnx |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Le cartelle event.d (in generale tutte quelle che terminano con un .d, anche init.d) contengono script che vengono invocati automaticamente quando avvengono alcuni eventi relativi al demone a cui appartengono.
La mia esperienza di utilizzo di Upstart è quasi nulla e non ho installazioni su cui controllare, ma, basandomi sull'elenco di file contenuti nel pacchetto upstart, ipotizzerei che la cartella che cerchi sia /etc/init/
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 700
|
Quote:
intanto grazie mille...sei veramente una miniera di conoscienza Mi stò addentrando da poco nello scoprire cosa c'è dietro alle finestrelle di Ubuntu ed anche reperire la documentazione non è facilissimo...alcune cose non si trovano...altre si ma non è detto che siano aggiornate o che coincidano con la mia distribuzione...interessante questo elenco dei contenuti dei pacchetti...possono tornare utili, buono a sapersi... Allora io ho 2 cartelle: /etc/init/ che contiene dei file .conf /etc/init.d/ che contiene degli script (almeno credo...) però mi sembrano scriptt relativi appunto ai demoni, tipo c'è cron,cups, apache2 tanto per citarne alcuni... Però sulla guida che avevo letto diceva esplicitamente che dentro la cartella /etc/event.d (che stiamo supponendo essere equivalente a /etc/init.d) dovrebbe esserci un file per ogni runlevel che dice quali servizzi (demoni) lanciare all'avvio...questa cosa non mi torna... |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Posso dirti che mi risulta sia normale che in /etc/init.d siano presenti molti script, credo siano presenti tutti quelli dei demoni installati come in un normale sistema che usa l'init SysV.
Ricordo però che tentando di invocare direttamente gli script di servizi gestiti con Upstart non accade nulla e si riceve un messaggio che suggerisce di utilizzare i comandi start, stop o restart (per esempio sudo restart gdm). Vedo che i demoni gestiti con Upstart installano un file conf in /etc/init, quindi credo che il cuore sia quella cartella. Cosa c'è scritto in quei file? Non trovo traccia della /etc/event.d che citi. P.S. visto che non conoscevi il sito packages ti segnalo anche una sua "interfaccia" da console: apt-file. Per esempio lo potresti utilizzare per cercare se un qualsiasi pacchetto contiene file per questa cartella /etc/event.d: Codice:
apt-file search /etc/event.d
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 700
|
Allora, dopo aver installato il programma apt-file che non era presente nel mio sistema, ho lanciato il comando che mi hai detto e mi ha dato il seguente output che però non sò cosa sgnifichi:
Codice:
andrea@andrea-laptop:~$ apt-file search /etc/event.d grub: /etc/event.d/last-good-boot runit: /etc/event.d/runsvdir ubuntu-mid-default-settings: /etc/event.d/session 1) Gli script che lanciano i vari servizzi e domoni sono tutti nella cartella /etc/init.d 2) Ogni runlevel è gestito da un'apposita cartella /etc/rcX.d (con X che và da 0 a 6: rc0.d, rc1.d,....rc6.d e poi c'è anche rcS.d che dovrebbe essere per il runlevel speciale di booting del sistema...almeno credo...almeno così ho capito leggendo il file readme in questa cartella). Insomma dentro ognuna di queste cartelle ci sono dei collegamenti agli opportuni script nella cartella /etc/init.d Ad esempio nella cartella rcS.d che dovrebbe gestire il runlevel relativo all'avvio del sistema ci saranno i link ai soli script necessari per l'avvio di Linux (ma non era 0 un tempo?!?1 perchè lo chiama S ?!?!) Poi leggo solo ora questa cosa (trovata quì http://www.linux.com/archive/feature/125977 ): Codice:
As more system services are put under the control of Upstart, entries in the /etc/event.d directory will replace the contents of the /etc/init.d and /etc/rc?.d directories. Runlevels will no longer be a formal feature of Ubuntu, although they will be maintained for compatibility with third-party software. Eventually Upstart will also replace crond. Tnx Andrea |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
L'output di apt-file significa che la cartella /etc/event.d verrà creata solo se si installerà grub legacy, runit (altro init ancora) o ubuntu-mid-default-settings
Insomma, direi che la cartella /etc/event.d non serve praticamente a nulla e non c'entra con Upstart. Probabilmente è stata utilizzata in una delle prime versioni. Ipotizzo che ora usi /etc/init/ Non trovo niente di sbagliato nei tuoi punti 1 e 2. Il runlevel S è il single user, vale a dire quello in cui il sistema avvia solo ed esclusivamente gli script di inizializzazione fondamentali (mount delle partizioni di sistema, networking, keymaps, ora, ecc...). Al termine dell'esecuzione degli script è attivo un solo terminale virtuale ed è possibile fare login con un solo utente. Il runlevel 1 riporta il sistema all'S fermando tutti i demoni. Lo 0 spegne il sistema. Il 2 è quello standard. Il 6 riavvia. Quelli in mezzo sono personalizzabili. Non so più cosa aggiungere su Upstart, non sono in grado di andare oltre e non ho *buntu installate.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 700
|
Quote:
Sostanzialmente dice che dalla versione 9.10 KarmicKoala la cartella in questione non è più /etc/event.d ma è cambiata in /etc/init come tu mi hai detto...il perchè non lo sò però... Mi chiedo però il perchè questi cambiamenti da una versione all'altra e sopratutto mi pare che spesso le informazioni siano eccessivamente frammentate e difficili da reperire (ma magari sono solo un po' tonto io). Ad esempio io avevo provato a vedere nella documentazione della mia versione di Ubuntu che è la 10.10 e di questo cambiamento che è partito nella 9.10 non ve ne era traccia...ma dico io...posso capire se fossero cose vecchissime...ma ancora oggi il 99% dei tutorial e delle guide online fà riferimento a questa cartella /etc/event.d...magari una notina anche nella documentazione della 10.10 non avrebbe guastato... Solo una piccola nota a quanto hai detto te sui runlevel, a me risulta che: 0: spegne il sistema 1: single user mode (e non s) e che non faccia partire i servizzi dedicati alla gui ne tantomeno il networking 2: multi user mode: fà partire gui, networking e gestione multiutenza 3,4,5 == 2 6: reboot del sistema S: mi pare di capire che sia solo per lo start del sistema e che è una sorta di runlevel nascosto e che una volta che ha avviato il sistema cede il controllo al runlevel di default (in genere il 2) Ho capito bene? Ultima modifica di e-commerce84 : 10-02-2011 alle 23:53. |
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Sul boot process mi sembra ben fatta questa pagina della wiki Debian.
Codice:
S /etc/rcS.d/ Single-user mode on boot. The lower case s can be used as alias. 1 /etc/rc1.d/ Single-user mode switched from multi-user mode. Ti confermo che anch'io faccio fatica a trovare informazioni su Upstart. Trattandosi di una scatola nera scritta in C ipotizzo che gli unici file potenzialmente personalizzabili siano quelli in /etc/init/, che peraltro non ho ancora visto in faccia, quindi non ne conosco la complessità. Per finire mi risulta che non sia ancora completo, quindi soggetto a sostanziali modifiche che non permettono la scrittura di documentazione duratura.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 700
|
Quote:
Quindi mi pare di capire che quel link vada benissimo qualora volessi lanciare dei miei servizzi usando la classica gestione a runlevel (simulandola) ma non va bene se volessi appunto usare sto benedetto UpStart... Da quello che ho capito se volessi usare UpStart devo creare un file che contiene un job dentro la cartella /etc/init/ La cartella /etc/init contiene dei file .conf che non sò bene cosa rappresentino...da quello che ho capito invece i file di job da metterci dentro sono dei file full text privi di estensione che contengono appunto i job nella forma base <evento, comando>, credo qualcosa del tipo: <collegato un nuovo hard disk esterno, montalo e scrivi un log su un file> Poi magari stò dicendo una marea di sciochezze perchè ancora non ho avuto modo di provare... Su come funziona la modalità di come viene simulato il vecchio demone init invece credo di aver capito perchè riesco comunque a fargli cambiare runlevel alla vecchia maniera... Continuo ad indagare...se poi riesco a capire decentemente magari ci scrivo una guida in italiano...magari a qualcuno potrebbe servire :-) Tnx |
|
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 700
|
Doh...rieccomi...mi sono imbattuto in una cosa alquanto strana...
Allora...sono riuscito a scrivere il mio primo job seguento questa guida: http://www.linux.com/archive/feature/125977 Il job l'ho chiamato mudat ed è questo: Codice:
start on runlevel 2 exec echo "Entering multiuser mode on " $(date) > /tmp/mudat.out Questo job è stato messo nella cartella /etc/inint/ come avevamo appurato...la cosa strana è che sia su quell'articolo che ho seguito, sia sulla documentazione ufficiale di UpStart: http://upstart.ubuntu.com/getting-started.html dice chiaramente che i job devono essere messi in file di tipo plain text senza l'estensione *.conf Quote:
Parere in merito? Tnx |
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Immagino che in una versione precedente di Upstart i file fossero sprovvisti di estensione.
Poi avranno cambiato idea; personalmente trovo preferibile avere un'estensione che permetta di attivare/disattivare l'esecuzione o creare file di backup (anche gli init.d devono essere .sh). P.S. servizi
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 700
|
Quote:
Altra domandinae...magari è banale ma che differenza c'è tra gli script dentro /etc/init.d e quelli in /etc/init ? Tnx |
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Dalla descrizione della sintassi che ho visto nei tuoi link, i file /etc/init sono script con un linguaggio specifico per l'"interprete" Upstart, con la possibilità di integrare porzioni di script shell standard.
Immagino che i pid dei processi avviati siano salvati nella memoria dello stesso Upstart. Gli script init classici sono semplici script shell; in Debian sono privi di bashismi, in quanto devono funzionare con l'interprete Dash. Gli init SysV salvano le informazioni relative ai demoni avviati nella cartella /var/run (pid, socket e file ausiliari). Il comando principe per la gestione dei processi demonizzati è start-stop-daemon
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:20.




















