ইজেক্ট ইউএসবি ড্রাইভ / ইজেক্ট কমান্ড


55

আমি জানি যে ejectকমান্ডটি সংযুক্ত প্রায় কোনও হার্ডওয়্যার উপাদান নির্গত করতে ব্যবহৃত হতে পারে, তবে এটি কি USB ড্রাইভগুলি বের করে দেওয়ার জন্য ব্যবহার করা যেতে পারে?

ejectকমান্ডটি দিয়ে USB ড্রাইভ এবং বাহ্যিক এইচডিডি বের করা সম্ভব ?


3
সম্পর্কিত: বিপরীত eject /dev/sdXহয় sg_start -s /dev/sdX(থেকে sg3_utilsপ্যাকেজ), উভয় SCSI ডিভাইস থেকে পাঠানো কম্যান্ডগুলো ব্যবহার করুন।
ইয়েতি

উত্তর:


15

না, তাদের হওয়ারও দরকার নেই; ejectঅপটিকাল ড্রাইভগুলি খোলার জন্য ব্যবহৃত হয়, যেখানে কেউ সরাসরি মিডিয়া টানতে পারে না।

ইউএসবি / ইএসএটিএ / ইত্যাদি জন্য আনমাউন্টিং যথেষ্ট। জমাকৃত যন্ত্রসমুহ.


হুঁ, আমি কোথাও / ডিভ / এসডিএ হিসাবে এইচডিডি নির্গত করতে দেখেছি। আমার ধারণা অনুমানটি তখন ভুল ছিল।
জো বার

আপনি এটি করতে পারেন, তবে এটি কিছু না হলেও সাধারণত খুব বেশি কিছু করে না।
ইগনাসিও ওয়াজকেজ-আব্রামস

1
এটি ধরে নিয়েছে যে ডিভাইসটি প্রথম স্থানে স্থাপন করা হয়েছে এবং এটি অনুমানের আরও একটি বড় সেট বয়ে নিয়েছে (এটি একটি ফাইল সিস্টেম পেয়েছে যা আপনি পড়তে পারেন, এটির জন্য)। কল্পনা করুন যে আপনি বাহ্যিক ড্রাইভগুলির একটি গোছা মুছছেন - তারা সম্ভবত কখনও মাউন্ট হয় না। ইজেক্ট ব্যবহার করার জন্য সঠিক জিনিস।
জেমস মুর

1
যদি আমি কখনই অনিশ্চিত হয়ে থাকি, আমি syncআগে এটি
ঝুঁকিপূর্ণ করে দেখি

বড়, চর্বিযুক্ত সতর্কতা: এটি সম্পূর্ণ সত্য নয়। আপনি যদি ejectএটি অন্তর্নিহিত ইউএসবি ডিভাইস ড্রাইভার না করেন তবে এখনও লেখার চেষ্টা করতে পারে AFTER umountফিরে এসেছে। ড্রাইভের স্থিতি এলইডি থাকলে এটি স্পষ্টভাবে দেখা যায়। সমাপ্তির ঠিক পরে ইউএসবি স্টিকটি umountইয়াঙ্ক করা হ'ল বিপর্যয়ের জন্য প্রাপ্তি।
জাইবাইট

77

হ্যাঁ. উদাহরণ স্বরূপ:

sudo eject /dev/sda

এখানে অন্যান্য উত্তরগুলি নির্দেশ করে যে আপনার প্রয়োজন মেকানিকাল ইজেকশন হার্ডওয়্যারটি ভুল।

