четверг, 30 марта 2017 г.

Очистка Linux Mint, Ubuntu двумя командами

Любая операционная система со временем "обрастает" ненужными файлами и Linux не является исключением. Несмотря на то, что для Linux тоже разработан ряд программ по очистке системы от ненужных файлов, данную операцию можно осуществить двумя командами в терминале. Как говорилось про утилиту apt, она обладает "коровьей силой".

Для удаления ненужных файлов, оставшихся после обновлений системы, установленных в ней программ, а также после удаления приложений используются команды autoremove (автоудаление) и autoclean (автоочистка). Данные команды запускаются в терминале с правами суперпользователя: sudo apt autoremove и sudo apt autoclean.

Ниже приводится пример листинга произведенных операций в моей системе. Сначала произведу операцию автоудаления, а потом автоочистки. Под ~ $ следует понимать строку в терминале, когда Вы его запустили. Перед символом ~ ещё будет отображено Ваше имя пользователя системы.

Если внимательно присмотреться к тому, от скольких ненужных и занимающих дисковое пространство пакетов удалось избавиться, то на ум приходит здравая мысль о том, что данные операции следует производить на регулярной основе.

~ $ sudo apt autoremove
Чтение списков пакетов… Готово
Построение дерева зависимостей      
Чтение информации о состоянии… Готово
Пакеты, которые будут УДАЛЕНЫ:
  folder-color-common folder-color-switcher gstreamer1.0-clutter-3.0
  java-wrappers libcheese-gtk25 libcheese8 libcolord-gtk1 libcommons-cli-java
  libgoa-backend-1.0-1 liblog4j1.2-java libmate-desktop-2-17
  libswt-cairo-gtk-3-jni libswt-gnome-gtk-3-jni libswt-gtk-3-java
  libswt-gtk-3-jni libswt-webkit-gtk-3-jni mate-desktop mate-desktop-common
  python-requests
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 19 пакетов, и 1 пакетов не обновлено.
После данной операции, объём занятого дискового пространства уменьшится на 15,6 MB.
Хотите продолжить? [Д/н] y
(Чтение базы данных … на данный момент установлено 268064 файла и каталога.)
Удаляется folder-color-common (0.0.79-0ubuntu1) …
Удаляется folder-color-switcher (1.1.3) …
Удаляется libcheese-gtk25:amd64 (3.18.1-2ubuntu3) …
Удаляется gstreamer1.0-clutter-3.0 (3.0.18-1) …
Удаляется java-wrappers (0.1.28) …
Удаляется libcheese8:amd64 (3.18.1-2ubuntu3) …
Удаляется libcolord-gtk1:amd64 (0.1.26-1) …
Удаляется libcommons-cli-java (1.3.1-3ubuntu1) …
Удаляется libgoa-backend-1.0-1:amd64 (3.18.3-1ubuntu2) …
Удаляется liblog4j1.2-java (1.2.17-7ubuntu1) …
Удаляется mate-desktop (1.16.1-1+serena) …
Удаляется libmate-desktop-2-17:amd64 (1.16.1-1+serena) …
Удаляется libswt-cairo-gtk-3-jni (3.8.2-3) …
Удаляется libswt-gnome-gtk-3-jni (3.8.2-3) …
Удаляется libswt-gtk-3-java (3.8.2-3) …
Удаляется libswt-webkit-gtk-3-jni (3.8.2-3) …
Удаляется libswt-gtk-3-jni (3.8.2-3) …
Удаляется mate-desktop-common (1.16.1-1+serena) …
Удаляется python-requests (2.9.1-3) …
Обрабатываются триггеры для hicolor-icon-theme (0.15-0ubuntu1) …
Обрабатываются триггеры для libc-bin (2.23-0ubuntu7) …
Обрабатываются триггеры для man-db (2.7.5-1) …
Обрабатываются триггеры для desktop-file-utils (0.22-1ubuntu5.1) …
Обрабатываются триггеры для gnome-menus (3.13.3-6ubuntu3.1) …
Обрабатываются триггеры для bamfdaemon (0.5.3~bzr0+16.04.20160824-0ubuntu1) …
Rebuilding /usr/share/applications/bamf-2.index...
Обрабатываются триггеры для mime-support (3.59ubuntu1) …
Обрабатываются триггеры для libglib2.0-0:i386 (2.48.2-0ubuntu1) …
Обрабатываются триггеры для libglib2.0-0:amd64 (2.48.2-0ubuntu1) …
~ $

