Відповіді:
Вам потрібно буде знати, як називається накопичувач, щоб встановити його. Щоб зробити це вогнем, вимкніть одне з наступних (класифікується в порядку мого уподобання):
lsblk
sudo blkid
sudo fdisk -l
Ви шукаєте розділ , який повинен виглядати приблизно так: /dev/sdb1
. Чим більше дисків у вас, тим вища буквиця. У будь-якому випадку знайдіть його і запам’ятайте, як воно називається.
Це потрібно десь встановити у файлову систему . Зазвичай ви можете використовувати / mnt / якщо вам лінь і нічого іншого там не встановлено, але в іншому випадку ви хочете створити новий каталог:
sudo mkdir /media/usb
sudo mount /dev/sdb1 /media/usb
Коли ви закінчите, просто вистріліть:
sudo umount /media/usb
Цій відповіді майже 6 років, і хоча її основна робота все ще працює, такі речі fdisk -l
не є найбільш зручним для користувача варіантом. Існують також нові механізми у вищих стеках для монтажу пристроїв у розумний та стандартний спосіб, які можуть бути не завжди доступними.
Тому я додав трохи польської мови з інших відповідей. Поки ви читаєте цю виноску і ви робите це в настільній системі, напевно є аргументи для використання udisksctl
відповідно до відповіді wecac . Це монтується так само, як робить робочий стіл - створюючи власний /media/$USER/device
каталог - але я думаю, що все ще є аргументи для статичної точки монтування, особливо коли ви не хочете, щоб шлях змінювався.
Udisks також покладається на D-Bus, тому може бути доступний не скрізь.
Встановити pmount
. Встановлює диски в / медіа /
pmount /dev/sdb1
pumount /dev/sdb1
Судо не потрібно. Замініть "sdb1" на конкретний шлях пристрою. Для отримання додаткової інформації див сторінку сторінки:
pmount ("policy mount") is a wrapper around the standard mount program
which permits normal users to mount removable devices without a match-
ing /etc/fstab entry.
pmount is invoked like this:
pmount device [ label ]
This will mount device to a directory below /media if policy is met
(see below). If label is given, the mount point will be /media/label,
otherwise it will be /media/device.
mount
наполягали на встановленні мого диска лише для читання.
Окрім використання стандартної mount
команди (для якої потрібен root), ви можете монтувати диски за допомогою udisks
та dbus
зі своїм стандартним користувачем.
Для цього корисно (але не потрібно) спочатку знати кілька речей про накопичувач:
/dev/sdb1
)Знаючи це, ви можете використовувати просту команду для монтажу диска з командного рядка.
gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/<device> --method org.freedesktop.UDisks.Device.FilesystemMount "<filesystem>" []
цей виклик повинен відповідати шляху, на якому він змонтований, якщо кріплення вдалося.
Щоб відключити диски, змонтовані таким чином, ви можете запустити:
gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/<device> --method org.freedesktop.UDisks.Device.FilesystemUnmount []
NB: <device>
це просто кінець шляху до нього. Так, наприклад, якщо ви хочете встановити те, що ви хочете встановити, /dev/sdb2
то ви поставили б його sdb2
замість <device>
.
Якщо ви не знаєте, який це пристрій чи яку файлову систему він використовує, не бійтеся. Ви можете легко роздрукувати всю цю інформацію за допомогою цієї маленької команди:
gdbus introspect --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices --recurse --only-properties | grep -E "(readonly .+ (IdLabel|IdType|Device(IsMounted|IsDrive|File) ).*|\}|.*\{)"
Це надрукує щось подібне:
node /org/freedesktop/UDisks/devices {
node /org/freedesktop/UDisks/devices/sda {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = '';
readonly s IdType = '';
readonly s IdUsage = '';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sda';
};
};
node /org/freedesktop/UDisks/devices/sda1 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = 'SYSTEM';
readonly s IdType = 'ntfs';
readonly s IdUsage = 'filesystem';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sda1';
};
};
node /org/freedesktop/UDisks/devices/sda2 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = 'Windows7';
readonly s IdType = 'ntfs';
readonly s IdUsage = 'filesystem';
readonly b DeviceIsMounted = true;
readonly s DeviceFile = '/dev/sda2';
};
};
node /org/freedesktop/UDisks/devices/sda3 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = 'Recovery';
readonly s IdType = 'ntfs';
readonly s IdUsage = 'filesystem';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sda3';
};
};
node /org/freedesktop/UDisks/devices/sda4 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = '';
readonly s IdType = '';
readonly s IdUsage = '';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sda4';
};
};
node /org/freedesktop/UDisks/devices/sda5 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = '';
readonly s IdType = 'ext4';
readonly s IdUsage = 'filesystem';
readonly b DeviceIsMounted = true;
readonly s DeviceFile = '/dev/sda5';
};
};
node /org/freedesktop/UDisks/devices/sda6 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = '';
readonly s IdType = 'swap';
readonly s IdUsage = 'other';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sda6';
};
};
node /org/freedesktop/UDisks/devices/sda7 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = '';
readonly s IdType = 'ext4';
readonly s IdUsage = 'filesystem';
readonly b DeviceIsMounted = true;
readonly s DeviceFile = '/dev/sda7';
};
};
node /org/freedesktop/UDisks/devices/sdb {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = '';
readonly s IdType = '';
readonly s IdUsage = '';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sdb';
};
};
node /org/freedesktop/UDisks/devices/sdb1 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = 'USB DRIVE';
readonly s IdType = 'vfat';
readonly s IdUsage = 'filesystem';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sdb1';
};
};
node /org/freedesktop/UDisks/devices/sr0 {
interface org.freedesktop.UDisks.Device {
readonly s IdLabel = '';
readonly s IdType = '';
readonly s IdUsage = '';
readonly b DeviceIsMounted = false;
readonly s DeviceFile = '/dev/sr0';
};
};
};
Ті, що мають IdUsage = 'filesystem'
бути змонтовані за допомогою наведеної вище команди.
Це означає, що, наприклад, якщо я хотів би встановити пристрій "USB DRIVE", я запустив би команду
gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/sdb1 --method org.freedesktop.UDisks.Device.FilesystemMount "vfat" []
Ці команди працюють за допомогою системи dbus
обміну повідомленнями, так само, як Nautilus
і інші менеджери файлів автоматично монтують речі. У цих командах ми надсилаємо різні об'єкти (тобто /org/freedesktop/...
повідомлення з проханням встановити та відключити певні пристрої. Вони можуть чи не можуть цього робити, залежно від дозволів, які були надані PolicyKit
.
Використовуючи подібні команди, можна контролювати майже кожен аспект досвіду роботи в Ubuntu та імітувати більшість системних програм та функцій (тобто вимкнення, зміна гучності тощо).
gdbus introspect --system --dest org.freedesktop.UDisks2 --object-path /org/freedesktop/UDisks2/drives --recurse --only-properties
Використовуйте udisksctl
з пакета = udisks2
(як в Ubuntu, так і в Debian). Процедура така:
Знайдіть ідентифікатор блокового пристрою, який ви хочете встановити, використовуючи lsblk
:
user@machine:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.8T 0 disk
├─sda1 8:1 0 19.1M 0 part /boot/efi
├─sda2 8:2 0 1.8T 0 part
└─sda3 8:3 0 16G 0 part [SWAP]
sdb 8:16 0 931.5G 0 disk
├─sdb1 8:17 0 37M 0 part
├─sdb2 8:18 0 15.9G 0 part [SWAP]
└─sdb3 8:19 0 915.7G 0 part /
sdc 8:32 1 14.4G 0 disk
└─sdc1 8:33 1 14.4G 0 part
sdd 8:48 0 1.8T 0 disk
└─sdd1 8:49 0 1.8T 0 part
З його розміру, /dev/sdc1
здається, USB-накопичувач, який я хочу встановити.
Використовуйте udisksctl
для монтажу пристрою. Зауважте, що -b
== --block-device
(для зменшення набору тексту), але я віддаю перевагу довгим варіантам документації:
user@machine:~$ udisksctl mount --block-device /dev/sdc1
==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-mount ===
Authentication is required to mount Kingston DT microDuo 3C (/dev/sdc1)
Multiple identities can be used for authentication:
1. XXXXX,,, (user)
2. ,,, (YYYYY)
Choose identity to authenticate as (1-2): 1
Password:
==== AUTHENTICATION COMPLETE ===
Mounted /dev/sdc1 at /media/user/USBDRIVELABEL.
Звертаючись до коментаря Ганса Дерагона нижче : ви також можете сказати udisksctl
робити --no-user-interaction
. Він не намагається аутентифікувати користувача, який, як правило, "просто працює":
user@machine:~$ udisksctl mount --block-device /dev/sdc1 --no-user-interaction
# possibly some complaining here about I/O charset or need to run `fsck`
Mounted /dev/sdc1 at /media/user/USBDRIVELABEL.
--object-path
що він просить?
Ви також можете автоматично монтувати USB-пристрої на Ubuntu Server за допомогою USBmount.
Обов’язково запустіть оновлення / оновлення apt-get перед початком інсталяції:
sudo apt-get update && sudo apt-get upgrade
Тепер встановіть USBmount із сховищ:
sudo apt-get install usbmount
USBmount монтує всі USB-накопичувачі /media/usb*
(usb0, usb1, usb2 ...)
Тепер підключіть USB-накопичувач і чекайте його виявлення та встановлення. Поки хост ОС підтримує файлову систему, її слід встановити.
Щоб перевірити правильність встановлення USB-накопичувача, ви можете df -h
переглянути всі наявні накопичувачі та їхні точки монтажу
Для зняття диска ви можете використовувати umount.
sudo umount /media/usb0
Це просто. Коли я хочу використовувати USB-накопичувач в терміналі, я роблю це:
Створіть папку в /media
:
mkdir /media/mountDrive
Ця папка буде використовуватися для точки монтажу. Використовуйте цю команду:
sudo mount /dev/sdd1 /media/mountDrive
sdd1
це перший розділ мого USB. Тоді ви можете перейти до папки, до якої ви вже встановлені
cd /media/mountDrive
Якщо ви хочете перерахувати файли на диску, ви можете скористатися ls
командою.
Для відключення диска, який ви можете використовувати
sudo umount /dev/sdd1
Зауважте, що в моїй системі привід usb є /dev/sdd1
, але у вашій системі це може бути щось інше. Щоб дізнатися, що це за допомогою df
команди, щоб переглянути всі підключені диски в даний час.