Ich benutze tramp via ssh, um auf entfernte Dateien zuzugreifen. Bei Textdateien funktioniert dies sehr gut, aber wenn ich größere Remote-Dateien auf meinen lokalen Computer kopieren möchte, verwendet tramp die langsame Inline-Methode (Codierung der Datei mit gzip). Dies ist viel langsamer als die Verwendung einer externen Methode wie beispielsweise scp. Wie kann ich Emacs dazu bringen, scp beim Übertragen großer Dateien zu verwenden?
Relevante Information:
Ich verwende eine ~ / .ssh / config-Datei, um auf den Remote-Computer zuzugreifen. Der Alias für diese Maschine lautet im Folgenden hehi09. Der Zugriff erfolgt ohne Passwort
Nachrichten im Nachrichtenpuffer beim Übertragen:
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)'...
Werte von:
Der Wert für tramp-copy-size-limit ist 10240 (viel kleiner als die getestete Dateigröße).
Der Wert der tramp-default-Methode ist "scp".
$ scp hehi09:/home/christian/big_file.dat ~/
Funktioniert wie erwartet über die Befehlszeile und ist viel schneller als die Übertragung in Emacs
Irgendwelche Ideen, warum emacs scp nicht zum Kopieren großer Dateien verwendet? Jede Hilfe wird sehr geschätzt!
scp
Ihre Standardmethode fest. Selbst dann kopiert Tramp kleine Dateien überssh
und große Dateien überscp
. Sie können das Limit über anpassentramp-copy-size-limit
./scp:host:/path/to/file
oder/ssh:host:/path/to/file
.Weil du es in eine
~/.emacs
Datei setzen musst . Trotzdem ist Emacs ein Texteditor, kein SFTP- oder FTP-Client. Es verwendet diesebase64
Codierung, während es sich um einessh
Methode handelt, die für die Dateiübertragung zu langsam wird.quelle
ssh
Siebase64
Recht, dass eine Konvertierung stattfindet, die für größere Dateien langsam ist. Wenn Sie dies verwendenscp
, ist dies jedoch nicht der Fall. Emacs ist gut in der Lage, Befehle auszuführen, die sich nicht mit "Text" befassen. Zum Schluss sollten Sie Emacs-Benutzern nicht mitteilen, dass ihr Lieblingsbetriebssystem ein Texteditor ist;)scp
undbase64
Konvertierung immer wieder. Wäre bemerkenswert, wenn es nicht passiert, sobald es wahrscheinlich die Hauptanwendung für SFTP-Verbindungen wäre. Obwohl es als Haupttexteditor und Dateimanager verwendet wird.scp
Methode ohnebase64
Konvertierung zu tun und es schneller zu drehen.scp
keinebase64
Codierung zu verwenden. Können Sie schnell mitteilen, was das Problem in Ihrem Fall für jemanden war, der in Zukunft hier vorbeikommt?TRAMP
dired
Verbindung über geöffnet warssh
und dann einscp
Befehl ausgeführt wurde, der diebase64
Konvertierung verpflichtete. Wenn sowohl derTRAMP
dired
Verbindungs- als auch der Kopierbefehl selbst mit derscp
Methode ausgeführt wurden, wurde diebase64
Konvertierung ignoriert und schneller ausgeführt.