Nenhum dispositivo ou endereço

1

O que significa se eu receber esta mensagem durante scp ?

scp: /dev/fd/3/fd/3/fd/3/fd/3/fd/3/fd/3/fd/3/fd/3/fd/3/fd/3/fd/3/fd/3/fd/5/31/rd/c6d16: No such device or address

O que estou fazendo é

scp -r [email protected]:/* .
    
por Niklas Rosencrantz 01.08.2017 / 09:15

1 resposta

2

O processo que está fazendo a recursão na extremidade remota está sendo executado como superusuário e recursou em /dev/fd . Vários de seus descritores de arquivos abertos são para diretórios que estão em processo de leitura como parte da recursão. Uma vez que eles se parecem com subdiretórios enquanto percorrem /dev/fd , eles estão sendo recursivos novamente.

É até mesmo possível determinar quais descritores de arquivos abertos estão abertos para quais diretórios:

    O descritor de arquivo
  • # 3 está aberto para /
  • O descritor de arquivo
  • # 5 está aberto para /dev/fd
  • O descritor de arquivos
  • # 31 está aberto para /dev

Alcançou, por meio de uma rota longa e tortuosa, um ponto em que está tentando abrir e copiar /dev/rd/c6d16 , que não corresponde a um dispositivo físico.

Sempre tenha cuidado com os comandos, especialmente aqueles executados com privilégios de superusuário, que acabarão tentando abrir e copiar ingenuamente todos os arquivos em /dev , /device , /proc , /sys e assim por diante. Isso tem sido insensato desde os dias em que /dev estava cheio de dispositivos de fita (às vezes com retrocesso automático / retensionamento automático) e dispositivos de terminal que bloqueariam uma chamada aberta até que a portadora fosse detectada.

Garanta que, se você realmente quiser copiar /dev , o que provavelmente não , dado que nos sistemas operacionais modernos seu conteúdo é determinado dinamicamente em tempo de execução, use um comando que copie arquivos de dispositivos especiais, FIFOs, soquetes e links simbólicos como eles próprios, em vez de tentar abrir e ler arquivos como se fossem arquivos normais. (Ou que open() deles e, em seguida, fstat() para determinar se eles são dispositivos especiais, o que falhará nos arquivos do dispositivo que geram erros em open() .)

    
por 01.08.2017 / 14:40

Tags