2010-12-07 21 views
3

Je peux connaître l'inode du périphérique/socket avec stat, il semble que je puisse en quelque sorte "copier" ce fichier pour la sauvegarde. Bien sûr, la solution est "dd", mais je n'ai aucune idée de ce que je peux faire si l'appareil est à l'infini (comme le hasard). Et puis-je simplement copier l'inode en quelque sorte?Comment puis-je faire une copie du fichier de périphérique/socket

+0

Que faites-vous exactement essayer de faire? –

+1

Qu'est-ce que vous essayez de faire une sauvegarde de? Les données sur l'appareil? Sauvegarde de l'appareil lui-même n'a pas beaucoup de sens physique ... –

+0

Je veux savoir comment puis-je récupérer les données de ces types de fichiers, puis les sauvegarder. Mais si ce n'est pas possible de sauvegarder l'information (et je serai vraiment heureux si vous me dites pourquoi), je dois faire quelque chose comme un miroir de ces fichiers. – Ximik

Répondre

5

On les appelle "fichiers spéciaux" ou "nœuds spéciaux". Copier leur contenu n'a pas de sens, car le contenu est généré d'une manière ou d'une autre par le noyau au besoin.

Des programmes comme "tar" savent comment copier le contenu de l'inode, qui se référera à la partie du noyau qui supporte chacun de ces différents nœuds. Voir la documentation de la commande "mknod" pour plus de détails.

+0

Et donc, pouvez-vous dire, comment fonctionnent ces programmes? On dirait que c'est ce dont j'ai besoin. Je vous remercie. UPD: J'ai regardé à travers la page de manuel, mais je n'ai pas compris, comment puis-je connaître les numéros majeurs et mineurs du fichier de périphérique existant. – Ximik

+0

J'ai trouvé. Merci beaucoup. – Ximik

+0

Je comprends que je peux créer un tube nommé en utilisant mkfifo. (vu comme prw -... dans ls -l). Y a-t-il une commande similaire pour créer un fichier socket? Les fichiers socket sont considérés comme (srw -... dans ls -l) et pas même comme fifo. – anishsane

0

Déterminez le numéro majeur et mineur du fichier de périphérique que vous devez copier, puis utilisez mknod pour créer le fichier de périphérique avec le même nombre majeur et mineur. Un nombre majeur est utilisé pour un programme permettant d'accéder à la table de commutateurs de périphériques du noyau et d'appeler la fonction appropriée du noyau (généralement le périphérique). Le nombre mineur est utilisé comme paramètre pour appeler ces fonctions (comme densité différente, disque, .... etc).

-3

Vous pouvez copier d'un système de travail comme ci-dessous vers un emplacement partagé entre les machines et copier de l'emplacement partagé vers l'autre système.

Machine A

cp -rf /dev/SRC shared_directory 

machine B

cp -rf shared_directory /dev/ 
+1

C'était il y a longtemps maintenant, mais cette solution ne fonctionne pas pour copier les fichiers socket. – sherrellbc

0

Et si vous avez besoin d'une doublure pour copier des noeuds périphérique avec le goudron, la voici:

cd /dev && tar -cpf- sda* | tar -xf- -C /some/destination/path/