Як зробити резервну копію файлів телефону в Linux?

Всі хоч раз замислювалися як швидко зробити копію телефону або окремої теки, або файлу. Або навпаки залити файли на телефон. Зараз ми вам розповімо як легко і швидко передавати файли будь-якого виду з вашого пристрою на комп’ютер з Linux і назад.
Один з головних недоліків мобільних пристроїв полягає в тому, наскільки складно може бути передача даних з вашого пристрою на комп’ютер. Мобільні пристрої мають довгу історію цього. Ранні мобільні пристрої, такі як пристрої Pilot і Handspring PDA, вимагали спеціальне програмне забезпечення для синхронізації. Старим iPod був потрібний інтерфейс для конкретної платформи. Сучасні мобільні пристрої за замовчуванням відправляють ваші дані в обліковому записі онлайн, тому ви можете завантажити їх на свій комп’ютер.

Хороша новина – якщо ви працюєте в Linux, ви, ймовірно, можете під’єднатися до мобільного пристрою за допомогою gPhoto2. Спочатку розроблений як спосіб зв’язку з цифровими камерами, коли цифрова камера була просто камерою, gphoto2 тепер може спілкуватися з багатьма різними видами мобільних пристроїв.

Не дозволяйте назві програми обдурити вас – вона може обробляти усі типи файлів, а не тільки фотографії. Більш того, вона підтримує скрипти, гнучкі та набагато більш потужні, ніж більшість інтерфейсів GUI. Це найбільш зручний спосіб синхронізації даних між вашим комп’ютером і мобільним пристроєм.

Встановити gPhoto2

Швидше за все, у вашій системі Linux вже встановлена libgphoto2, тому що це ключова бібліотека для взаємодії з мобільними пристроями.

Тому вам необхідно встановити всього лише програму gPhoto2.

на Fedora або RHEL:

sudo dnf install gphoto2

на Debian або Ubuntu:

sudo apt install gphoto2

Перевірка на сумісність gPhoto2 з вашим пристроєм

Щоб переконатися, що ваш мобільний пристрій підтримується, використовуйте:--list-cameras

Щоб побачити весь список підтримуваних пристроїв введіть команду:

gphoto2 --list-cameras | less

Що б звузити коло пошуку і вибрати відразу саме ваше, ви можете використовувати додатково команду grep. Наприклад, якщо у вас Samsung Galaxy, тоді використовуйте grep з виключеною чутливістю до регістру за допомогою перемикача:-i

gphoto2 --list-cameras | grep -i galaxy

результат:
«Samsung Galaxy models (MTP)»
«Samsung Galaxy models (MTP+ADB)»
«Samsung Galaxy models Kies mode»

Це підтверджує, що пристрої Samsung Galaxy підтримуються через MTP і MTP з ADB.

Якщо ви не можете знайти свій пристрій в списку, ви все одно можете спробувати використовувати gphoto2 на випадок, якщо ваш пристрій насправді маскується під інший бренд.

Знайди свій мобільний пристрій

Щоб використовувати gPhoto2, спочатку необхідно під’єднати мобільний пристрій до комп’ютера, встановити режим MTP і, можливо, вам потрібно дати комп’ютеру дозвіл на взаємодію з ним. Зазвичай для цього потрібно фізична взаємодія з вашим пристроєм, зокрема натискання кнопки в інтерфейсі, щоб дозволити доступ до каталогу файлів з комп’ютера, до якого він тільки що підключений.

Якщо ви не надаєте комп’ютеру доступ до мобільного телефону, gPhoto2 виявить ваш пристрій, але не зможе з ним взаємодіяти.

Щоб переконатися, що ваш комп’ютер виявляє підключений пристрій, використовуйте параметр: --auto-detect

gphoto2 --auto-detect

Наприклад, мій Xiaomi Redmi 8 Pro визначився ось так:

Модель Порт
----------------------------------------------------------
Xiaomi Mi-2s (id2) (MTP) usb:001,005

Якщо ваш пристрій не виявлено, спочатку перевірте кабелі, а потім переконайтеся, що ваш пристрій налаштовано для взаємодії через MTP або ADB, або будь-який протокол, який підтримує gPhoto2 для вашого пристрою, як показано в вихідних даних --list-cameras.

Опитайте ваш пристрій на підтримувані функції

У сучасних пристроях зазвичай є безліч потенційних функцій, але підтримуються не всі. Ви можете це дізнатися напевно з опцією: --abilities.

gphoto2 --abilities

В режиме “Передача файлов” на телефоне, я получил вот такой ответ:
Функции фотоаппарата: Xiaomi Mi-2s (id2) (MTP)
Поддержка послед. порта: нет
Поддержка USB: да
Режимы съёмки: Драйвер не поддерживает режим съёмки
Поддержка настройки: нет
Удаление выбранных файлов с фотоаппарата: да
Удаление всех файлов с фотоаппарата: нет
Поддержка миниатюр: нет
Поддержка загрузки файлов: да

А ось в режимі “Передача файлів PTP” вже цікавіше результат, відповідей “так” вже більше. Правда і визначився він незрозуміло:

Функции фотоаппарата: USB PTP Class Camera
Поддержка послед. порта: нет
Поддержка USB : да
Режимы съёмки: Фото, Предв. просмотр
Поддержка настройки: да
Удаление выбранных файлов с фотоаппарата: да
Удаление всех файлов с фотоаппарата: нет
Поддержка миниатюр: да
Поддержка загрузки файлов: да

Якщо у вас під’єднано тільки один пристрій, тоді нема потреби вказувати, який саме пристрій ви запитуєте. Однак якщо ви під’єднали більше одного пристрою, з яким gPhoto2 може взаємодіяти, ви можете вказати пристрій по порту, моделі камери або usbid.