~ $ sudo apt autoclean
Чтение списков пакетов… Готово
Построение дерева зависимостей      
Чтение информации о состоянии… Готово
Del libreoffice-calc 1:5.3.0~rc3-0ubuntu1~xenial1.1 [6 826 kB]
Del libreoffice-math 1:5.3.0~rc3-0ubuntu1~xenial1.1 [388 kB]
Del libreoffice-core 1:5.3.0~rc3-0ubuntu1~xenial1.1 [34,0 MB]
Del samba-libs 2:4.3.11+dfsg-0ubuntu0.16.04.3 [5 168 kB]
Del firefox 52.0+linuxmint1+serena [46,9 MB]
Del libmagickcore-6.q16-2 8:6.8.9.9-7ubuntu5.5 [1 578 kB]
Del vivaldi-snapshot 1.7.735.36-1 [49,0 MB]
Del libreoffice-avmedia-backend-gstreamer 1:5.3.0~rc3-0ubuntu1~xenial1.1 [24,0 kB]
Del libvlccore8 2.2.2+git20170322+r59000+56~ubuntu16.04.1 [494 kB]
Del chromium-browser-l10n 58.0.3026.3-0ubuntu1~ppa1~16.04.1 [3 212 kB]
Del python3-uno 1:5.3.0~rc3-0ubuntu1~xenial1.1 [195 kB]
Del samba-common 2:4.3.11+dfsg-0ubuntu0.16.04.3 [84,1 kB]
Del ure 5.3.0~rc3-0ubuntu1~xenial1.1 [1 747 kB]
Del libvlccore8 2.2.2+git20170314+r58997+56~ubuntu16.04.1 [495 kB]
Del vlc-data 2.2.2+git20170314+r58997+56~ubuntu16.04.1 [6 031 kB]
Del firefox-locale-ru 52.0+linuxmint1+serena [477 kB]
Del libreoffice-common 1:5.3.0~rc3-0ubuntu1~xenial1.1 [22,6 MB]
Del imagemagick 8:6.8.9.9-7ubuntu5.5 [44,9 kB]
Del imagemagick-6.q16 8:6.8.9.9-7ubuntu5.5 [388 kB]
Del libreoffice-base-core 1:5.3.0~rc3-0ubuntu1~xenial1.1 [714 kB]
Del libc-bin 2.23-0ubuntu6 [632 kB]
Del mintupdate 5.2.1 [215 kB]
Del libc-dev-bin 2.23-0ubuntu6 [68,5 kB]
Del thunderbird-locale-en-us 1:45.7.0+build1-0ubuntu0.16.04.1 [9 494 B]
Del opera-beta 44.0.2510.433 [51,6 MB]
Del vivaldi-snapshot 1.7.735.29-1 [49,0 MB]
Del vlc 2.2.2+git20170314+r58994+56~ubuntu16.04.1 [1 601 kB]
Del libreoffice-java-common 1:5.3.0~rc3-0ubuntu1~xenial1.1 [1 942 kB]
Del libc6-dev 2.23-0ubuntu6 [2 081 kB]
Del libreoffice-base-drivers 1:5.3.0~rc3-0ubuntu1~xenial1.1 [510 kB]
Del vlc-nox 2.2.2+git20170322+r59000+56~ubuntu16.04.1 [2 420 kB]
Del adobe-flashplugin 1:20170214.1-0ubuntu0.16.04.1 [10,3 MB]
Del libreoffice-draw 1:5.3.0~rc3-0ubuntu1~xenial1.1 [3 320 kB]
Del opera-stable 43.0.2442.1144 [50,5 MB]
Del libreoffice-base 1:5.3.0~rc3-0ubuntu1~xenial1.1 [1 717 kB]
Del thunderbird 1:45.7.0+build1-0ubuntu0.16.04.1 [35,5 MB]
Del vlc-data 2.2.2+git20170314+r58994+56~ubuntu16.04.1 [6 031 kB]
Del libvlc5 2.2.2+git20170322+r59000+56~ubuntu16.04.1 [152 kB]
Del vlc-data 2.2.2+git20170311+r58993+56~ubuntu16.04.1 [6 030 kB]
Del libc6-dbg 2.23-0ubuntu6 [3 676 kB]
Del vlc-plugin-notify 2.2.2+git20170322+r59000+56~ubuntu16.04.1 [6 124 B]
Del vlc 2.2.2+git20170322+r59000+56~ubuntu16.04.1 [1 604 kB]
Del thunderbird-gnome-support 1:45.7.0+build1-0ubuntu0.16.04.1 [8 540 B]
Del libreoffice-help-ru 1:5.3.0~rc3-0ubuntu1~xenial1 [3 223 kB]
Del vivaldi-snapshot 1.7.735.27-1 [49,0 MB]
Del imagemagick-common 8:6.8.9.9-7ubuntu5.5 [41,3 kB]
Del libc-dev-bin 2.23-0ubuntu5 [68,7 kB]
Del yandex-browser-beta 17.3.1.814-1 [51,5 MB]
Del vlc-plugin-notify 2.2.2+git20170314+r58994+56~ubuntu16.04.1 [6 130 B]
Del uno-libs3 5.3.0~rc3-0ubuntu1~xenial1.1 [884 kB]
Del libwbclient0 2:4.3.11+dfsg-0ubuntu0.16.04.3 [30,4 kB]
Del opera-developer 45.0.2531.0 [54,7 MB]
Del libc6 2.23-0ubuntu6 [2 591 kB]
Del libmagickwand-6.q16-2 8:6.8.9.9-7ubuntu5.5 [288 kB]
Del vlc-nox 2.2.2+git20170314+r58994+56~ubuntu16.04.1 [2 419 kB]
Del libreoffice-pdfimport 1:5.3.0~rc3-0ubuntu1~xenial1.1 [183 kB]
Del smbclient 2:4.3.11+dfsg-0ubuntu0.16.04.3 [311 kB]
Del chromium-codecs-ffmpeg-extra 58.0.3026.3-0ubuntu1~ppa1~16.04.1 [1 030 kB]
Del libreoffice-gtk2 1:5.3.0~rc3-0ubuntu1~xenial1.1 [205 kB]
Del libreoffice-writer 1:5.3.0~rc3-0ubuntu1~xenial1.1 [8 217 kB]
Del libreoffice-ogltrans 1:5.3.0~rc3-0ubuntu1~xenial1.1 [71,6 kB]
Del google-chrome-stable 57.0.2987.98-1 [47,3 MB]
Del libreoffice-l10n-ru 1:5.3.0~rc3-0ubuntu1~xenial1 [508 kB]
Del chromium-browser-l10n 58.0.3029.14-0ubuntu1~ppa2~16.04.1 [3 306 kB]
Del thunderbird-locale-en 1:45.7.0+build1-0ubuntu0.16.04.1 [384 kB]
Del libreoffice-gtk 1:5.3.0~rc3-0ubuntu1~xenial1.1 [2 700 B]
Del python-samba 2:4.3.11+dfsg-0ubuntu0.16.04.3 [1 059 kB]
Del libvlc5 2.2.2+git20170314+r58994+56~ubuntu16.04.1 [153 kB]
Del vlc-plugin-notify 2.2.2+git20170314+r58997+56~ubuntu16.04.1 [6 144 B]
Del virtualbox-5.1 5.1.16-113841~Ubuntu~xenial [65,5 MB]
Del locales 2.23-0ubuntu6 [3 200 kB]
Del vlc 2.2.2+git20170311+r58993+56~ubuntu16.04.1 [1 602 kB]
Del libc6 2.23-0ubuntu6 [2 268 kB]
Del firefox-locale-en 52.0+linuxmint1+serena [756 kB]
Del chromium-codecs-ffmpeg-extra 58.0.3029.14-0ubuntu1~ppa2~16.04.1 [1 029 kB]
Del libreoffice-sdbc-hsqldb 1:5.3.0~rc3-0ubuntu1~xenial1.1 [109 kB]
Del libvlccore8 2.2.2+git20170314+r58994+56~ubuntu16.04.1 [495 kB]
Del libvlccore8 2.2.2+git20170311+r58993+56~ubuntu16.04.1 [495 kB]
Del vlc-nox 2.2.2+git20170311+r58993+56~ubuntu16.04.1 [2 419 kB]
Del chromium-browser 58.0.3026.3-0ubuntu1~ppa1~16.04.1 [63,7 MB]
Del vlc-plugin-notify 2.2.2+git20170311+r58993+56~ubuntu16.04.1 [6 136 B]
Del vlc-nox 2.2.2+git20170314+r58997+56~ubuntu16.04.1 [2 419 kB]
Del opera-developer 45.0.2522.0 [54,3 MB]
Del thunderbird-locale-ru 1:45.7.0+build1-0ubuntu0.16.04.1 [415 kB]
Del libvlc5 2.2.2+git20170311+r58993+56~ubuntu16.04.1 [152 kB]
Del libvlc5 2.2.2+git20170314+r58997+56~ubuntu16.04.1 [153 kB]
Del fonts-opensymbol 2:102.10+LibO5.3.0~rc3-0ubuntu1~xenial1.1 [277 kB]
Del chromium-browser 58.0.3029.14-0ubuntu1~ppa2~16.04.1 [63,5 MB]
Del samba-common-bin 2:4.3.11+dfsg-0ubuntu0.16.04.3 [506 kB]
Del libreoffice-help-en-us 1:5.3.0~rc3-0ubuntu1~xenial1 [2 531 kB]
Del vlc 2.2.2+git20170314+r58997+56~ubuntu16.04.1 [1 602 kB]
Del multiarch-support 2.23-0ubuntu6 [6 826 B]
Del vivaldi-snapshot 1.7.735.39-1 [49,0 MB]
Del libreoffice-gnome 1:5.3.0~rc3-0ubuntu1~xenial1.1 [59,3 kB]
Del libsmbclient 2:4.3.11+dfsg-0ubuntu0.16.04.3 [53,1 kB]
Del vlc-data 2.2.2+git20170322+r59000+56~ubuntu16.04.1 [6 043 kB]
Del libc6-dev 2.23-0ubuntu5 [2 078 kB]
Del libreoffice-impress 1:5.3.0~rc3-0ubuntu1~xenial1.1 [932 kB]
Del vivaldi-snapshot 1.7.735.46-1 [49,0 MB]
~ $

