ожидание получения.**B0100000023be50 при использовании rz для загрузки файла

Вопрос или проблема

Я подключен к удаленной машине Linux с моего Mac. Я следую шагам учебника, и после установки пакета lrzsz мне сказали выполнить команду rz. В учебнике открывалось окно для выбора файлов, но в моем случае я застрял на этом этапе:

[root@localhost /]# rz
?**B0100000023be50ive.**B0100000023be50

Что я делаю не так?

То, что вы видите, – это запрос (от rz) к удаленной стороне (вашей) на инициацию загрузки по протоколу ZMODEM.

Очевидные вопросы здесь: Используете ли вы терминал, поддерживающий ZMODEM? Начинаете ли вы загрузку по ZMODEM после запуска rz на удаленной стороне?

rz сопровождается программой sz (названия, скорее всего, образовались в виде сокращений от “прием ZMODEM” и “отправка ZMODEM” соответственно). После запуска rz на удаленной системе (или иначе инициируя удаленную систему ожидать загрузку ZMODEM) вам нужно запустить фактическую загрузку на вашей системе; на системе *nix это обычно делается запуском sz с соответствующими параметрами и связыванием этих двух процессов каким-либо образом. Эти две утилиты затем будут обмениваться информацией друг с другом для передачи файла и обеспечения его передачи без ошибок. (Помните, что ZMODEM возник в то время, когда коррекция ошибок была роскошью, а автоматическая повторная передача – исключением, а не нормой.)

Терминальные программы того времени отличались тем, как они обрабатывали запросы ZMODEM; некоторые автоматически начинали процесс загрузки или скачивания при получении триггерного пакета, в то время как другие требовали вручную инициировать это действие. Я помню, как я был поражен, когда использовал Terminate в те времена, что он автоматически начинал загрузку или скачивание вместо того, чтобы требовать от меня дополнительных действий для начала передачи файла локально.

Если у вас нет конкретной причины использовать ZMODEM для передачи файлов, вероятно, будет проще использовать что-то вроде sftp/scp, инфраструктура для которого (ssh) у вас, по сути, уже должна быть настроена для подключения по терминалу, если это удаленная система.

Мой аналогичный случай

  • Сервер
    • Ubuntu
      • установлен lrzsz с помощью
        • apt-get install lrzsz
  • Клиент
    • Mac
      • OS: macOS v13.6.2
      • терминал: iTerm2 v3.5.5
root@xxx:~/proxy/gost# rz
�z waiting to receive.**B0100000023be50

Решение

  • добавить поддержку Z-Modem для iTerm2

Шаги

в Mac

установить lrzsz

brew install lrzsz

загрузить скрипты

ссылка:

https://github.com/robberphex/iTerm2-zmodem

->

скачать iterm2-recv-zmodem.sh и iterm2-send-zmodem.sh

скопировать скрипт в /usr/local/bin/

cp iterm2-* /usr/local/bin/

добавить 2 триггера для iTerm2

iTerm2 -》Settings -》Profiles -》Выберите свой профиль (обычно это уникально: Default) -》Advanced -》Triggers -》Нажмите: Edit -》всплывающее окно настроек триггеров -> Нажмите , чтобы добавить 2 триггера

->

  • триггер 1
    • Регулярное выражение: rz waiting to receive.\*\*B0100
    • Действие: Запустить тихий копроцесс
    • Параметры: /usr/local/bin/iterm2-send-zmodem.sh
    • Мгновенный: отмечено
  • Триггер 2
    • Регулярное выражение: \*\*B00000000000000
    • Действие: Запустить тихий копроцесс
    • Параметры: /usr/local/bin/iterm2-recv-zmodem.sh
    • Мгновенный: отмечено

скриншот:

iterm2_triggers_zmodem

нормально используйте свои rz и sz

например: в сервере Ubuntu введите rz, после чего в iTerm2 на Mac появится окно для выбора файла, нажмите Выбрать, чтобы отправить файл с Mac на Ubuntu

Ответ или решение

Ваш вопрос касается использования утилиты rz для передачи файлов между вашим Mac и удаленной Linux-машиной. Судя по вашей ситуации, вы столкнулись с проблемой, когда в терминале отображается сообщение ?z waiting to receive.**B0100000023be50. Давайте разберем, как решить эту проблему и правильно настроить передачу файлов через ZMODEM.

Что такое rz и sz?

Утилита rz предназначена для приема файлов через ZMODEM, а sz — для их отправки. Когда вы запускаете команду rz на удаленной машине, она ожидает, что на клиентской стороне (в вашем случае — Mac) будет запущено событие передачи файла.

Проблема

Ваша проблема заключается в том, что при вызове rz не запускается процесс передачи ZMODEM с клиентской стороны. Это может происходить из-за отсутствия поддержки ZMODEM в вашем терминале или неподходящей настройки.

Решение

Чтобы правильно настроить ваш терминал и решить проблему, выполните следующие шаги:

1. Установите lrzsz на вашем Mac

Используйте Homebrew для установки пакета lrzsz, который включает утилиты rz и sz:

brew install lrzsz

2. Установите поддержку ZMODEM в iTerm2

  1. Скачайте необходимые скрипты, которые добавляют поддержку ZMODEM в iTerm2. Скрипты можно найти по следующей ссылке: iTerm2-zmodem.

  2. Скачайте файлы iterm2-recv-zmodem.sh и iterm2-send-zmodem.sh.

  3. Скопируйте скачанные скрипты в папку /usr/local/bin/:

    cp iterm2-* /usr/local/bin/

3. Добавьте триггеры в iTerm2

  1. Откройте настройки iTerm2: iTerm2 -> Preferences.

  2. Перейдите в раздел Profiles, выберите ваш профиль (обычно это Default).

  3. Перейдите на вкладку Advanced, найдите секцию Triggers и нажмите Edit.

  4. Добавьте два триггера:

    • Триггер 1:

      • Regular expression: rz waiting to receive.\*\*B0100
      • Action: Run Silent Coprocess
      • Parameters: /usr/local/bin/iterm2-send-zmodem.sh
      • Instant: отмечен
    • Триггер 2:

      • Regular expression: \*\*B00000000000000
      • Action: Run Silent Coprocess
      • Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
      • Instant: отмечен

4. Используйте rz и sz

Теперь вы можете использовать rz и sz для передачи файлов. Например, на сервере (Ubuntu) выполните команду rz, и iTerm2 на вашем Mac автоматически откроет окно для выбора файла. Выберите файл и нажмите Выбрать, чтобы отправить его с вашего Mac на удаленный сервер.

Заключение

После выполнения всех вышеуказанных шагов вы сможете успешно передавать файлы между вашим Mac и удаленной Linux-машиной с использованием утилит rz и sz. Если у вас остались вопросы или возникли трудности на каком-либо шаге, пожалуйста, дайте знать!

Оцените материал
Добавить комментарий

Капча загружается...