Si tu as la possibilité d'utiliser les ACLs sur ton fs (mount -o acl):
# setfacl -m -d u:toto:rwx,g:apache:rx /path/tonréperoireparent (de mémoire, hein... :-)
Avec ça, tout nouveau fichier créé dedans hérite des droits du répertoire parent.
En ce moment je suis en train de faire la même chose mais avec une machine et des ports série "classiques" plutôt qu'un hardware dédié et ça marche pas mal avec ser2net dans un sens et socat dans l'autre :-)
Oui c'est bien ça, je boote sur un livecd "maison" dans le but de backuper des machines uniquement sous Windows (je personnalise une sidux pour cela, l'utilisateur se charge de mettre le cdrom et reboote le soir avant de quitter le boulot, le lendemain matin c'est fini...).
Le script se connecte à un serveur Samba et y dépose un "ntfsclone" de toutes les partoches trouvées (+ table des partitions, etc). Le nom de machine c'est juste pour nommer le fichier automatiquement.
Et merci pour le truc du fichier hosts (et non hosts.conf), il y a effectivement le nom de machine récupérable d'un coup de grep/cut. Comme quoi, une fois de plus, c'est une "unixerie" qui sauve la mise :-)
Le tgz c'est juste pour les firmwares (sur une sid ils ne font pas partie d'aucun paquet).
Niveau driver, c'est dans le kernel donc effectivement : rien à faire.
Le seul paquet que j'ai installé c'est "ivtv-utils".
Mmmm bizarre...
Le fichier -enc fait la même taille que le -dec (262144) alors que chez moi ils sont différents et la grosse taille affichée par le driver est bizarre aussi...
Le .tgz que j'ai utilisé fait 124478 octets, où as-tu chopé le tien ?
Sinon essaye voir de renommer v4l-cx2341x-dec.fw et -enc pour voir si le driver râle bien du fait qu'il ne les trouve pas... (La taille à la con est peut être due à une tentative de récup de celle-ci sur un fichier inexistant (genre je ne teste pas les codes d'erreurs de open())).
As-tu essayé avec mplayer après avoir règlé une chaine ?
Sinon, essaye avec mon script...
ivtv: Start initialization, version 1.1.0
ivtv0: Initializing card #0
ivtv0: Autodetected Hauppauge card (cx23415 based)
ivtv0: Unreasonably low latency timer, setting to 64 (was 32)
tveeprom 1-0050: Hauppauge model 48056, rev I109, serial# 6138758
tveeprom 1-0050: tuner model is Philips FI1216MF MK2 (idx 9, type 3)
tveeprom 1-0050: TV standards PAL(B/G) SECAM(L/L') (eeprom 0x24)
tveeprom 1-0050: audio processor is MSP3415 (idx 6)
tveeprom 1-0050: decoder processor is SAA7115 (idx 19)
tveeprom 1-0050: has no radio, has IR receiver, has no IR transmitter
ivtv0: Autodetected Hauppauge WinTV PVR-250
tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #0)
saa7115 1-0021: saa7115 found (1f7115d0e100000) @ 0x42 (ivtv i2c driver #0)
msp3400 1-0040: MSP3415G-B8 found @ 0x80 (ivtv i2c driver #0)
msp3400 1-0040: MSP3415G-B8 supports nicam and radio, mode is autodetect and autoselect
tuner-simple 1-0061: type set to 3 (Philips (SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF))
tuner 1-0061: type set to Philips (SECAM+PAL_
ivtv0: Registered device video1 for encoder MPG (4096 kB)
ivtv0: Registered device video32 for encoder YUV (2048 kB)
ivtv0: Registered device vbi0 for encoder VBI (1024 kB)
ivtv0: Registered device video24 for encoder PCM (320 kB)
ivtv0: Initialized card #0: Hauppauge WinTV PVR-250
ivtv: End initialization
ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
ivtv0: Loaded v4l-cx2341x-dec.fw firmware (262144 bytes)
ivtv0: Encoder revision: 0x02060039
ivtv0: Decoder revision: 0x02020023
T'es sur de la taille de tes fichiers de firmware ?
Sur une Ubuntu, il est où le fichier v4l-cx2341x-enc.fw ?
Et le "ll" est un simple alias de "ls -l"
# sort manually by id in a list as python can't retrieve a dictionnary
# in the created order :-(
channels_ids_sorted = channels.keys()
channels_ids_sorted.sort()
# build list for dialog command
channels_dialog = ''
for channel_id in channels_ids_sorted:
channels_dialog = channels_dialog + channel_id + ' ' + channels[channel_id]['name'] + ' '
# get channel from user
cmd_line = 'dialog --stdout --menu "Choisissez la chaine : " 20 50 10 ' + channels_dialog
cmd_line_status,cmd_line_output = commands.getstatusoutput(cmd_line)
if (cmd_line_status == -1) or (cmd_line_output == ''):
sys.exit(1)
channel_name = channels[cmd_line_output]['name']
channel_channel = channels[cmd_line_output]['channel']
print 'Réglage du tuner sur ' + channel_name + '...'
# get devices
# todo : autodetect
video_dev = '/dev/video1'
audio_dev = '/dev/video24'
Tu voulais dire d:g:mongroupe je suppose...
Bizarre chez moi ça marche, si je copie avec un cp "simple", avec "cp -a", les acls du répertoire parent ne sont pas ajoutées...
Quelle version de kernel et libacl/attr ? Distrib ?
Tu montes la partition avec des options en plus dans le fstab: "acl" (et "user_xattr" aussi c'est pas mal...) et tu t'amuses avec la commande setfacl.
Ca te permettra de forcer facilement "other" à rien et "user/group" à rw.
Le truc sympa c'est que tu peux mettre des droits par défaut sur un répertoire (toute une *liste* de user|group/droits) et que tout nouveau fichier/dossier créé en dessous en hérite.
pour avoir ces infos:
-lsusb
-udevinfo -q path -n /dev/sdX
-udevinfo -a -p valeur_retournee_ci_dessus
mais attention : le script est toujours appellé deux fois et l'action "remove" ne se déclenche pas ! (j'ai déja posté à ce sujet il y a quelque temps...)
Encore heureux que tu n'ai pas du changer de disque dur car pour l'avoir fait l'autre jour, c'est une vraie galère avec leur histoire de tatouage de disque dur. Heureusement que le vieux n'était pas tout à fait mort sinon c'était foutu pour récupérer les infos de tatoo !
Impossible de restaurer depuis le dvd d'usine sans ça...
Et laisser pleins d'images sur un serveur, la VM du client allant les chercher dessus, ça peut le faire ?
Ca risque d'être violent en traffic réseau mais est-ce quelqu'un aurait déja fait des essais ?
> tu n'as jamais eu la belle boite te disant qu'il va redémarrer si tu n'appuis pas sur le petit bouton ?
Même qu'un jour, je l'ai vue plusieurs fois à une présentation lors d'un mini-salon.
C'était un prestataire de SSLL avec une présentation ppt vantant Linux et les logiciels libres ! Rigolade du public garantie :-)
Tiens, j'ai une question si déja tu possède un tel oscillo:
la fonction d'enregistrement, elle est bien limitée à 100 échantillons par seconde (dixit la doc) ? C'est un problème de buffer avant récup par le port parallèle ?
Il ne serait donc pas possible d'enregistrer un signal à plus de 100Hz sur plusieurs jours ?
J'ai lu le pdf en diagonale mais j'y ai trouvé le texte "CIFS" :-)
Donc ça devrait le faire...
Celui que j'ai vu était noir avec un disque de 80Go (donc du vieux firmware aussi).
Tant mieux si ils sont revenus dans "le droit chemin" !
Ça vaut combien en France cette bestiole ?
Oui, oui je sais :-) (j'ai déja des serveurs en prod avec du raid-1 soft).
Un des défauts, amha, est qu'en cas de mort d'un disque, le kernel met quand même une bonne dizaine de secondes avant de reprendre la main (et innonde les logs avec les messages d'erreurs). J'avais fait l'essai en débranchant l'alim d'un disque, même si c'est loin d'être représentatif...
En fait, je me suis mal exprimé, je souhaite juste éviter ce comportement pour avoir une certaine garantie temporelle des i/o disques (je vais lire plein de ports série afin de stocker des données et je ne souhaite pas dans l'immédiat passer à du temps réél dur).
Je cherche juste à savoir comment prévénir une erreur sans blocage trop long.
Les timeouts et autres valeurs de "retrys" sont-elles modifiables ?
[^] # Re: Les droits, les groupes
Posté par zx81 . En réponse au message probleme de droits. Évalué à 2.
# setfacl -m -d u:toto:rwx,g:apache:rx /path/tonréperoireparent (de mémoire, hein... :-)
Avec ça, tout nouveau fichier créé dedans hérite des droits du répertoire parent.
# C'est la RFC2217
Posté par zx81 . En réponse au message Utilisation de ports série via TCP/IP. Évalué à 2.
Quelques softs qui peuvent l'exploiter:
http://linux.die.net/man/8/ser2net
http://packages.debian.org/sid/sredird
http://packages.debian.org/sid/cyclades-serial-client
En ce moment je suis en train de faire la même chose mais avec une machine et des ports série "classiques" plutôt qu'un hardware dédié et ça marche pas mal avec ser2net dans un sens et socat dans l'autre :-)
[^] # Re: Bon...
Posté par zx81 . En réponse au message Récup nom de machine. Évalué à 1.
Le script se connecte à un serveur Samba et y dépose un "ntfsclone" de toutes les partoches trouvées (+ table des partitions, etc). Le nom de machine c'est juste pour nommer le fichier automatiquement.
Et merci pour le truc du fichier hosts (et non hosts.conf), il y a effectivement le nom de machine récupérable d'un coup de grep/cut. Comme quoi, une fois de plus, c'est une "unixerie" qui sauve la mise :-)
[^] # Re: Garde la, ça marche !
Posté par zx81 . En réponse au message Besoin d aide / carte hauppauge pvr 350. Évalué à 1.
Niveau driver, c'est dans le kernel donc effectivement : rien à faire.
Le seul paquet que j'ai installé c'est "ivtv-utils".
[^] # Re: Garde la, ça marche !
Posté par zx81 . En réponse au message Besoin d aide / carte hauppauge pvr 350. Évalué à 1.
Le fichier -enc fait la même taille que le -dec (262144) alors que chez moi ils sont différents et la grosse taille affichée par le driver est bizarre aussi...
Le .tgz que j'ai utilisé fait 124478 octets, où as-tu chopé le tien ?
Sinon essaye voir de renommer v4l-cx2341x-dec.fw et -enc pour voir si le driver râle bien du fait qu'il ne les trouve pas... (La taille à la con est peut être due à une tentative de récup de celle-ci sur un fichier inexistant (genre je ne teste pas les codes d'erreurs de open())).
As-tu essayé avec mplayer après avoir règlé une chaine ?
Sinon, essaye avec mon script...
[^] # Re: Garde la, ça marche !
Posté par zx81 . En réponse au message Besoin d aide / carte hauppauge pvr 350. Évalué à 1.
ivtv: Start initialization, version 1.1.0
ivtv0: Initializing card #0
ivtv0: Autodetected Hauppauge card (cx23415 based)
ivtv0: Unreasonably low latency timer, setting to 64 (was 32)
tveeprom 1-0050: Hauppauge model 48056, rev I109, serial# 6138758
tveeprom 1-0050: tuner model is Philips FI1216MF MK2 (idx 9, type 3)
tveeprom 1-0050: TV standards PAL(B/G) SECAM(L/L') (eeprom 0x24)
tveeprom 1-0050: audio processor is MSP3415 (idx 6)
tveeprom 1-0050: decoder processor is SAA7115 (idx 19)
tveeprom 1-0050: has no radio, has IR receiver, has no IR transmitter
ivtv0: Autodetected Hauppauge WinTV PVR-250
tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #0)
saa7115 1-0021: saa7115 found (1f7115d0e100000) @ 0x42 (ivtv i2c driver #0)
msp3400 1-0040: MSP3415G-B8 found @ 0x80 (ivtv i2c driver #0)
msp3400 1-0040: MSP3415G-B8 supports nicam and radio, mode is autodetect and autoselect
tuner-simple 1-0061: type set to 3 (Philips (SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF))
tuner 1-0061: type set to Philips (SECAM+PAL_
ivtv0: Registered device video1 for encoder MPG (4096 kB)
ivtv0: Registered device video32 for encoder YUV (2048 kB)
ivtv0: Registered device vbi0 for encoder VBI (1024 kB)
ivtv0: Registered device video24 for encoder PCM (320 kB)
ivtv0: Initialized card #0: Hauppauge WinTV PVR-250
ivtv: End initialization
ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
ivtv0: Loaded v4l-cx2341x-dec.fw firmware (262144 bytes)
ivtv0: Encoder revision: 0x02060039
ivtv0: Decoder revision: 0x02020023
T'es sur de la taille de tes fichiers de firmware ?
Sur une Ubuntu, il est où le fichier v4l-cx2341x-enc.fw ?
Et le "ll" est un simple alias de "ls -l"
[^] # Garde la, ça marche !
Posté par zx81 . En réponse au message Besoin d aide / carte hauppauge pvr 350. Évalué à 1.
As-tu mis tous les fichiers qu'il faut sous /lib/firmware ?
Moi, j'ai:
# ll /lib/firmware/
total 824
-rwxr--r-- 1 zzz zzz 262144 mai 26 2006 v4l-cx2341x-dec.fw
-rwxr--r-- 1 zzz zzz 376836 fév 17 2007 v4l-cx2341x-enc.fw
-rwxr--r-- 1 zzz zzz 155648 mai 26 2006 v4l-cx2341x-init.mpg
-rwxr--r-- 1 zzz zzz 16382 mai 26 2006 v4l-cx25840.fw
-rwxr--r-- 1 zzz zzz 8192 oct 6 2006 v4l-pvrusb2-24xxx-01.fw
-rwxr--r-- 1 zzz zzz 8192 jui 1 2006 v4l-pvrusb2-29xxx-01.fw
Que dis "dmesg" au sujet de la carte (il y a pas mal de lignes au chargement du module) ?
La mauvaise nouvelle, c'est que les softs classiques ne marchent pas car cette carte n'exporte pas d'interface de type "v4l".
A défaut, j'ai fait un petit script pour choisir la chaine :
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# tv player
# v1.0
import commands
import sys
# no space in channel name
channels = {
'01': {'name': 'Tf1', 'channel': '62'},
'02': {'name': 'France2/Nordheim', 'channel': '56'},
'03': {'name': 'France2/Strasbourg', 'channel': '23'},
'04': {'name': 'France2/Sarrebourg', 'channel': '53'},
'05': {'name': 'France3/Nordheim', 'channel': '43'},
'06': {'name': 'France3/Strasbourg', 'channel': '25'},
'07': {'name': 'France3/Lorraine', 'channel': '50'},
'08': {'name': 'Canal+', 'channel': 'K10'},
'09': {'name': 'France5/Arte', 'channel': '64'},
'10': {'name': 'M6', 'channel': '35'}
}
# sort manually by id in a list as python can't retrieve a dictionnary
# in the created order :-(
channels_ids_sorted = channels.keys()
channels_ids_sorted.sort()
# build list for dialog command
channels_dialog = ''
for channel_id in channels_ids_sorted:
channels_dialog = channels_dialog + channel_id + ' ' + channels[channel_id]['name'] + ' '
# get channel from user
cmd_line = 'dialog --stdout --menu "Choisissez la chaine : " 20 50 10 ' + channels_dialog
cmd_line_status,cmd_line_output = commands.getstatusoutput(cmd_line)
if (cmd_line_status == -1) or (cmd_line_output == ''):
sys.exit(1)
channel_name = channels[cmd_line_output]['name']
channel_channel = channels[cmd_line_output]['channel']
print 'Réglage du tuner sur ' + channel_name + '...'
# get devices
# todo : autodetect
video_dev = '/dev/video1'
audio_dev = '/dev/video24'
# init tuner card
cmd_line = '\
v4l2-ctl \
--device=' + video_dev + ' \
--set-fmt-sliced-vbi=teletext \
--set-input=0 \
--set-standard=secam-l \
--set-tuner=stereo \
--set-fmt-video=width=576,height=625 \
--verbose'
cmd_line_status,cmd_line_output = commands.getstatusoutput(cmd_line)
cmd_line = '\
ivtv-tune \
--device=' + video_dev + ' \
--freqtable=france \
--channel=' + channel_channel
cmd_line_status,cmd_line_output = commands.getstatusoutput(cmd_line)
# play stream
cmd_line = 'mplayer ' + video_dev
print cmd_line
cmd_line_status,cmd_line_output = commands.getstatusoutput(cmd_line)
# exit normally
sys.exit(0)
[^] # Re: tu as des outils bien étonnants
Posté par zx81 . En réponse au message Disque dur défaillant ?. Évalué à 1.
Ca en parle par exemple ici:
http://rick.vanrein.org/linux/badram/index.html
http://linux.derkeiler.com/Mailing-Lists/Kernel/2008-03/msg0(...)
Personnellement, je n'ai jamais essayé mais ça peux aider à faire tenir jusqu'à la fin de la garantie...
[^] # Re: Avec les ACLs ?
Posté par zx81 . En réponse au message RSSH et umask. Évalué à 1.
Bizarre chez moi ça marche, si je copie avec un cp "simple", avec "cp -a", les acls du répertoire parent ne sont pas ajoutées...
Quelle version de kernel et libacl/attr ? Distrib ?
# Avec les ACLs ?
Posté par zx81 . En réponse au message RSSH et umask. Évalué à 1.
Ca te permettra de forcer facilement "other" à rien et "user/group" à rw.
Le truc sympa c'est que tu peux mettre des droits par défaut sur un répertoire (toute une *liste* de user|group/droits) et que tout nouveau fichier/dossier créé en dessous en hérite.
[^] # Re: udev
Posté par zx81 . En réponse au message Copie automatique de fichiers au branchement clé usb. Évalué à 1.
(ps1: j'ai indenté pour la lisibilité...)
(ps2: je teste un modèle/nodesérie précis)
BUS=="usb",
KERNEL=="sd??",
SYSFS{idProduct}=="6855",
SYSFS{idVendor}=="08d0",
SYSFS{serial}=="9000000004545",
NAME="%k", SYMLINK+="usbdiskbackup%n",
OWNER="root",
GROUP="root",
MODE="0770",
RUN+="/usr/local/sbin/backup_usbdisk.sh"
pour avoir ces infos:
-lsusb
-udevinfo -q path -n /dev/sdX
-udevinfo -a -p valeur_retournee_ci_dessus
mais attention : le script est toujours appellé deux fois et l'action "remove" ne se déclenche pas ! (j'ai déja posté à ce sujet il y a quelque temps...)
[^] # version avec expect
Posté par zx81 . En réponse au message administration réseau avec samba. Évalué à 1.
cat <<EOF | expect -f - "$USER" "$PWD"
spawn smbldap-passwd [lindex \$argv 0]
set password [lindex \$argv 1]
expect "password:"
send "\$password\r"
expect "password:"
send "\$password\r"
expect eof
EOF
faut mettre ce qu'il faut dans les 2 variables USER et PWD avant...
[^] # Re: Et une connerie de plus
Posté par zx81 . En réponse au journal Microsoft pire qu'ubuntu dans ses updates. Évalué à 1.
Impossible de restaurer depuis le dvd d'usine sans ça...
# avec samba ?
Posté par zx81 . En réponse au message Cherche solution pour écriture parallèle dans deux répertoires.. Évalué à 0.
Il "suffit" d'écrire son propre vfs qui mirroite (je pensais que shadow_copy était fait pour ça mais ce n'est pas le cas).
[^] # Re: Un peu plus de détails
Posté par zx81 . En réponse au message Sauvegarde système en réseau. Évalué à 1.
Ca risque d'être violent en traffic réseau mais est-ce quelqu'un aurait déja fait des essais ?
[^] # Re: mouaich
Posté par zx81 . En réponse au journal Rigolons : accélérer Vista. Évalué à 1.
Même qu'un jour, je l'ai vue plusieurs fois à une présentation lors d'un mini-salon.
C'était un prestataire de SSLL avec une présentation ppt vantant Linux et les logiciels libres ! Rigolade du public garantie :-)
[^] # Re: C'est donc à ça qu'ont servi les subventions allemandes...
Posté par zx81 . En réponse à la dépêche Nokia s'offre Trolltech. Évalué à 3.
Comme les abonnements chez Free ? :-)
# Ch'tite url...
Posté par zx81 . En réponse au message MAO: linux est-il adapté aux professionnels ?. Évalué à 1.
PS: je n'ai aucun rapport avec ce site, quand des musiciens me demandent des infos, je les renvoie simplement ici car "gorfou" est un nom facile à retenir...
[^] # Re: Une solution sur port parallèle te conviendrait-elle?
Posté par zx81 . En réponse au message Oscilloscope simple. Évalué à 1.
la fonction d'enregistrement, elle est bien limitée à 100 échantillons par seconde (dixit la doc) ? C'est un problème de buffer avant récup par le port parallèle ?
Il ne serait donc pas possible d'enregistrer un signal à plus de 100Hz sur plusieurs jours ?
[^] # Re: Une solution sur port parallèle te conviendrait-elle?
Posté par zx81 . En réponse au message Oscilloscope simple. Évalué à 2.
[^] # Re: Un mini-serveur debianisé ferait parfaitement l'affaire!
Posté par zx81 . En réponse au journal A la recherche d'un NAS.... Évalué à 1.
Donc ça devrait le faire...
Celui que j'ai vu était noir avec un disque de 80Go (donc du vieux firmware aussi).
Tant mieux si ils sont revenus dans "le droit chemin" !
Ça vaut combien en France cette bestiole ?
[^] # Re: Un mini-serveur debianisé ferait parfaitement l'affaire!
Posté par zx81 . En réponse au journal A la recherche d'un NAS.... Évalué à 1.
[^] # Re: En retard...
Posté par zx81 . En réponse au journal Lego pour Geek. Évalué à 1.
[^] # Re: petite question
Posté par zx81 . En réponse à la dépêche Bug Labs : Lego pour geeks. Évalué à 5.
Un ballon d'hélium, un bout de ficelle et 4 ventilos collés autour de la télé. Le BUGbase se charge de piloter tout ça ;-)
[^] # Re: raid1
Posté par zx81 . En réponse au message Détection d'erreur sur du raid. Évalué à 1.
Un des défauts, amha, est qu'en cas de mort d'un disque, le kernel met quand même une bonne dizaine de secondes avant de reprendre la main (et innonde les logs avec les messages d'erreurs). J'avais fait l'essai en débranchant l'alim d'un disque, même si c'est loin d'être représentatif...
En fait, je me suis mal exprimé, je souhaite juste éviter ce comportement pour avoir une certaine garantie temporelle des i/o disques (je vais lire plein de ports série afin de stocker des données et je ne souhaite pas dans l'immédiat passer à du temps réél dur).
Je cherche juste à savoir comment prévénir une erreur sans blocage trop long.
Les timeouts et autres valeurs de "retrys" sont-elles modifiables ?