Кроме того, иногда имеет смысл производить ревизию скрытых файлов и папок Вашего домашнего каталога, в которых расположены настройки программ. По умолчанию, их отображение в файловом менеджере выключено. Для включения их отображения нажмите комбинацию клавиш Ctrl и h или через меню "Вид" включите "Скрытые файлы". Вы сразу увидите насколько больше в Вашем домашнем каталоге станет файлов и папок. Скрытые файлы и папки начинаются с точки.



Посмотрите на содержимое папок .cache  .config  .local/share  и если обнаружите там данные приложений, которые Вы удалили и они больше в Вашей системе не используются, то можете смело удалить такие данные. Кроме того, некоторые приложения создают свои записи не в .config  или .local/share , а в самом домашнем каталоге.
Так, например, google-drive-ocamfuse создало папку .gdfuse, в котором хранились данные о конфигурации этого приложения.


вторник, 28 марта 2017 г.

Cоединения с Диском Яндекс и Dropbox с помощью rclone

Как упоминалось в публикации про соединение с Google Drive, с помощью rclone можно соединяться с Дисками Яндекс и Dropbox для работы с ними как с файловой системой, т.е. производить операции просмотра содержимого, копирования, перемещения, переименования и удаления файлов и каталогов. Приятным бонусом является то, что возможна работа со многими аккаунтами тех же Дисков Яндекс или Dropbox.