আনমাউন্টিং বের করার মতো জিনিস নয়।

  1. যদি আপনি কোনও ভলিউম আনমাউন্ট করেন তবে আপনি অবিলম্বে এটি আবার মাউন্ট করতে পারেন, কারণ অন্তর্নিহিত ডিভাইসটি এখনও উপলব্ধ। কিছু পরিস্থিতিতে, এটি একটি সুরক্ষা ঝুঁকি উপস্থিত করতে পারে। ডিভাইসটি বের করে দেওয়ার মাধ্যমে কেবলমাত্র ইউএসবি সাবসিস্টেমের পুনরায় সেট (যেমন একটি রিবুট) ডিভাইসটি পুনরায় লোড করবে।
  2. ডিভাইসটি বের করে দেওয়ার মাধ্যমে আপনি ডিভাইসে আর কোনও অ্যাক্সেস কার্যকরভাবে অক্ষম করুন। কেবলমাত্র ইউএসবি সাবসিস্টেমের পুনরায় সেট (উদাহরণস্বরূপ একটি রিবুট) ডিভাইসটি পুনরায় লোড করবে। অন্যথায়, আপনাকে আবার অ্যাক্সেস করার জন্য আপনার অবশ্যই শারীরিকভাবে ডিভাইসটি সংযোগ বিচ্ছিন্ন করতে হবে এবং এটিকে পুনরায় সংযুক্ত করতে হবে।
  3. বেরোনোর ​​আগে, এই কমান্ডটি মাউন্ট করা ডিভাইসে সমস্ত ভলিউম আনমাউন্ট করবে।
  4. যদি ভলিউম ব্যবহারে থাকে তবে এই কমান্ডটি আনমাউন্ট হিসাবে ব্যর্থ হবে, কিছু ভলিউম আনমাউন্ট হতে পারে এবং কিছু ভলিউম মাউন্ট থাকতে পারে।

1
sudoএই কমান্ডটি শেষ করার জন্য আমাকেও ব্যবহার করতে হয়েছিল (ফাইলটি খুলতে অক্ষম বলার আগে এটি কেবল সমস্তই ড্রাইভটিকে আনমাউন্ট করবে)। এটি ছাড়াও সহায়ক উত্তর।
জিডিপি 2

এই থ্রেডে নিম্ন-প্রশংসিত উত্তর। কেবল একটি FAT32 মাউন্ট করা থাম্ব ড্রাইভটি দেখুন, এবং লক্ষ্য করুন যে কীভাবে আনমাউন্টিং এবং বের করে দেওয়া কেবলমাত্র ফাইল এক্সপ্লোরার (যেমন: নটিলাস) এর মধ্যে একটি পার্থক্য রয়েছে। একটি সাধারণ সানসা ক্লিপ এটি প্রদর্শন করতে সহায়তা করবে।
মেঘ

Lsusb চালানোর সময় ডিভাইসটি এখনও উপস্থিত রয়েছে। সুতরাং আপনাকে পুরো ইউএসবি-সাবসিস্টেমটি পুনরায় সেট করতে হবে না। কেবল ডিভাইসই যথেষ্ট। আপনি এই github.com/jkulesza/usbreset github.com/CWempe/usbreset করতে usbreset ব্যবহার করতে পারেন usbreset.c ফাইলগুলি দুটি প্রকল্পে একরকম,
হ্যানস

38

ejectকাজ করবে, তবে ইউএসবি ঘোরানো ড্রাইভ সম্পর্কিত "কাজ শেষ করবে না" ।

যথাযথ আনমাউন্টিংয়ের পরে , ইউএসবি বাহ্যিক হার্ড-ড্রাইভটিকে আনপ্লাগ করার সর্বোত্তম উপায় হ'ল:

udisks --detach /dev/sdb

এটি সাধারণত ড্রাইভটি কৃপণভাবে কমে যায়।

অবিকল, বর্তমান বাস্তবায়ন :

  • এসসিএসআই সিঙ্ক-ক্যাশে আদেশ পাঠায়,
  • এসসিএসআই স্টপ কমান্ড প্রেরণ করে,
  • ইউএসবি-স্টোরেজ কার্নেল ড্রাইভারকে আবদ্ধ করে,
  • ইউএসবি ডিভাইস (শক্তি) স্থগিত করে,
  • যৌক্তিকভাবে তার ইউএসবি পোর্ট থেকে এটি অক্ষম করে / সরিয়ে দেয়।

