HAL e UDEV

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

HAL e UDEV

Messaggio da conraid »

Visto che in questi giorni sono nati dubbi ho indagato un poco la cosa.

Per avere un punto di montaggio sotto /media udev serve a poco. E' vero hai il device, ma con l'UUID sinceramente io mi trovo meglio.
Per il NAME che poi è quello che viene usato da media:/NAME allora ok, va fatto con UDEV, almeno credo che ci sia solamente quel modo.
Ma poi il mount point fisico è sempre /media/disk per esempio.
Questo si vede da /media/.hal-mtab (mi sembra si chiami così)

Allora mi sono chiesto. Perché si può modificare file sistem (ricordate ntfs.3g e tutti i post?) e non cambiare il punto di montaggio?

Allora mi sono messo a "studiare" le regole di HAL.

Insanzitutto capire i valori con hal-device

Codice: Seleziona tutto

block.minor = 1  (0x1)  (int)
  volume.label = ''  (string)
  volume.ignore = false  (bool)
  org.freedesktop.Hal.Device.Volume.method_names = { 'Mount', 'Unmount', 'Eject' } (string list)
  info.capabilities = { 'volume', 'block' } (string list)
  volume.partition.flags = { 'boot' } (string list)
  volume.is_partition = true  (bool)
  volume.mount_point = '/media/pennina'  (string)
  info.category = 'volume'  (string)
  info.product = 'Volume (vfat)'  (string)
  volume.is_disc = false  (bool)
  volume.is_mounted = true  (bool)
  volume.partition.type = '0x0c'  (string)
  block.is_volume = true  (bool)
  volume.linux.is_device_mapper = false  (bool)
  block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_SanDisk_Cruzer_Micro_20060877021B13A11AD1_0_0'  (strin
g)
  info.parent = '/org/freedesktop/Hal/devices/storage_serial_SanDisk_Cruzer_Micro_20060877021B13A11AD1_0_0'  (string)
  volume.block_size = 512  (0x200)  (int)
  volume.partition.number = 1  (0x1)  (int)
  volume.num_blocks = 4001697  (0x3d0fa1)  (int)
  volume.policy.desired_mount_point = 'pennina'  (string)
  volume.fsversion = 'FAT32'  (string)
  block.device = '/dev/sda1'  (string)
  volume.uuid = 'A013-4846'  (string)
  volume.partition.label = ''  (string)
  volume.partition.scheme = 'mbr'  (string)
  volume.partition.media_size = 2048901120  (0x7a1fc000)  (uint64)
  volume.partition.uuid = ''  (string)
  volume.fsusage = 'filesystem'  (string)
  volume.is_mounted_read_only = false  (bool)
  org.freedesktop.Hal.Device.Volume.method_argnames = { 'mount_point fstype extra_options', 'extra_options', 'extra_options'
 } (string list)
  info.interfaces = { 'org.freedesktop.Hal.Device.Volume' } (string list)
  storage.model = ''  (string)
  volume.size = 2048868864  (0x7a1f4200)  (uint64)
  info.udi = '/org/freedesktop/Hal/devices/volume_uuid_A013_4846'  (string)
  volume.mount.valid_options = { 'ro', 'sync', 'dirsync', 'noatime', 'nodiratime', 'noexec', 'quiet', 'remount', 'exec', 'ut
f8', 'shortname=', 'codepage=', 'iocharset=', 'umask=', 'dmask=', 'fmask=', 'uid=', 'flush' } (string list)
  org.freedesktop.Hal.Device.Volume.method_signatures = { 'ssas', 'as', 'as' } (string list)
  block.major = 8  (0x8)  (int)
  volume.fstype = 'vfat'  (string)
  org.freedesktop.Hal.Device.Volume.method_execpaths = { 'hal-storage-mount', 'hal-storage-unmount', 'hal-storage-eject' } (
string list)
  volume.unmount.valid_options = { 'lazy' } (string list)
  linux.hotplug_type = 3  (0x3)  (int)
  volume.partition.start = 32256  (0x7e00)  (uint64)
  linux.sysfs_path = '/sys/block/sda/sda1'  (string)



e poi fare un file simile a questo

Codice: Seleziona tutto

<device>
  <match key="block.is_volume" bool="true">
      <match key="volume.fsusage" string="filesystem">
            <match key="volume.uuid" string="A013-4846">
                    <merge key="volume.policy.desired_mount_point" type="string">pennina</merge>
            </match>
      </match>
  </match>
</device>
chiamandolo magari 95-pennine.fdi (il nome non ha importanza, mentre "forse" lo ha il numero in modo che sia una delle ultime regole)

Da suggerimento di Pat l'ho messo in /etc, precisamente in

Codice: Seleziona tutto

/etc/hal/fdi/policy/10osvendor
in modo da non venir sovrascritto da aggiornamenti vari.

Ora la usbpen si monta in /media/pennina

Spero che sia utile a qualcuno, soprattutto per iniziare a capire, io sinceramente continuo a fare a mano ;-)