Не буду повторяться как это сделать, так как подробности описывались в публикациях про Google Drive и Microsoft One Drive.

При конфигурировании соединения с Диском Яндекс, несмотря на моё географическое местоположение как русскоговорящего пользователя, запросы были выданы на английском языке:



Для получения токена (что такое токен?) от Yandex.Disk нужно нажать на кнопку "Allow". В остальном ситуация аналогична описанным в предыдущих публикациях (здесь и здесь) процедурам.

Листинг команд и их результатов в теминале:

rclone config

Current remotes:

Name                 Type
====                 ====
Google               drive
Microsoft-1          onedrive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> n
name> Yandex-1
Type of storage to configure.
Choose a number from below, or type in your own value
 1 / Amazon Drive
   \ "amazon cloud drive"
 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
   \ "s3"
 3 / Backblaze B2
   \ "b2"
 4 / Dropbox
   \ "dropbox"
 5 / Encrypt/Decrypt a remote
   \ "crypt"
 6 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
 7 / Google Drive
   \ "drive"
 8 / Hubic
   \ "hubic"
 9 / Local Disk
   \ "local"
10 / Microsoft OneDrive
   \ "onedrive"
11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
12 / SSH/SFTP Connection
   \ "sftp"
13 / Yandex Disk
   \ "yandex"
Storage> 13
Yandex Client Id - leave blank normally.
client_id>
Yandex Client Secret - leave blank normally.
client_secret>
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
2017/03/23 20:28:21 ERROR : Failed to save new token in config file: section 'Yandex-1' not found
--------------------
[Yandex-1]
client_id =
client_secret =
token = {"access_token":"AQAAA ... "}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Current remotes:

Name                 Type
====                 ====
Google               drive
Microsoft-1          onedrive
Yandex-1             yandex

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q



Рис. Запись о соединении с Диском Яндекс (Yandex-1)


Рис. Список файлов и папок Диска Яндекс в браузере Rclone


Рис. Диск Яндекс смонтирован как файловая система


Рис. Отображение содержимого Диска Яндекс в файловом менеджере

Можно монтировать не весь Dropbox, а только определённую. Например, на рисунках ниже показано, что если выделить папку Oplata и нажать кнопку "Mount", то в файловом менеджере будет примонтирована только эта папка.



Любопытное наблюдение. Если в процессе загрузки в облако Вы будете производить с файлами своего компьютера какие-либо ресурсоёмкие операции, то можете получить уведомление о том, что в процессе загрузки произошла ошибка и будет предложен выбор вариантов дальнейших действий, например: повторить, перезаписать, отказаться ...

Как видно из представленных выше рисунков, это практически идентично соединению с Диском Яндекс по webdav. В файловых менеджерах Nemo (для Cinnamon) и Caja (MATE) есть пункты соединения по webdav. Для менеджера Thunar (xfce) можно воспользоваться двумя способами.

При конфигурировании соединении с Dropbox токен не будет получен автоматически, его необходимо в терминале вводить вручную.

rclone config

Current remotes:

Name                 Type
====                 ====
Google               drive
Microsoft-1          onedrive
Yandex-1             yandex

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> n
name> Dropbox-2
Type of storage to configure.
Choose a number from below, or type in your own value
 1 / Amazon Drive
   \ "amazon cloud drive"
 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
   \ "s3"
 3 / Backblaze B2
   \ "b2"
 4 / Dropbox
   \ "dropbox"
 5 / Encrypt/Decrypt a remote
   \ "crypt"
 6 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
 7 / Google Drive
   \ "drive"
 8 / Hubic
   \ "hubic"
 9 / Local Disk
   \ "local"