এই প্রক্রিয়াটি এখানে প্রস্তাবিত ম্যানুয়াল পদ্ধতির কাছাকাছি । প্রাথমিক উত্তর ছিল আসকবুন্টুর উপর

সম্পাদনা: এছাড়াও, জি.রোকেট পয়েন্ট হিসাবে , এই আদেশটি সমান হতে পারে:

udisksctl power-off -b /dev/sdb

আমার উবুন্টু অনায়লে udisksctlযা উত্তেজক নেই তা --detachউপলব্ধ। এক্ষেত্রে কী করবেন? ধন্যবাদ.
ওয়াকান টঙ্কা

@ ওয়াকানটানকা আপনি ইনস্টল করেছেন udisks
টোটার

আমি কীভাবে ইনস্টল করতে পারি udisks? এটি আমার সিস্টেমে নেই। আমি প্যাকেজটি পেয়েছি udisks2, কিন্তু এটি তৈরি udisksবা udisks2 উপলভ্য হয়নি ।
মার্টিন থোমা

5
@ ওয়াকানট্যাঙ্কাও udisksctl power-off -b /dev/sdwhateverএকই কাজ করছে বলে মনে হচ্ছে।
g.rket

@ জি.রোকট উত্তর অনুসারে আপডেট হয়েছে। ধন্যবাদ.
টোটার

8

ডিস্ক / দেব / এসডিবি আনমাউন্ট করার জন্য ম্যানুয়াল পদক্ষেপ (সুডোর প্রয়োজন):

echo 'offline' > /sys/block/sdb/device/state
echo '1' > /sys/block/sdb/device/delete

এটি ডিভাইসটিকে পুরোপুরি পাওয়ার-অফ করে দেবে এবং এটি সিস্টেম থেকে আলাদা করবে। এটি সংযোগ বিচ্ছিন্ন এবং পুনরায় সংযুক্ত না হওয়া পর্যন্ত এটি আবার সনাক্ত করা যাবে না।


2
এফডব্লিউআইডাব্লিউআইডব্লিউআইডাব্লিউআইডাব্লিউআইডব্লিউআইডাব্লিক্স কমান্ড ত্রুটি দিয়েছিল - এটি কেবলমাত্র বাহ্যিক ইউএসবি ক্র্যাডল সহ জেন ডোম0-এ আমার জন্য কাজ করে।
জিএস - 13:19

1
আমি এটি অনুসন্ধান করছিলাম, আমি ড্র্যাকট জরুরী মোডে আছি এবং অন্য কোনও কার্যে আমার অ্যাক্সেস নেই। ধন্যবাদ!
নাসিয়েল

hdparm -YSata / IDE ড্রাইভের জন্যও কার্যকর hand
ওয়ালফ

6

আপনি যদি সাবধানে ইজেক্ট (1) ম্যান পৃষ্ঠাটি পড়েন তবে দেখতে পাবেন যে বের করার জন্য 4 টি পদ্ধতি রয়েছে:

   -r   This  option specifies that the drive should be ejected using a CDROM
        eject command.

   -s   This option specifies that the drive should  be  ejected  using  SCSI
        commands.

   -f   This option specifies that the drive should be ejected using a remov‐
        able floppy disk eject command.

   -q   This option specifies that the drive should be ejected using  a  tape
        drive offline command.

আপনি যখন এইচডিডি / এসসিএসআইতে ইজেক্ট কল করবেন তখন এটি ioctl(fd, SG_IO, (void *)&io_hdr);আদেশটি সরবরাহ করে ( eject.cউত্স থেকে অনুলিপি )।

আপনি এমএস উইন্ডোজ বা ম্যাকসোএসএক্স-এ নিরাপদে ডিভাইস সরিয়ে দেওয়ার সাথে সাথে এটি সমান।