P.S.
Ho usato UUID perché mi sembrava la cosa migliore, ed ho trovato riferimento anche nella documentazione di hal (hal.freedesktop.org) che purtroppo è maggiore per gli sviluppatori che non per gli utenti finali.
Ho trovato anche info interessante e vari esempi nella documentazione RedHat

P.S.2
Se non modifico UDEV ho /media/pennina, ma per esempio media:/sda1
Quindi per avere "entrambi" i valori desiderati va modificato UDEV e HAL

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: HAL e UDEV

Messaggio da targzeta »

Ti dirò conraid, spero che qualcuno su questo forum abbia le idee più chiare delle mie. Anche io mi sono messo a leggiucchiare qualcosa su hal, ma da quello che ho capito io, hal non si occupa del montaggio delle periferiche, bensì si limita a dare informazioni, tramite dbus a chi le vuole, sulle periferiche inserite nel PC.
Infatti se io metto la mia pennina USB non c'è nessun automount e chissà cosa. A questo punto credo che sia KDE (che io non ho) ad occuparsi del montaggio delle periferiche e non hal, lui si limita a dare delle informazioni.
Se ne sai di più, ti prego di darmi delucidazioni, perchè io non ci sto a capire più niente :).

Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: HAL e UDEV

Messaggio da conraid »

No, hai ragione.
Hal comunica tramite D-BUS alle applicazioni.
Infatti anche se inserisco quelle regole e non ho KDE attivo non funziona. Credo che dovrei utilizzare ivman od altro.

L'esempio che ho fatto era riferito alla situazione con KDE compilato come su Slackware

Su altre distribuzioni ho letto che ci sono programmi (chimati callouts nella terminologia di hal) specifichi per queste cose.
Pat nella ultima mail mi disse proprio che oltre a cercare di compilare al meglio KDE4 e la sua compatibilità con KDE3, stava cercando, insieme al team, di studiare e migliorare il supporto ad HAL

Detto questo, sono d'accordo con te quando dici che siccome ormai è usato da molte applicazioni va studiato, ma IMHO è una complessità non necessaria in un sistema unix-like.
Alle volte mi sembra di guardare dentro il registro... si lo so, sto bestemmiando.

Avatar utente
neongen
Packager
Packager
Messaggi: 827
Iscritto il: ven 25 mag 2007, 12:37
Nome Cognome: Enrico
Slackware: 14.0_64
Kernel: 3.4.4
Desktop: KDE 4.5.5
Distribuzione: Maemo 5
Contatta:

Re: HAL e UDEV

Messaggio da neongen »

ma nessuno usa mettere le etichette alle partizioni? :roll:

Avatar utente
legionario
Linux 3.x
Linux 3.x
Messaggi: 603
Iscritto il: mer 8 dic 2004, 0:00
Località: Bergamo - Roma

Re: HAL e UDEV

Messaggio da legionario »

Grazie conraid!!

Ora e' piu' chiaro!! Alla fine di tutti questi discorsi sono portato a credere che il ragazzo che aveva aperto il thread "UUID e dispositivi USB" in realta' non puo' aver risolto il suo problema perche' udev non gestisce i punti di montaggio.

Avatar utente
legionario
Linux 3.x
Linux 3.x
Messaggi: 603
Iscritto il: mer 8 dic 2004, 0:00
Località: Bergamo - Roma