10 / Microsoft OneDrive
   \ "onedrive"
11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
12 / SSH/SFTP Connection
   \ "sftp"
13 / Yandex Disk
   \ "yandex"
Storage> 4
Dropbox App Key - leave blank normally.
app_key>
Dropbox App Secret - leave blank normally.
app_secret>
Remote config
Please visit:
https://www.dropbox.com/1/oauth2/authorize?client_id=5jcck7diasz0rqy&response_type=code
Enter the code:


Поэтому в буфер обмена из терминала копируется строка после Please visit: и вставляется в адресную строку браузера.



Как только нажмёте "Можно", то в браузере будет отображён код, который необходимо вставить в строку терминала после Enter the code:


Enter the code: lJf5ra0lYVAAAA...SwW74Ltc
--------------------
[Dropbox-2]
app_key =
app_secret =
token = lJf5ra0lYVAAAAAAAABf0kP9etY-esPeL77SDwaOvZvBJP2mJnjP3oJcBO-UDh4Z
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Current remotes:

Name                 Type
====                 ====
Dropbox-2            dropbox
Google               drive
Microsoft-1          onedrive
Yandex-1             yandex

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q


Теперь Dropbox доступен в списке подключений (Dropbox-2).


Далее свой Dropbox можно открыть в Rclone Browser и примонтировать как файловую систему.


Любопытное наблюдение. Если в процессе загрузки в облако Вы будете производить с файлами своего компьютера какие-либо ресурсоёмкие операции, то можете получить уведомление о том, что в процессе загрузки произошла ошибка и будет предложен выбор вариантов дальнейших действий, например: повторить, перезаписать, отказаться ...

Можно монтировать не весь Dropbox, а только определённую папку. Например, на рисунке ниже показано, что если выделить папку 1-5 и нажать кнопку "Mount", то в файловом менеджере будет примонтирована только эта папка.


понедельник, 27 марта 2017 г.

Соединение с облаком One Drive в Linux Mint

Как было отмечено в публикации про подключение к диску Google Drive, можно осуществить подключение к облаку One Drive от Microsoft и работать с ним как с файловой системой. В своё время по акции мне удалось получить 25 Гб дискового пространства, а так как моей ОС является не Windows, то и имеется интерес в решении данного вопроса.

При этом не будет осуществляться синхронизация данных, но, по крайней мере, Вы получите возможность работы с облаком как с файловой системой.

Для осуществления подключения к Microsoft One Drive Вам потребуется пакет rclone-browser и утилита rclone. Где взять и как установить данное ПО читайте в этой части упомянутой выше публикации.

Запускаем в теминале rclone config:

Current remotes:

Name                 Type
====                 ====
Google               drive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>


Видно, что уже имеется одно подключение под наименованием Google, поэтому создаёи новое подключение и указываем его наименование, например, Microsoft-1:

e/n/d/r/c/s/q> n
name> Microsoft-1


В появившемся списке указываем цифру, соответствующую подключение к Microsoft OneDrive, т.е. 10

name> Microsoft-1
Type of storage to configure.
Choose a number from below, or type in your own value
 1 / Amazon Drive
   \ "amazon cloud drive"
 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
   \ "s3"
 3 / Backblaze B2
   \ "b2"
 4 / Dropbox
   \ "dropbox"
 5 / Encrypt/Decrypt a remote
   \ "crypt"
 6 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
 7 / Google Drive
   \ "drive"
 8 / Hubic
   \ "hubic"
 9 / Local Disk
   \ "local"
10 / Microsoft OneDrive
   \ "onedrive"
11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
12 / SSH/SFTP Connection
   \ "sftp"
13 / Yandex Disk
   \ "yandex"
Storage> 10

Соглашаемся с тем, чтобы оставить поля ввода Client Id и Client Secret и указываем, чтобы была произведена автонастройка, т.е. вводим y:

Microsoft App Client Id - leave blank normally.
client_id>
Microsoft App Client Secret - leave blank normally.
client_secret>
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> y

Далее должен запуститься Ваш браузер, отобразить форму авторизации в службах Microsoft и показать запрос на предоставление доступа приложению rclone.


В это время в терминале будет отображено следующее:

If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
2017/03/23 20:16:00 ERROR : Failed to save new token in config file: section 'Microsoft-1' not found

Как только от Вас будет получено согласие, приложение rclone получит токен и внесёт его в файл конфигурации.

[Microsoft-1]
client_id =
client_secret =
token = {"access_token":"EwAAA...qsy/cB","token_type":"bearer","refresh_token":"MCbjLq...*Qw$$","expiry":"2017-03-23T21:16:00.685773331+03:00"}


Что в нашем случае следует понимать под термином токен читайте здесь.

Если ничего не планируем делать дальше, то соглашаемся, что всё OK, поэтому вводим y и получаем отображение имеющихся подключений. Для выхода из конфигурации вводим q