Прибрати конфлікти при взаємодії gphoto2 з пристроєм

У вас може виникнути конфлікт чинних додатків при доступі до пристрою і ви можете отримати наступне повідомлення:

*** Ошибка ***
Ошибка в библиотеке ввода-вивода (‘Could not claim the USB device’): Could not claim interface 0 (Устройство или ресурс занято). Make sure no other program (gvfs-gphoto2-volume-monitor) or kernel module (such as sdc2xx, stv680, spca50x) is using the device and you have read/write access to the device.
*** Ошибка (-53: «Could not claim the USB device») ***

Для получения отладочных сообщений воспользуйтесь параметром –debug.
Отладочные сообщения могут помочь найти решение вашей проблемы.
Если вы хотите какие-либо сообщения gphoto с список рассылки авторов
программы , то запускайте
gphoto2 со следующими параметрами:

env LANG=C gphoto2 –debug –debug-logfile=my-logfile.txt –list-folders

Проверьте, что аргументы надёжно экранированы.

Це усувається шляхом завершення пару процесів, які вже працюють з вашим пристроєм. На прикладі мого випадку:

$ ps aux | grep gphoto
we 18618 0.0 0.0 309520 15800 ? Ssl лип03 0:00 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
$ kill -9 18618
$ ps aux | grep gvf | grep mtp
we 18622 0.0 0.0 282812 6908 ? Ssl лип03 0:00 /usr/lib/gvfs/gvfs-mtp-volume-monitor
we 27675 0.2 0.0 532868 10300 ? Sl 10:40 0:00 /usr/lib/gvfs/gvfsd-mtp --spawner :1.5 /org/gtk/gvfs/exec_spaw/17
$ kill -9 18622
$ kill -9 27675

Після цього вам нічого не повинно заважати для доступу до пристрою. Але пам’ятайте, що після перезавантаження вони знову з’являться.

Взаємодія з вашим пристроєм

Якщо ваш пристрій підтримує захоплення, то ви можете захоплювати медіа через камеру з вашого комп’ютера. Наприклад, щоб зробити знімок:

gphoto2 --capture-image

Щоб зробити знімок і відразу ж перенести його на комп’ютер, на якому ви перебуваєте:

gphoto2 --capture-image-and-download

Ви також можете захоплювати відео і звук.
Якщо у вас під’єднано більше однієї камери, ви можете вказати, який пристрій ви хочете використовувати, по порту, моделі камери або usbid:

gphoto2 --camera "Samsung Galaxy models (MTP)" --capture-image-and-download

Файли та теки на вашому пристрої

Щоб розумно взаємодіяти з файлами на вашому пристрої, вам необхідно розуміти структуру файлової системи, доступної для gPhoto2.

Ви можете подивитися доступні теки з опцією::--get-folders

$ gphoto2 --list-folders
There are 2 folders in folder '/'. 
- store_00010001
- store_00020002
There are 0 folders in folder '/store_00010001'.
There are 0 folders in folder '/store_00020002'.

Кожна з цих тек є місцем зберігання на пристрої.
В даному прикладі:
store_00010001 - це внутрішнє сховище;
store_00020002 - SD-карта.

Ваш пристрій може мати іншу структуру.

Отримання файлів з вашого пристрою

Тепер, коли ви знаєте розташування тек на вашому пристрої, ви можете завантажувати файли з вашого пристрою. Є багато різних опцій, які ви можете використовувати, в залежності від того, що ви хочете взяти з пристрою.

Ви можете отримати конкретний файл, якщо ви знаєте повний шлях:

gphoto2 --get-file IMG_0001.jpg --folder /store_00010001/myphotos

Ви можете отримати всі файли одночасно:

gphoto2 --get-all-files --folder /store_00010001/myfiles

Ви можете отримати тільки аудіо файли:

gphoto2 --get-all-audio-data --folder /store_00010001/mysounds

Існують і інші варіанти. Більшість з них залежать від того, що підтримують ваш пристрій і використовуваний протокол.

Завантаження файлів на ваш пристрій

Тепер, коли ви знаєте свої потенційні цільові теки, ви можете завантажувати файли зі свого комп’ютера на свій пристрій. Наприклад, припускаючи, що в вашому поточному каталозі є файл example.epub, ви можете відправити його на ваш пристрій з опцією --upload-file спільно з опцією --folder, щоб вказати, в яке місце зберігання ви хочете завантажити:

gphoto2 --upload file example.epub --folder store_00010001

Ви можете створити каталог на своєму пристрої, якщо ви віддаєте перевагу завантажувати декілька файлів в нову теку:

gphoto2 --mkdir books --folder store_00010001
gphoto2 --upload-file *.epub --folder store_00010001/books

Список файлів на вашому пристрої

Щоб переглянути файли, завантажені на ваш пристрій, використовуйте опцію: --list-files

$ gphoto2 --list-files --folder /store_00010001
There is 1 file in folder '/store_00010001'
#1     example.epub 17713 KB application/x-unknown
$ gphoto2 --list-files --folder /store_00010001/books
There is 1 file in folder '/store_00010001'
#1    example0.epub 17713 KB application/x-unknown
#2    example1.epub 12264 KB application/x-unknown
[...]

Вивчення ваших варіантів

Велика частина функціоналу gPhoto2 залежить від вашого пристрою, тому ваш досвід може відрізнятися від інших.
Є багато інших опцій. вивчіть їх:

gphoto2 --help
Поділіться своєю любов'ю

Залишити відповідь

0 комментариев
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x