Re: HAL e UDEV

Messaggio da legionario »

neongen ha scritto:ma nessuno usa mettere le etichette alle partizioni? :roll:
Che vantaggio avrei dall'etichettare una partizione?

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: HAL e UDEV

Messaggio da targzeta »

conraid ha scritto:...Credo che dovrei utilizzare ivman od altro....
ivman non lo conoscevo, grazie per la dritta...forse forse ora so come gestire il mio PC.
Da quello che sto leggendo io, ovvero il file:
/usr/doc/hal-0.5.10/spec/hal-spec.html
sto capendo un pò di più, ho notato, ad esempio che sul mio PC è attivo il processo:

Codice: Seleziona tutto

/usr/libexec/hald-addon-cpufreq
e nel file:

Codice: Seleziona tutto

/usr/share/hal/fdi/policy/10osvendor/10-cpufreq.fdi
c'è quanto segue

Codice: Seleziona tutto

<?xml version="1.0" encoding="UTF-8"?>

<deviceinfo version="0.2">
  <device>
    <match key="info.udi" string="/org/freedesktop/Hal/devices/computer">
      <append key="info.addons" type="strlist">hald-addon-cpufreq</append>
    </match>
  </device>
</deviceinfo>
suppongo quindi che sia hal a farlo partire grazie a questa direttiva. Comunque dando un occhiata veloce al file, che come avrai visto è un tomo, mi sembra di capire che leggendo tutto alla fine dovrei capirci qualche cosa in più :). Addirittura credo si possa dire ad hal di ignorare un determinato device, e quindi potrei riuscire a dire ad hal di non far partire quel comando. Il problema è che io non so cosa fa quel comando :).
Insomma, per ora sono in alto mare.

Spero che questa scelta, tra l'altro credo ormai obbligata, non renda la Slackware meno configurabile di un tempo. In pratica ora, se uno non usa KDE l'avere dbus o hal serve solo perchè quasi tutti i programmi sotto X sono stati compilati con tale supporto. Ad esempio gimp non parte se non hai hal attivo. E non solo, ma kde lancia anche dbus --session, cosa che il mio piccolo icewm non fa, e quindi quando lancio gimp, lui deve anche lanciare dbus --session :).

Vabbuò ma questi sono solo punti di vista, credo che tutti gli sviluppatori di windows manager oggi semplicemente debbono fare i conti con hal e dbus e fornire il supporto.
Anche sotto linux la tastiera sta per essere sopraffatta dal topo :).

Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: HAL e UDEV

Messaggio da conraid »

neongen ha scritto:ma nessuno usa mettere le etichette alle partizioni? :roll:
Guarda, per quel che vale, nel senso del punto di montaggio sotto media hai ragione, con la label crea /media/LABEL

E va beh... almeno ho scoperto qualcosa in più :-)

E comunque è sempre KDE a gestire la cosa.
HAL dice, tramite DBUS, a KDE: Guarda questo dispositivo si chiama così, ha questi dati, etc... fai quel che vuoi.
Se ci aggiungi la regola del mount lui dice: Guarda questo dispositivo si chiama così, ha questi dati, etc... fai quel che vuoi, ma lui vorrebbe essere montato in tal directory

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: HAL e UDEV

Messaggio da Mario Vanoni »

Premetto, sempre utente root!


ls -l /usb00, permessi drwxr-xr-t

/etc/fstab:
/dev/sdc1 /usb00 ext2 defaults 1 2

inserisco una penna usb, aspetto che il LED si calmi:
mount /usb00
cd /usb00
lavorabile
umount /usb00
e stacco la penna


Sotto KDE
inserisco una penna usb, aspetto che il LED si calmi:
la riconosce e chiede cosa fare
clicco open in a new window e dice
system:media/sdc1 come locazione e
Error - Konqueror
Permission denied

Inaccettabile per un vecchio UNIXiano,
preferisco il metodo manuale.


Su tre macchine, comportamento identico,
con tre penne diverse, Konqueror le riconosce diverse

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: HAL e UDEV

Messaggio da conraid »