কিছু ডিভাইসের জন্য এটির বিশেষ অর্থ রয়েছে। উদাহরণস্বরূপ, ইজেক্ট কমান্ডের পরে কিন্ডল 3 চার্জিং মোডে সরানো হচ্ছে এবং স্ক্রীনটি লক হওয়ার আগে, ডিভাইসে ব্রাউজিংয়ের অনুমতি দিন।

অন্য ইউটিলিটিগুলি একই জিনিস করে

scsi-spin --force --down /dev/sda

3

ট্রে বা অন্যান্য লোডিং প্রক্রিয়া ব্যতীত হার্ডওয়্যারটির জন্য "ইজেক্টিং" এর কোনও অর্থ নেই (আমি ধরে নিই এটি টেপ ড্রাইভগুলির সাথেও কাজ করে)।

যাইহোক, একটি বাহ্যিক ইউএসবি ফ্ল্যাশ ড্রাইভের সাথে পরীক্ষার মাধ্যমে বলা হয়েছে যে ejectঅনেকটা কাজ করে umount- এর ফলে ডিভাইস নোডগুলি অদৃশ্য হয়ে যাওয়ার পার্শ্ব প্রতিক্রিয়া রয়েছে, যেমন

% ls  /dev/sdc*
/dev/sdc  /dev/sdc1
% sudo eject /dev/sdc
% ls  /dev/sdc*
/dev/sdc

নোট যে /dev/sdc1অদৃশ্য হয়ে গেছে।


1
টেপ দিয়ে এটিকে কখনও চেষ্টা করে দেখেনি ( mt rewofflএটি আরও সুবিধাজনক কারণ এটি আবারও রিন্ডাইন্ড হয়), তবে এটি পুরানো ম্যাকস এবং সান ওয়ার্কস্টেশনের মতো মোটর চালিত ফ্লপি ড্রাইভগুলির সাথে কাজ করে
অ্যালেক্সিয়াস

পছন্দ করুন
রেনান

3

অসক্স কমান্ড লাইনে আপনার ডিস্কটিল ব্যবহার করা উচিত যেখানে LABEL আপনার ইউএসবি ড্রাইভের লেবেল রয়েছে।

diskutil eject /Volumes/<LABEL>

2

udisks --detach /dev/sdXযেখানে (এক্স) হ'ল আপনার ইউএসবি ডিভাইসের শেষ অক্ষর। এটি যে কোনও লিনাক্স সিস্টেমে সূক্ষ্মভাবে কাজ করে।


আপনার উত্তরটি ঠিক আছে, যদিও এটি সামান্য কিছুটা ছোট। আমি আরও বিস্তৃত করার পরামর্শ দেব: এই আদেশটি কী করে, কীভাবে, কেন আপনি
এগুলি

0

ঠিক আছে আমি এটি আরও ভাল করে ব্যাখ্যা করার চেষ্টা করব:

udisks কমান্ডটি সম্পূর্ণরূপে মুছে ফেলা এবং সিস্টেমের মধ্যে মাউন্ট করা বা সংযুক্ত যে কোনও USB ডিভাইসটিকে বিদ্যুতহীনভাবে বন্ধ করে দেয় আনমઉન્ટ কমান্ড কেবল পার্টিশনটিকে আনমাউন্ট করে অর্থাৎ: ডিভ / এসডিবি 1 বা ইউএসবি ছাড়াও সিস্টেমটিতে উপস্থিত রয়েছে।

সুতরাং একই আনমাউন্ট, উত্সর্গ এবং বিচ্ছেদ পৃথক নয়

udisks = ইউএসবি থেকে পাওয়ার বন্ধ

umount = পুরো পেনড্রাইভ নয় পার্টিশনটি আনমাউন্ট করুন

ইজেক্ট = একই বা umount কমান্ডের খুব কাছে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.