y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Current remotes:

Name                 Type
====                 ====
Google               drive
Microsoft-1          onedrive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>


Далее начинаем работу с Rclone Browser и, при желании, монтируем файловую систему своего облака One Drive.






пятница, 24 марта 2017 г.

Подключение к диску Google Drive в Linux Mint через free software

Предлагаемый вариант решения применен в Linux Mint xfce 18.1

Если Вы тоже искали приемлемый для себя вариант подключения Google Drive таким образом, чтобы с ним можно было работать в файловом менеджере, то убедились, что:
а) декстопного клиента для Linux Google не предоставляет;
б) предлагаемые решения либо, в конечном итоге, коммерческие, либо связаны с глубоким погружением в синтаксис командной строки.

Имеется способ, связанный с установкой gnome-control-center и gnome-online-accounts. Однако установить эти пакеты в систему будет мало, потребуется ещё внести некоторые изменения, ознакомившись с которыми у меня не возникло желания ставить эксперимент на стабильно функционирующей системе. Попытка добиться результата на тестовой системе успехом не увенчалась, так как, несмотря на получение разрешения от аккаунта Google, никакой записи в сетевых учётных записях так и не появилось. Кого интересует, можете ознакомиться с материалами, изложенными на bosha.ru и ualinux.com, первоисточником которых, похоже, является англоязычная публикация на webupd8.org.

Предлагаемое на многих сайтах решение, предусматривающее установку пакета google-drive-ocamlfuse с репозитория alessandro-strada у меня не нашло практического применения, так как:

1) заявленной авторами публикаций синхронизации мной не обнаружено.


Графического индикатора google-drive-ocamlfuse не имеет, но из индикации активности сетевых соединений видно, что нулевая скорость скачивания (D: 0 bytes/s) свидетельствет о том, что содержимое моего Drive Google не копируется на компьютер.

Решение предусматривает монтирование Google Drive как файловую систему. Но подобное решение, но позволяющее работать не с одним, а со многими Google Drive описано ниже;

2) при попытке отмонтировать примонтированный Google Drive моя система выдаёт ошибку и далее данный процесс переходит в состояние бесконечного, даже в том случае, если принудительно "убит" процесс google-drive-ocamfuse.


Если пожелаете использовать описанное ниже решение, то это потребует от Вас некоторой внимательности и терпения. Результат напоминает работу с папками облака pCloud, которые не включены в список синхронизируемых клиентом папок компьютера или работу с Диском Яндекс по webdav.

Для осуществления подключения Вам потребуется пакет rclone-browser и утилита rclone. Лично у меня Rclone browser нашёлся через Synaptic


Если у Вас такого пакета нет (по причине отсутствия подключения к источнику приложений от webupd8), то необходимый deb-пакет можно скачать. На момент написания этой публикации имелись версии:


Само по себе это приложение не даст возможности подключиться к Google Drive. Для его работы необходима упомянутая выше утилита rclone, которую можно получить на сайте rclone. Выберите необходимую Вам разрядность.

Скачанный архив zip имеет в своём составе 4 файла: 2 файла "прочитай меня" (README) и 2 файла, которые потребуется установить в систему. Файлы README, указывающие как это сделать, написаны на английском языке. Поэтому приведу Вам порядок действий на русском.

1. Скопировать бинарный файл.

В файле README указана команда sudo cp rclone /usr/bin/

Поскольку не являюсь "крутым гуру", то делаю для себя как попроще, т.е. запускаю Midnight Commander с правами суперпользователя – sudo mc в терминале – или GNOME Сommander от имени root (через меню "Файл") и помещаю файл rclone в папку /usr/bin


Далее в терминале выполняю 2 команды:

sudo chown root:root /usr/bin/rclone

sudo chmod 755 /usr/bin/rclone

2. Установить в систему файл справки по пользованию rclone.

В файле README указаны команды:

sudo mkdir -p /usr/local/share/man/man1

sudo cp rclone.1 /usr/local/share/man/man1/

Опять же (по рабоче-крестьянски) запускаю Midnight Commander с правами суперпользователя – sudo mc в терминале – или GNOME Commander от имени root (через меню "Файл") и

а) в папке  /usr/local/share/man создаю новую папку man1;

б) файл rclone.1 помещаю в созданную папку man1.

Далее в терминале выполняю команду  sudo mandb

В ответ получаю:

