Рано чи пізно будь-який користувач Raspberry Pi стикається з необхідністю перенесення даних з робочого комп'ютера на RPi і назад. В принципі, тут можна скористуватися кардрідером або передавати файли через ssh-з'єднання, але є ще кілька більш зручних способів.
Midnight Commander
Midnight Commander (mc) - консольний файловий менеджер і браузер репозиторію (с.84). Це дружня система для вирішення багатьох завдань у вікні терміналу і найшвидший спосіб для копіювання, переміщення або видалення декількох файлів. mc також може виконувати швидку передачу файлів через FTP і мережею. Іншими унікальними особливостями є можливість переглядати архіви всередині і відновлювати файли.
Як правило, Midnight Commander входить в пакет встановлення ОС і запускається введенням mc у вікні терміналу.
Якщо mc не встановлений, то встановлюємо, як зазвичай:
sudo apt-get install mc
Основне вікно має дві панелі директорій, з випадаючим меню на рядку вгорі, командним рядком внизу і, ще нижче, списком представлених функціональних клавіш F (функція). Над командним рядком - хіти, які показують випадкові поради.
Як правило, ви відображаєте різні директорії на кожній з бокових панелей, щоб можна було виконувати дії над файлами між ними.
Переміщайтеся в mc за допомогою клавіатури:
Tab, щоб перейти до іншої панелі директорії
прокрутка директорій за допомогою клавіш зі стрілками вгору/вниз
Home і End, щоб перейти до верхньої або нижньої частини довгої директорії
pg-up і pg-down, щоб перейти за раз на один екран
клавіші назад/вліво для переходу в батьківську директорію
Ключі 'F' широко використовуються в mc для роботи з файлами. Читайте на панелі в нижній частині про їх поточну функцію, яка може відрізнятися в залежності від контексту, наприклад, перегляд директорії, використання переглядача файлів або редактора.
У нормальному режимі перегляду:
⦁ F1 - допомога.
⦁ F2 - меню користувача (пропонує можливість gzip файлів і т.д.)
⦁ F3 - переглянути (зручно, щоб перевірити вміст файлів rpm чи tgz, або прочитати вміст файлів)
⦁ F4 - редагувати за допомогою внутрішнього редактора mcedit
⦁ F5 – копіювати
⦁ F6 - перейменувати або перемістити
⦁ F7 - створити директорію
⦁ F8 – видалити
⦁ F9 – випадаючі меню панелі доступу зверху
⦁ F10 - досить. Закриває mc, а також mcedit і будь-які небажані відкриті меню.
Якщо у вас немає F-клавіш, використовуйте Esc - порядковий номер (1-0) замість них.
Нагадуємо, що для можливості збереження редагованих файлів часто необхідно запускати mc через sudo.
Детальніше про використання комбінацій клавіш на сайті isearch.kiev.ua.
У Midnight Commander є вбудований ftp-клієнт для зручної роботи з FTP-серверами. Для цього використовується команда "FTP-з'єднання", доступна з меню лівої і правої панелей.
Викликавши це меню, потрібно ввести лише таку команду:
ftpuser:password@ip_adress
Можна навіть не вводити пароль - mc сам запросить його.
Також можливий схожий варіант, якщо вводити дані в командний рядок при відкритому mc:
cd /#ftp:ftpuser:password@ip_adress
Встановлення FTP-сервера на Raspberry Pi
FTP (File Transfer Protocol - протокол передачі файлів) - стандартний протокол, призначений для передачі файлів через TCP-мережі (наприклад, через Інтернет). FTP часто використовується для завантаження веб-сторінок та інших документів з персонального комп’ютера розробника на відкриті сервера хостингу.
Протокол побудований на архітектурі «клієнт-сервер» і використовує різні мережеві з'єднання для передачі команд і даних між клієнтом та сервером. Користувачі FTP можуть пройти аутентифікацію, передаючи логін і пароль відкритим текстом, або ж, якщо це дозволено на сервері, можуть підключитися анонімно. Можна використовувати протокол SSH для безпечної передачі, що приховує (шифрує) логін і пароль, а також шифрувати вміст.
Відкриваємо термінал і вводимо
sudo bash #Запуск вдосконаленої командної оболонки з правами root
Встановлюємо vsftpd:
apt-get install vsftpd
де vsftpd (Very Secure FTP Daemon) – служба захищеного FTP-сервера з підтримкою IPv6 і SSL.
FTP-сервер є за замовчуванням в багатьох операційних системах і обслуговує офіційні репозиторії ftp.debian.org, ftp.redhat.com, ftp.openbsd.org, ftp.freebsd.org. Також використовується на офіційному FTP ядра Linux.
Редагуємо конфігурацію:
nano /etc/vsftpd.conf
Редагуємо до такого стану:
listen=NO # Встановлюємо запуск через inetd
anonymous_enable=NO # Забороняємо анонімне підключення
local_enable=YES # Дозволяємо авторизацію користувачам системи
write_enable=YES # Дозволяємо користувачам запис в своїх каталогах
local_umask=022 #
ascii_upload_enable=YES # Тип даних ASCII для завантаження на сервер
ascii_download_enable=YES # Тип даних ASCII для завантаження з сервера
Зберігаємо файл CTRL+O і виходимо через CTRL+X.
Перезапускаємо vsftpd
/etc/init.d/vsftpd restart
Більш докладне пояснення та налаштування за посиланню.
WinSCP
WіnSCP - це графічний клієнт SFTP для Wіndows з відкритим початковим кодом. Він також успадкував підтримку протоколу SCP (secure copy – безпечне копіювання). Призначений для захищеного копіювання файлів між комп’ютером і серверами, що підтримують ці протоколи.
Серед основних можливостей програми:
- графічний багатомовний інтерфейс
- інтеграція з ОС Wіndows (drag&drop, підтримка схем URL, ярлики)
- підтримка SFTP і SCP протоколів по SSH-1 та SSH-2, а також протоколу FTP
- автоматизація за допомогою сценаріїв та командного рядка
- синхронізація директорій за декількома автоматичними та напівавтоматичними функціями
- вбудований текстовий редактор
- підтримка різних методів аутентифікації SSH протоколу: парольна, з відкритим ключем, Kerberos (GSS) та інтерактивна клавіатура
- інтеграція з Pageant (PuTTY Agent) для підтримки авторизації відкритим ключем
- два інтерфейси користувача: як у провіднику Wіndows Explorer та як у Norton Commander (схожа на Midnight Commander або Total Commander)
- можливість збереження налаштувань з'єднань
- можливість використання файлу конфігурації замість реєстру, що зручно при запуску з переносних носіїв
WіnSCP виконує всі такі основні операції з файлами, як завантаження та вивантаження файлів. Він також дозволяє перейменовувати файли та директорії, створювати директорії, змінювати властивості файлів та директорій, а також створювати символічні посилання та ярлики.
За допомогою WіnSCP можна з’єднатися з сервером SSH через протокол SFTP чи SCP, як правило, з машинами під ОС Linux.
SFTP за замовчуванням входить до протоколу SSH-2. SCP, також за замовчуванням, входить до протоколу SSH-1. Обидва протоколи можуть працювати з обома версіями SSH. WіnSCP підтримує як SSH-1, так і SSH-2. Підтримується тільки базовий FTP.
Програма пропонує користувачу два інтерфейси, кожний з який може бути налаштований за допомогою безлічі параметрів. Один з двох інтерфейсів програми також дозволяє керувати файлами на локальному комп’ютері користувача.
Коли ви починаєте використовувати WіnSCP, можливо, забажаєте використовувати інтерфейс у стилі Провідника Wіndows Explorer, тому що він добре відомий усім користувачам ОС Wіndows.
Однак, якщо ви звикли працювати в програмах типу Norton Commander, чи таких як цілий ряд сучасних файлових менеджерів (Total Commander, FAR, Altap Salamander), вибирайте інтерфейс як у Norton Commander, тому що він більш зручний для керування з клавіатури та його можна використовувати взагалі без допомоги “миші”, що дозволяє виконувати основні операції швидше.
Інтерфейс можна змінити і пізніше, а не лише при встановленні.
WіnSCP найзручніший, на мою думку, інструмент для обміну файлами між ПК і Raspberry Pi.
Завдання та питання для перевірки
1. За допомогою Midnight Commander знайдіть директорію FTP-сервера і створіть в ній, якщо не існує, піддиректорію pub, в яку скопіюйте файл конфігурації доступу в бездротову мережу, редагований на попередньому занятті.
2. Завантажте Total Commander або FileZilla на свій ПК і налаштуйте доступ на FTP-сервер свого RPi. Знайдіть і копіюйте вищезгаданий файл конфігурації на свій ПК в папку Документи.
3. За допомогою WinSCP знайдіть на RPi файл конфігурації доступу в бездротову мережу (не на FTP-сервері) і методом «перетягування» копіюйте його на робочий стіл свого ПК.
4. Відкрийте для редагування у Блокноті свого ПК файл конфігурації бездротової мережі.