Answers:
එය සවි කිරීම සඳහා වන ධාවකය කුමක්දැයි ඔබ දැනගත යුතුය. පහත සඳහන් දේවලින් එකක් ඉවත් කිරීම සඳහා (මගේ මනාපය අනුව ශ්රේණිගත කර ඇත):
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
ඩිරෙක්ටරිය නිර්මාණය කරන ආකාරයටම සවිකරයි, නමුත් ස්ථිතික සවිකිරීමේ ස්ථානයක් සඳහා තවමත් තර්ක පවතින බව මම සිතමි, විශේෂයෙන් ඔබට මාර්ගය වෙනස් කිරීමට අවශ්ය නැති විට.
උඩිස්ක් ද ඩී-බස් මත රඳා පවතී, එබැවින් සෑම තැනකම ලබා ගත නොහැක.
pmount
/ pumount
ස්ථාපනය කරන්න pmount
. / මාධ්ය / / තැටි සවි කරයි
pmount /dev/sdb1
pumount /dev/sdb1
නොමැත sudo
අවශ්ය .
ඔබගේ විශේෂිත උපාංග මාර්ගය සමඟ "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
මගේ ධාවකය කියවීමට පමණක් සවි කිරීමට බල කරන විට මෙය ක්රියාත්මක විය .
udisksctl
පැකේජයෙන් භාවිතා කරන්න = udisks2
(උබුන්ටු සහ ඩේබියන් යන දෙකින්ම). ක්රියාපටිපාටිය:
ඔබ භාවිත කරන්නේ සවි කිරීමට අවශ්ය වාරණ උපාංගයේ හැඳුනුම්පත සොයා 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.
හාන්ස් Deragon ගේ අමතමින් පහත අදහස් : ඔබ ද කියන්න පුළුවන් 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
ඒ සඳහා ඉල්ලා සිටියහොත්?
සම්මත 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 []
සැ.යු <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
.
සමාන විධානයන් භාවිතා කිරීමෙන් කෙනෙකුට උබුන්ටු හි අත්දැකීම් ඇති සෑම අංශයක්ම පාහේ පාලනය කළ හැකි අතර බොහෝ පද්ධති වැඩසටහන් සහ කාර්යයන් අනුකරණය කළ හැකිය (එනම් වසා දැමීම, පරිමාව වෙනස් කිරීම ආදිය).
gdbus introspect --system --dest org.freedesktop.UDisks2 --object-path /org/freedesktop/UDisks2/drives --recurse --only-properties
ඔබට USBmount ආධාරයෙන් උබුන්ටු සේවාදායකයේ ස්වයංක්රීයව USB උපාංග සවි කළ හැකිය.
ස්ථාපනය ආරම්භ කිරීමට පෙර ඔබ 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
වර්තමානයේදී සම්බන්ධ වී ඇති සියලුම තැටි බැලීමට විධානය භාවිතා කරන්න .