[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Autofs e APT



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Problema risolto ;)
Ho utilizzato il sistema HAL per effettuare le operazioni del caso. Ecco lo
script che ho creato per l'occasione:

#!/bin/bash

device=/dev/hdc
linkname=/cdrom
mediamntdir=/media/cdrom0
pid=/var/run/autofs/_media.pid
timeout=3

if [ $HAL_PROP_BLOCK_DEVICE == $device ]; then
	if [ $1 == "add" ]; then
		sleep $timeout
		access rx $mediamntdir
		if [ $? == 0 ] && [ -e $pid ]; then
			rm -fr $linkname
			ln -s $mediamntdir $linkname
		fi
	elif [ $1 == "remove" ]; then
		rm -fr $linkname
		mkdir $linkname
	fi
fi

Quando viene generato un evento HAL, lo script viene invocato. Se il device
interessato corrisponde a quello impostato, si verifica l'azione associata: se
essa è add, si crea il link simbolico alla directory di montaggio, diversamente
si crea una semplice directory. In questo modo APT si comporta come se autofs
non fosse in funzione. L'unica avvertenza è ricordarsi di disattivare, se
presente, l'opzione --ghost nel file /etc/auto.master.
Lo script va salvato nella directory /etc/hal/device.d/ con estensione .hal. Per
permettere ad HAL di lanciare lo script occorre cambiare i permessi in modo che
abbia il flag exec attivo (p.e. 0755).
Probabilmente questa non è la soluzione più efficiente per effettuare le
operazioni volute ma è sicuramente molto più elegante dell'implementazione di un
daemon che periodicamente controlla l'accesso al device.

Saluti,

-- 
					Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iQEVAwUBQpJ8AczkDT3RfMB6AQIEuwf9GuXR3XMTUWfbR5eT8s+aoUz/Jd4eAb5S
bZqjI+Kmen6ME3oxf+2iVNREXtMLYXa/xb5lHl7QfxUdyGzvIGKe+chn9HHWNea0
wQoAihKOzNBe8H2zOjn5GkpRprWCRBiM5DXJpeTVa41qE8JEz6YBv6LUxXjb9psh
KmQrhmAU5tj8FgEOaq5BfK4I6miwEB8b+jEoNVgEiPrvYSYwAMaD4pW+lPxRQxR/
GDXTntUCdQuQjIAkDcDPwINUnQ4HFJ80zBsoLbBJDYkqIMurgE3jxWYPP+IM3DrP
6dmFa3GMQA+EMkpW8XQ6e0Hso0aRP+wfp1cnPiszNuJCaKIc6T0g7w==
=zXEB
-----END PGP SIGNATURE-----



Reply to: