Монтирование дисков в Linux с udisks2
Рассмотрим монтирование дисков в Linux по новой схеме, введенной вместе с интеграцией systemd. Как известно до systemd за этот процесс отвечала оснастка udisks, теперь же интерфейс и функционал изменен и дополнен, что нашло выражение в новой версии — udisks2.
В Linux-системах, контролируемых Udev (либо Systemd), udisks остался в качестве инструмента совместимости, поэтому стандартные команды монтирования (mount
) работают. Однако автомонтирование дисков, ровно как и системные службы Linux, «переписаны» под udisks2, а управление этой оснасткой осуществляется через консоль udisksctl.
Таким образом, для того, чтобы получить справку по основным командам управления дисками через udisks2, следует открыть терминал и ввести команду:
sudo udisksctl
Из справочной информации видно, что получить команды для параметров монтирования дисков в Linux можно, введя нижеприведенную команду.
sudo mount --help
Собственно, для того, чтобы смонтировать нужный диск, нужно выполнить:
sudo udisksctl mount -b /dev/sdXY
, где X и Y — обозначение диска и номер раздела соответственно (например, «sdb1»).
Следует отметить, что в udisks2 отпала необходимость строго задавать точку монтирования — udisksctl примонтирует выбранный раздел в «свою» директорию, расположенную по адресу «/run/media/имя_пользователя/uuid_раздела». Также не нужно указывать дополнительные параметры, типа «rw» или «ntfs-3g», диски будут смонтированы с правами записи/чтения, а файловая система будет определена автоматически.
Отмонтировать раздел можно, выполнив в терминале:
sudo udisksctl unmount -b /dev/sdXY
Обратите внимание, что в команде присутствует буква «n», что может показаться несколько непривычным для пользователей с опытом, которые с классической версией udisks привыкли писать «umount».
Вышеперечисленные команды udisksctl запоминаются в системе, в отличие от таковых при работе с, например, bluetoothctl, что является несомненным плюсом.
Подводя итог, можно сказать, что новый udisks2 несомненно лучше предыдущего в плане юзабилити, однако многим «бывалым» пользователям Linux понадобится время для привыкания к современному подходу управления дисками.
Как включить в Linux дополнительные разделы Windows
Решение распространенной ошибки, возникающей в большинстве известных дистрибутивов Linux на стадии монтирования к системе дополнительных разделов. Она происходит, если Linux (например, Sabayon) был установлен «рядом с Windows» — на соседний раздел, или другой жесткий диск, и относится к файловой системе NTFS и Windows 8/8.1. В сети присутствует информация о том, что данную проблему можно устранить, отключив функцию Windows 8 под названием «Hyberboot». Давайте посмотрим, как разрешить проблему из под Linux.
Итак, подключая диск при помощи команды mount или программными средствами (например, через Thunar), вы видите следующее:
Использование прав суперпользователя не дает никакого эффекта — диски не подключаются.
Тотальная миграция всех Linux-дистрибутивов на systemd ведет к снижению влияния других служб Linux на ее функционирование, в частности некогда обязательная служба rc.local может быть отключена по умолчанию (и, скорее всего, будет, так как ее активно выводят из использования). В таких случаях описанные мною ранее действия нужно дополнить несколькими махинациями, которые вернут службе rc.local статус системной и активированной.
Активировать rc.local
Это делается следующим образом:
- Создаем в терминале файл «/etc /systemd/system/rc-local.service» (
sudo leafpad /etc /systemd/system/rc-local.service
) с указанным ниже содержимым.*
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
[Unit]
Description=/etc /rc.local Compatibility
ConditionPathExists=/etc /rc.local
[Service]
Type=forking
ExecStart=/etc /rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
- Даем только что созданной службе «rc-local.service» исполнительные права.
sudo chmod a+X /etc /systemd/system/rc-local.service
- Активируем службу командой.
sudo systemctl enable rc-local.service
После вышеописанных действий rc.local должен работать, и после перезагрузки вы должны получить смонтированные разделы (если в этом файле, конечно, у вас прописаны команды для монтирования, потому как настройка автозапуска через rc.local производится для многих вещей, например, для подъема сети). Проверить работу новой службы Linux можно и до перезагрузки, выполнив в терминале:
sudo systemctl start rc-local.service
Очистить дисковый кэш
- Чтобы разрешить проблему «Metadata kept in Windows cache, refused to mount», находясь в среде Linux, нужно очистить специальными средствами дисковый кэш Windows. Это можно осуществить с помощью набора утилит ntfsprogs, входящего в состав практически всех Linux-дистрибутивов. Открываем терминал и вводим:
# ntfsfix /dev/sdaX
(где X — номер раздела NTFS).
Монтировать раздел
- Далее нужно создать папку в /media, куда будем монтировать этот раздел. В терминале:
# thunar
- Переходим в каталог «media» и создаем папку с любым названием, не содержащим пробелов (например, «DATA»). Теперь раздел можно подключить с помощью команды:
# mount /dev/sdaX /media/DATA -t ntfs-3g -o rw
- Доступ к разделу, подключенному таким образом будет разрешен только с правами суперпользователя. Чтобы доступ к диску был разрешен для обычного пользователя, его нужно подключить с применением UID и GID, которые расположены в файле /etc /passwd (в строке с именем пользователя). В моем случае параметры равны «1000 и 1001», а в целом команда выглядит так:
# mount /dev/sda3 /media/DATA -t ntfs-3g -o uid=1000,gid=1001,rw
- Для того, чтобы нужные диски монтировались при старте системы, следует подключить стартовый скрипт /etc /rc.local к systemd в новых дистрибутивах (в дистрибутивах, которые все еще используют init.d или rc.d, это делать не нужно) и внести в него вышеперечисленные команды. Открываем /etc /rc.local любимым текстовым редактором (например, gedit) и вписываем в него:
#!/bin/bash
ntfsfix /dev/sda3
mount /dev/sda3 /media/DATA -t ntfs-3g -o uid=1000,gid=1001,rw
(естественно, со своими значениями раздела и UID, GID). Так можно подключить при запуске любое количество дисков: для каждого нужно вначале прописать ntfsfix, а затем mount.
Таким образом удалось разрешить проблему с монтированием Windows-дисков данным способом. Надеюсь, что и вы больше не увидите сообщение «Metadata kept in Windows cache, refused to mount».
* в статье после /etc везде добавлен ненужный пробел
Ubuntu и жесткие диски
Ubuntu – операционная система, разработанная на основе Debian, является одним из самых успешных дистрибутивов Linux. Эта ОС подходит для ПК, ноутбуков и серверов. Благодаря своей простоте и удобству при использовании Ubuntu часто рекомендуют новичкам. Ведь интуитивный и понятный интерфейс позволит пользователю с легкостью управлять всеми процессами устройства.
Правда, совсем недавно появились некоторые сведения о недостатке в популярном дистрибутиве Linux. Оказалось, что операционная система Ubuntu способствует выходу из строя жестких дисков. Проблема заключается в парковке головки жесткого диска в целях экономии энергопотребления. При настройках по умолчанию этот процесс происходит 3 раза за минуту. Поэтому, учитывая показатель современного накопителя, который в среднем составляет 60 000 циклов старт/стоп, можно сделать вывод, что время работы жесткого диска в итоге сократится до 138 дней. Хотя данный недостаток легко устраняется отключением соответствующей функции в настройках энергосбережения.
Если вам импонирует данная операционная система, то имеется возможность совершенно бесплатно установить ее на свое устройство любым доступным для вас способом. Загрузка с Live CD (полученного на ubuntu.ru) начинается с выбора языка, затем следует проверить диск на наличие ошибок. Данная функция располагается в перечне системы запуска. В завершении проверки, если не будет выявлено ошибок, можно приступить непосредственно к самой установке. Для этого необходимо указать на действие “Установить Ubuntu”, после чего запустится программа инсталляции, где нужно будет указать некоторые параметры: язык, город, раскладку клавиатуры. Далее можно воспользоваться ручной разбивкой жесткого диска или прибегнуть к помощи автоматической настройки данного процесса. Если вы знакомы с системой разбиения дисков в случае с Windows, то стоит отметить, что этот процесс в Ubuntu немного отличается от привычного способа. Жесткие диски в Ubuntu именуются как SDA, SDB и так далее, а разделы на них — как SDA1, SDA2…, SDB1, SDB2…
Если на компьютере используется другая операционная система, например, Windows, то, Ubuntu можно установить в качестве второй системы, выбрав соответствующий пункт при установке (желательно при этом выбирать другой жесткий диск для установки Ubuntu). Впоследствии, после загрузки BIOS, будет отображено меню загрузчика с выбором операционной системы для запуска.
В завершении подготовки к установке Ubuntu, система предложит создать надежный пароль для дальнейшего входа в систему, но можно также выбрать и функцию “Входить в систему автоматически”. После чего следует нажать “Вперед”, что в последующем действии предполагает непосредственно установку операционной системы. Во время этого процесса Ubuntu предложит загрузить языковый пакет из интернета. Если нет в этом необходимости, то можно просто отказаться от этого шага, нажав на кнопку “Пропустить”. Заключительным этапом установки будет перезагрузка системы.
В отличии от Windows, Ubuntu при нативной установке с Live CD/DVD позволяет выбрать в качестве раздела устройства, подключенные к порту USB, так что можно установить данную операционную систему почти на любые носители, будь то внешние жесткие диски, флешки и тому подобное.
Как получить права доступа к файлам и папкам в Linux
Проверка прав пользователя, которая выполняется в Linux при запросе доступа к файлам и каталогам может быть описана следующим образом: вначале, на системном уровне проверяется совпадение имени пользователя и имени владельца файла/каталога; потом, если имена совпали (владелец обратился к созданным им файлу/папке), выполняется проверка наличия у владельца соответствующих прав на доступ, а именно — на чтение, запись и выполнение (рут вполне способен лишить определенных прав и законных обладателей файлов/папок); если право на запрашиваемое действие есть, тогда и разрешается соответствующая операция, а если нужного права у владельца нет, то пользователь получает сообщение, что требуемую операцию выполнить невозможно (типа, «Permission denied»). Отсюда следует, что для того, чтобы получить права доступа к файлам и папкам в Linux при их отсутствии, в любом случае необходимы права рута, а также понадобятся определенные системные инструменты Linux.
Права доступа к файлам возможно получить командой «chmod
«. При чем данный инструмент используется в двух взаимозаменяемых вариантах. Рассмотрим первый:
sudo chmod xyz путь_к_файлу
, где «x» — это:
- либо владелец файла (обозначается через символ «u«);
- либо группа (символ «g«);
- либо пользователи, которые не принадлежат к группе владельцев файла (символ «o«);
- либо абсолютно все пользователи системы (символ «a«);
«y» — это:
- либо предоставление права (символ «+«);
- либо лишение права (символ «—«);
- либо замена имеющихся прав установленными (символ «=«);
«z» — это:
- чтение (символ «r«);
- запись (символ «w«);
- выполнение (символ «x«).
В качестве примера изменения прав доступа приведу такую команду:
sudo chmod a+w мой_файл
Мы только что дали право на запись в файл «мой_файл» для всех пользователей системы. Обратите внимание на тот факт, что рут — обязателен, и начало команды с «sudo
» — соответственно является обязательным условием.
Второй, более распространенный, вариант использования chmod
подразумевает использование цифровых выражений, в основе которых лежит закодированное обозначение вышеописанных буквенных значений: «4» означает «r«, «2» — «w«, «1» — «x«. К примеру, если нужно предоставить все права (4+2+1=7) владельцу файла, право на чтение (4) группе, а всех остальных оставить без прав (0), то команда примет следующий вид:
sudo chmod 740 мой_файл
Аналогичным образом, подобрав 3 цифры для chmod
в диапазоне от 0-ля до 7-ми, можно установить «из под рута» определенные права доступа к папке:
sudo chmod -R 774 /моя/папка/
Теперь каталог «папка» доступен для чтения, записи и выполнения ее владельцу и группе, а для всех остальных — только для чтения. Символ «-R
» здесь означает, что права будут изменены и для содержимого директории «папка». Изменить владельца этого каталога можно при помощи команды «chown
«:
sudo chown -R chelovek:users /моя/папка/
Только что «папка» стала принадлежать пользователю chelovek и группе «users».
Пользуйтесь chmod
и chown
для смены прав доступа и не забывайте про рут!
Chroot-окружение с помощью Sabayon Live CD
Для начала немного теории. Chroot-окружение существует для предоставления пользователю возможности изменить корневой каталог. Иными словами он получает доступ к управлению Unix-подобной ОС из другой Unix-подобной ОС. Это применяется повсеместно в различных Linux Live CD, загрузившись из которых, можно легко «подправить» неисправности, возникшие в основной системе (например, восстановить GRUB).
Предположим, что у нас имеется Sabayon Live CD, и в нашей основной системе c официальными драйверами Nvidia не стартуют иксы. Произвести их настройку можно из аварийного режима (Recovery Mode) из меню GRUB, а можно при помощи chroot. Пойдем по второму пути и загрузимся с Live CD Sabayon x64 (учтите, что если основная система — 32-битная, тогда нужен 32-битный Live CD). Теперь нужно открыть терминал и в точности следовать нижеследующим указаниям.
Первым делом нужно смонтировать корневой раздел установленной системы. Если имеется несколько системных разделов (к примеру, отдельный для /boot), то нужно смонтировать их все. В дополнение следует примонтировать файловые системы /dev и /proc, так как они тоже будут использоваться chroot-окружением.
sudo mkdir -p /mnt/sabayon
sudo mount /dev/sdb1 /mnt/sabayon
sudo mount -t proc none /mnt/sabayon/proc
sudo mount -o bind /dev /mnt/sabayon/dev
sudo mount -o bind /run /mnt/sabayon/run
В вышеперечисленных командах предполагается, что корневой раздел установленной системы расположен на sdb1 (у вас это может быть другой раздел) и на нем же находится /boot. Если /boot находится на другом разделе первую команду можно дополнить так:
sudo mkdir -p /mnt/sabayon/boot
и после 2-й команды выполнить
sudo mount /dev/sdb2 /mnt/sabayon/boot
где, опять же, sdb2 — раздел с /boot, который может отличаться.
И вот мы уже можем войти в нашу установленную на жесткий диск систему с Live CD, используя chroot-окружение:
sudo chroot /mnt/sabayon /bin/bash
env-update
source /etc/profile
export PS1="(chroot) $PS1"
В итоге, строка в терминале теперь должна начинаться с
(chroot) #
GRUB2 читает при запуске файл «/etc/mtab», поэтому для его восстановления /etc/mtab должен быть обновлен:
grep -v rootfs /proc/mounts > /etc/mtab
в случае без отдельного /boot, либо
cp /proc/mounts /etc/mtab
для случая с отдельным /boot
Начиная с этого самого момента, любая последующая команда будет выполняться в среде установленной на диске операционной системы Linux. Поэтому, вспоминая о том, что нам нужно отконфигурировать иксы, выполняем
nvidia-xconfig
По окончании всех операций, которые требуется осуществить, можно выйти из chroot-окружения командой
exit
Также рекомендуется отмонтировать все примонтированные ранее разделы
sudo umount /mnt/sabayon/dev /mnt/sabayon/proc /mnt/sabayon
и
sudo umount /mnt/sabayon/boot
в ситуации с отдельным /boot.
Работа с архивами в Linux
Пользователи Windows давно привыкли к многообразию средств для работы с архивами в среде данной операционной системы — WinRAR, 7-Zip, встроенный инструмент для работы с zip-архивами. В Linux таких инструментов, впрочем, не меньше, но их конфигурирование немного сложнее. В этой статье пойдет речь о том, как интегрировать архиватор во встроенный файлменеджер Xfce — Thunar — так, чтобы работа с архивами в Linux осуществлялась из контекстного меню (по аналогии со встроенным функционалом Windows по отношению к zip-архивам).
Для этого нам понадобится плагин Thunar — Thunar Archive Plugin (его можно установить из Менеджера приложений), а также мощный инструмент для работы с архивами многих типов — Xarchiver, исходники которого можно скачать с официального сайта. Нужно распаковать скачанный архив с программой Xarchiver, запустив терминал в папке с ним (ПКМ в папке на свободном месте -> Открыть терминал) командой
tar xvjf xarchiver-0.5.3.tar.bz2
где «xarchiver-0.5.3.tar.bz2» — имя файла, которое может отличаться зависимо от версии, которую вы скачали.
Распакованную папку (в моем случае — «xarchiver-0.5.3») перемещаем в корневую директорию и заходим в нее. Программа почти не требует зависимостей — только библиотеки GTK+ (2-й ревизии), однако, следует заметить, что если установить из Менеджера приложений пакет «xdg-utils», Xarchiver будет поддерживать больше форматов архивов. Теперь можно приступать к компиляции: открываем терминал в папке Xarchiver и последовательно выполняем
./configure
make
sudo make install
По прошествии определенного времени (зависимо от мощности компьютера) Xarchiver будет установлен в систему. Если Thunar Archive Plugin еще не был установлен, то нужно сделать это сейчас и перезагрузиться. После старта системы переходим в корневую папку и нажимаем на любой папке ПКМ — в контекстном меню должна появиться новая команда «Создать архив». Можно попробовать ее нажать, но, скорее-всего, появится ошибка «Не найдено подходящего менеджера архивов». Чтобы «донастроить» Xarchiver, нужно запустить его из Меню -> Инструменты, выбрать «Действия», затем «Свойства» и поставить предпочтительные установки во всех разделах (я выбрал в качестве предпочитаемого формата — «zip»), после чего закрыть окно настроек, нажав «OK», перетащить какой-нибудь файл в рабочее окно Xarchiver и нажать «Создать». Будет создан новый архив Linux в корневой папке — ПКМ на нем и выбираем в поле «Открывать с помощью» наш установленный Xarchiver. Теперь команды из контекстного меню должны работать, в дальнейшем, если при открытии или извлечении какого-либо архива (ПКМ -> Извлечь в…) появится ошибка, следует проделать операцию установки ассоциации повторно для этого типа архива.
Может случиться, что вышеуказанная ошибка остается и после тонкой настройки Xarchiver. Тогда нужно запустить Thunar с административными привилегиями
sudo thunar
и перейти в папку «/usr/local/libexec/thunar-archive-plugin/». Скопируйте файл «xarchiver.tap» и вставьте в папку «/usr/libexec/thunar-archive-plugin/». Теперь, после перезагрузки, все должно работать.
Также при глобальном обновлении ассоциаций командой
sudo update-desktop-database
в терминале могут отображаться ошибки типа «…multipart/x-zip is discouraged…». В этом случае нужно отредактировать исполнительный файл Xarchiver:
sudo leafpad /usr/local/share/applications/xarchiver.desktop
Просто удалите из файла текст, содержащий «multipart/x-zip» до точки с запятой (находится в нижней части, либо воспользуйтесь поиском) и повторите обновление ассоциаций.
Настройка Dropbox в Linux c использованием плагина Thunar Dropbox
В рабочей среде Xfce в роли файлового менеджера выступает Thunar. Это полнофункциональный файлменеджер, в принципе, ничем не уступающий своим аналогам для Gnome (Nautilus) и KDE (Dolphin), а также наделенный высоким уровнем расширяемости возможностей за счет плагинов. Об одном из них пойдет речь в данной статье — Thunar Dropbox поможет заметно улучшить комфортабельность работы с облачные решения для хранения файлов в Интернете в Linux и ускорить взаимодействие пользователя с расшаренными файлами.
Итак, настройка Dropbox в Linux c использованием плагина Thunar Dropbox начинается с запуска Менеджера приложений. Если у вас Sabayon Xfce, как у меня, то запускаем Rigo и в строке поиска вводим «thunar dropbox». Выбираем появившийся в списке плагин Thunar Dropbox и жмем «Установить». Сам Dropbox будет загружен и проинсталлирован автоматически.
После завершения установки нужно запустить Dropbox из терминала командой
dropbox
Появится окно приветствия, в котором нужно подставить свои логин и пароль. Нажимаем «Далее» и переходим к расширенной настройке Dropbox: выбору папки на диске, где будут храниться облачные файлы; установке облачных папок, которые будут синхронизированы с ПК. В завершении, просмотрев небольшой обзор возможностей программы, можно будет перейти в папку Dropbox на компьютере, где уже должны появиться некоторые файлы и папки из облака.
Теперь нужно перезагрузиться. Когда система запустится, переходим опять же в папку Dropbox и жмем ПКМ на любой папке или каком-нибудь файле. В контекстном меню должны быть доступны следующие пункты:
- поделиться ссылкой
- просмотреть на Dropbox.com
- просмотреть предыдущие версии
Также при клике ПКМ на папках и файлах всей файловой системы (не из папки Dropbox) в контекстном меню появится команда «Переместить в папку Dropbox». Таким образом с помощью плагина Thunar Dropbox мы получаем полный контроль над основным функционалом облачного сервиса и удобную синхронизацию данных в Linux.
Если в контекстных меню указанные выше пункты отсутствуют, тогда следует убедиться в том, что Dropbox работает и запускается при старте системы. В «Меню -> Настройки -> Сеансы и запуск» на вкладке «Автозапуск» должен быть активирован соответствующий пункт. В случае отсутствия значка запуска, его необходимо добавить вручную, указав в поле «Команда» код «dropbox
» (без кавычек). При следующей загрузке системы Dropbox должен быть обнаружен в системном трее. Если команд в «меню правой кнопки» не появилось даже при запущенной программе, тогда просто повторно установите (поверх) плагин Thunar Dropbox по аналогии с вышеописанным.