Estou usando o tramp via ssh para acessar arquivos remotos. Para arquivos de texto, isso está funcionando muito bem, mas sempre que eu quero copiar arquivos remotos maiores para minha máquina local, o tramp usa seu método embutido lento (codificando o arquivo com gzip). Isso é muito mais lento do que usar um método externo, como por exemplo, scp. Como faço para o emacs usar o scp ao transferir arquivos grandes?
Informação relevante:
Eu uso um arquivo ~ / .ssh / config para acessar a máquina remota. O alias para essa máquina é hehi09 a seguir. O acesso é sem senha
Mensagens no buffer de mensagens ao transferir:
Copying /ssh:hehi09:/home/christian/big_file.dat to /home/christian/big_file.dat'... Tramp: Inserting `/ssh:hehi09:/home/christian/big_file.dat'... Tramp: Encoding remote file `/ssh:hehi09:/home/christian/big_file.dat' with `(gzip <%s | base64)'...
Valores de:
o valor do tramp-copy-size-limit é 10240 (muito menor que o tamanho do arquivo testado)
O valor do método tramp-default-method é "scp"
$ scp hehi09:/home/christian/big_file.dat ~/
funciona como esperado na linha de comando e é muito mais rápido que a transferência no emacs
Alguma idéia de por que o emacs não está usando o scp para copiar arquivos grandes? Qualquer ajuda é muito apreciada!
scp
seu método padrão. Mesmo assim, o Tramp copia arquivos pequenos viassh
e arquivos grandes viascp
. Você pode personalizar o limite viatramp-copy-size-limit
./scp:host:/path/to/file
ou/ssh:host:/path/to/file
.Porque você precisa configurá-lo no
~/.emacs
arquivo. Apesar disso, o Emacs é um editor de texto, não um cliente SFTP ou FTP, mas usa essabase64
codificação nossh
método que o torna muito lento para a transferência de arquivos.fonte
ssh
está certo de que umabase64
conversão está ocorrendo, o que é lento para arquivos grandes. No entanto, se você usarscp
esse não é o caso. O Emacs é capaz de executar comandos que não lidam com "texto". Por fim, não diga aos usuários do Emacs que seu sistema operacional favorito é um editor de texto;)scp
e abase64
conversão continuou ocorrendo. Seria apreciável se isso não acontecer, uma vez que provavelmente seria o principal aplicativo para conexões SFTP. Embora seja usado como editor de texto principal e gerenciador de arquivos.scp
método, sembase64
conversão, tornando-o mais rápido.scp
não usarbase64
codificação. Você poderia compartilhar rapidamente qual era o problema em seu caso de alguém aparecer aqui no futuro?TRAMP
dired
conexão estava aberta via essh
, em seguida, estava executando oscp
comando, o que impedia abase64
conversão. Ao executar oTRAMP
dired
comando connection and copyscp
, ele próprio, com o método, desconsiderou abase64
conversão e foi mais rápido.