Обработка справочных страниц в /usr/local/man...
Обновление индексного кэша для пути `/usr/local/man/man1'. Ждите...завершено.
Проверка побочных cat в /usr/local/man...
Проверка побочных cat в /var/cache/man/oldlocal...
В 1 man-подкаталоге содержатся более новые справочные страницы.
Добавлена 1 справочная страница.
Добавлено 0 побочных cat-страниц.
Вычищено 5 старых записей базы данных.


На этом установка rclone завершена.

3. В терминале выполняю  rclone config  и ...

rclone config
2017/03/23 10:11:46 NOTICE: Config file "/home/manager/.config/rclone/rclone.conf" not found - using defaults
No remotes found - make a new one
n) New remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
n/r/c/s/q>


Т.е., никакого файла настроек rclone в системе не наблюдается. Что ж, запускаем файловый менеджер, включаем отображение скрытых файлов и папок удобным для Вас способом (через меню "Вид" или комбинацией клавиш Ctrl и h), и создаём в папке .config папку rclone, а в ней – файл rclone.conf

Снова выполняю в терминале  rclone config

Наконец-то, процесс пошёл:

rclone config
No remotes found - make a new one
n) New remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
n/r/c/s/q> 


У меня – новое подключение поэтому выбираю n и при запросе имени (name) указываю Google:

n/r/c/s/q> n
name> Google
Type of storage to configure.
Choose a number from below, or type in your own value
 1 / Amazon Drive
   \ "amazon cloud drive"
 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
   \ "s3"
 3 / Backblaze B2
   \ "b2"
 4 / Dropbox
   \ "dropbox"
 5 / Encrypt/Decrypt a remote
   \ "crypt"
 6 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
 7 / Google Drive
   \ "drive"
 8 / Hubic
   \ "hubic"
 9 / Local Disk
   \ "local"
10 / Microsoft OneDrive
   \ "onedrive"
11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
12 / SSH/SFTP Connection
   \ "sftp"
13 / Yandex Disk
   \ "yandex"
Storage>


Здесь в запросе Storage указываю цифру, соответствющую моему подключению. Так как подключаюсь к Google Drive, то моя цифра будет 7. При дальнейших запросах client_id и client_secret соглашаюсь с предлагаемыми вариантами оставить поля пустыми, т.е. просто жму на Enter:

Storage> 7
Google Application Client Id - leave blank normally.
client_id>
Google Application Client Secret - leave blank normally.
client_secret>


На предложение автоматически сконфигурировать подключение отвечаю Yes (Да), т.е. буквой y и далее

y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
2017/03/23 10:15:37 ERROR : Failed to save new token in config file: section 'Google' not found


Здесь говорится о том, что браузер должен открыться автоматически, а ели он этого не сделал, то необходимо перейти по ссылке, авторизоваться в своём аккаунте Google и получить для rclone код.

К счастью, браузер у меня открылся сам и я подтверждаю запрос на доступ:



Далее вижу, что система получила какой-то токен

[Google]
client_id =
client_secret =
token = {"access_token":"ya29.Gls...0h","token_type":"Bearer","refresh_token":"1/OGPpVINwFr0CTThHV3XYXfM4RF1eV4iQuvirWTrINro","expiry":"2017-03-23T11:15:37.65398086+03:00"}


Примечания.  
Указанный выше код и есть содержание файла rclone.conf, расположенного в скрытой папке .config/rclone. Строка токена представляет собой длинную последовательность букв и цифр и в примере выше сокращена посредством замены значительной её части на многоточие. 
В рассматриваемом случае под токеном следует понимать замещение объекта неким обозначением/идентификатором (часто просто целым числом или строкой). Например, идентификатор сессии является классическим токеном. Токены широко применяются в системах авторизации/идентификации и т.п.
Технически токены обычно реализуются в виде записи в базе данных. При этом токен является идентификатором записи о данных пользователя или предоставленного доступа. В этом случае токен вычисляется как хэш комбинации данных пользователя (логина), времени создания, ключей сервера и т.п.
Идея использования токена заключается в том, чтобы вместо передачи большого количества данных предоставить токен, на основании которого будут даны полномочия на выполнение различных операций. Это и удобно, и способствует снижению рисков компрометации данных.


и, наконец, на запрос что делать дальше из вариантов

y – всё в порядке
e – редактировать подключение
d – удалить подключение

отвечаю y и мне rclone отображает сведения о подключении

y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Current remotes:

Name                 Type
====                 ====
Google               drive


с запросом дальнейших действий. Поскольку у меня всё получилось, то выбираю q (выход из конфигурации)

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>


Закрываю терминал и обращаюсь к браузеру Rclone, который у меня отобразился в разделе "Интернет" главного меню под наименованием Rclone Browser.

Внешний вид его несколько аскетичен. Так как у меня настроено подключение Google, то я его и наблюдаю в главном окне.



В нижней его части имеются кнопки "Config", "Refresh" и "Open". Назначение Config понятно, о Refresh пока что не имею никакого понятия, а вот "Open" вызывает явный интерес.


Нажимаю на "Open" и ... вот оно, счастье-то! Вижу свой Google Drive.


Обращаю своё внимание на кнопку "Mount" на верхней панели. Точно как в кинокомедии "Иван Васильевич меняет профессию", терзают меня смутные сомнения (у Шпака – магнитофон, у посла – медальон), что мне будет выдан запрос на точку монтирования моего Google Drive.


Для работы с облаками у меня выделена целая папка Clouds, поэтому создаю в ней ещё одну папку Google и указываю её в запросе на монтирование.


Неужели снова счастье привалило?


Диск Google смонтирован и доступен в менеджере файлов.



Попробуем забросить туда какой-либо файл, например, Хакер.pdf


Странно, в менеджере файлов в Google Drive я его наблюдаю, ход процесса копирования – тоже, а в браузере Rclone он отсутствует.


Вот теперь становится понятным назначение непонятной кнопки "Refresh". Жму на неё и Хакер.pdf появляется в списке файлов.



Точно так же пробую удалить файл(ы). Если удалять через менеджер файлов, то удаление может происходить после некоторого "размышления". Но так как эта ситуация знакома мне по работе с Диском Яндекс по webdav, то тревоги не вызывает.

Кстати говоря, в самом браузере Rclone через правое контекстное меню доступны многие команды. Правда они на английском языке. Но кто понимает – разберётся. Кроме того, ряд команд можно осуществить через кнопки верхнего меню.



Если попытаться закрыть браузер Rclone, то система выдаст предупреждение, что в настоящее время выполняется какое-то задание, и задаст вопрос "Действительно ли желаете остановить задание и выйти".


Можете смело отвечать "Yes", так как если обратиться к вкладке заданий, то обнаружится, что процедура монтирования Google Drive в указанную папку и является этим самым выполняемым заданием.


После закрытия браузера Rclone примонтированный Google Drive отключается, а связанные с ним процессы прекращаются.



При работе с папками ситуация будет точно такая же как и при работе с файлами. При помещении папки на Google Drive (на рисунках ниже это папка 14.03) она появится сразу в менеджере файлов и при подключении к Google Drive через обычный браузер. Для того, чтобы она отобразилась в браузере Rclone необходимо нажать на кнопку "Refresh".




Определённой степенью полезности обладает кнопка верхней панели "Get Size". Если курсор мыши установлен в корень Google Drive, то при нажатии на неё отобразится занятый объём Вашего диска. Если курсор мыши поставить на папку и вызвать "Get Size", то отобразится занятое папкой место на диске.




Ну вот как-то так ... Остальное, при желании, Вы можете постичь в процессе работы (или дальнейших экспериментов).

Похоже, что таким образом могу подключить ещё один или даже два и более дисков Google, указывая им различные имена подключения и монтируя Google Drive в разные папки файловой системы компьютера.

Если выделить только одну папку Google Drive и нажать кнопку "Mount", то в менеджере файлов в качестве сетевого диска будет примонтирована только выделенная папка.



При нажатии кнопки "Config" будет активизирована процедура внесения изменений в текущие настройки. С этим мы уже сталкиваись при создании первого подключения.

Current remotes:

Name                 Type
====                 ====
Google               drive


Далее следует запрос действий:

e – изменить текущее подключение
n – новое подключение
d – удалить подключение
r – переименовать подключение
c – копировать подключение
s – установить пароль на конфигурацию
q – выход

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>

Вероятно, наиболее востребованной операцией будет переименование подключения. Печатаем r и нажимаем Enter. Если имеется несколько подключений, то необходимо указать либо его номер, либо ввести имя подключения. Например, переименуем подключение Google-3

Choose a number from below, or type in an existing value
 1 > Google-1
 2 > Google-2
 3 > Google-3
 4 > Google-4
remote> 3
Enter new name for "Google-3" remote.
name>
   

Осталось напечатать новое имя для подключения Google-3, нажать Enter, а затем последовательно водить q для выхода из режима изменения конфигунации.

Но можно сделать и проще. В зависимости от используемого Вами графического окружения (xfce, MATE, Cinnamon), а также версии системы (18 или ниже), откройте файл конфигурации в текстовом редакторе (при этом включите отображение скрытых файлов в меню "Вид") или введите в терминале команду на запуск текстового редактора Вашей системы.

Пример:

xed /home/manager/.config/rclone/rclone.conf

gedit /home/manager/.config/rclone/rclone.conf

pluma /home/manager/.config/rclone/rclone.conf

Найдите запись в квадратных скобках, которую нужно переименовать. Помните?

[Google-3]
client_id =
client_secret =
token = {"access_token":"ya29.Gls...


Вместо [Google-3] укажите новое имя, например, [Disk-3]

Сохраните файл. При очередном запуске Rclone Browser Вы увидите, что вместо старого будет отображено новое имя. 

Кроме Google Drive, как было указано при конфигурировании подключения, ангалогично можно подключаться и работать со своими бесплатными облаками Dropbox, HubiC, Microsoft OneDrive, Yandex Disk.

Увы, но полученный результат не был закономерным следствием практического применения глубокого понимания процессов в системе. Это явилось итогом действия цепи случайностей. Случайно был предпринят поиск с целью выяснения: не появилось ли какого-либо способа подключения к Google Drive через бесплатное приложение. Случайно по результатам поиска в одной из публикаций было обращено внимание на rsync, а затем на rclone. А далее – случайно простое любопытство и русский "авось". Воистину ...