Mario Vanoni ha scritto: Sotto KDE
inserisco una penna usb, aspetto che il LED si calmi:
la riconosce e chiede cosa fare
clicco open in a new window e dice
system:media/sdc1 come locazione e
Error - Konqueror
Permission denied
Ma root c'è nel gruppo plugdev? :)

Mario, ma che te frega? Anche io nonostante tutte queste discussioni faccio sempre il mount a mano. Mi trovo meglio... però conoscere, anche se in minima parte, dove gira il mondo può essere di aiuto.

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: HAL e UDEV

Messaggio da Mario Vanoni »

conraid ha scritto: Ma root c'è nel gruppo plugdev? :)
Mario, ma che te frega? Anche io nonostante tutte queste discussioni faccio sempre il mount a mano. Mi trovo meglio... però conoscere, anche se in minima parte, dove gira il mondo può essere di aiuto.
root e` nel gruppo plugdev

era solo interesse generale,
a livello shell governo la/le macchina/e,
tranne la HW, un HD quasi nuovo andato a farsi friggere (sic!)

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Re: HAL e UDEV

Messaggio da danix »

conraid ha scritto:[...]
Mario, ma che te frega? Anche io nonostante tutte queste discussioni faccio sempre il mount a mano. Mi trovo meglio... però conoscere, anche se in minima parte, dove gira il mondo può essere di aiuto.
imho il bello (uno dei tanti) di linux è proprio il poter fare la stessa cosa in N modi diversi... :D
l'unico lato negativo (eufemismo) è il fatto che nessuno potrà mai dire di conoscere alla perfezione questo tipo di sistemi operativi...

PS
grazie conraid per questo topic chiarificatore...

PPS
@Mario:
non voglio farmi i fatti tuoi, solo capire una cosa... abbiamo già parlato altre volte del fatto che usi solo l'utente root nei tuoi pc, ma le password le generi in qualche modo o te le inventi tu??


ciau...
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: HAL e UDEV

Messaggio da Mario Vanoni »

danix85 ha scritto: @Mario:
non voglio farmi i fatti tuoi, solo capire una cosa... abbiamo già parlato altre volte del fatto che usi solo l'utente root nei tuoi pc, ma le password le generi in qualche modo o te le inventi tu??
Invenzioni mie, ma per me memorizzabili,
[:alnum:] mescolati con [:punct:], in gergo isalpha(3),
ed in sequenza tale che un osservatore alle tue spalle
non riesca a seguire il movimento delle dita, tranne un genio.
Ci sono quattro righe di tasti, pensaci, saltando ..., e.g.
qwerty in fretta, poi
-= in fretta, poi
asdfg in fretta, chi riesce a seguirti?
Se poi usi nomi/parole/abbreviazioni con significato per te ...

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: HAL e UDEV

Messaggio da targzeta »

Offtopic: Io le mie password me le invento in questo modo:
1) Penso una frase
2) Uso le iniziali della frase per la password, e là dove c'è la possibilità, uso i numeri

Ad esempio:
Il primo Gennaio sono andato sul Monte Bianco
diventerebbe:
I1GsasMB

Non so se sia un buon metodo ma almeno è mnemonico

Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
Vash
Linux 0.x
Linux 0.x
Messaggi: 55
Iscritto il: dom 25 mag 2008, 23:15
Slackware: 12.1

Re: HAL e UDEV

Messaggio da Vash »



Per il NAME che poi è quello che viene usato da media:/NAME allora ok, va fatto con UDEV, almeno credo che ci sia solamente quel modo.
Ma poi il mount point fisico è sempre /media/disk per esempio.


Ora e' piu' chiaro!! Alla fine di tutti questi discorsi sono portato a credere che il ragazzo che aveva aperto il thread "UUID e dispositivi USB" in realta' non puo' aver risolto il suo problema perche' udev non gestisce i punti di montaggio.
Io il problema l'ho risolto invece e il punto di mount non è più /media/disk o chi per esso, ma /media/HD_usb dato da me... :) E con quel percorso posso gestire l'harddisk dalle varie applicazioni e sò che sarà sempre quello il percorso.. mentre prima mi cambiava, una volta era /media/sdb dopo era /media/sdc, in base a cosa collegavo prima o dopo l'harddisk.. :)

Rispondi