বর্তমানে আনমাউন্টড ড্রাইভগুলি সম্পর্কে তথ্য পাওয়ার সর্বোত্তম উপায় কী?


38

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

এটি বেশিরভাগই কাজ করে। তবে একটি ছোট সমস্যা হ'ল ড্রাইভগুলি সফলভাবে মাউন্ট না করা পর্যন্ত sertedোকানো ড্রাইভে কী আছে সে সম্পর্কে কোনও তথ্য কীভাবে সন্ধান করতে হয় তা আমি জানি না।

সুতরাং, উদাহরণস্বরূপ, যদি ব্যবহারকারী এমন কোনও ড্রাইভ সন্নিবেশ করে যা আমি মাউন্ট করতে পারি না (উদাঃ কারণ এটি অপ্রত্যাশিত, বা অপ্রত্যাশিত ফাইল সিস্টেমের সাথে ফর্ম্যাট করা) তবে আমার সমস্ত অ্যাপ্লিকেশন এটি সম্পর্কে বলতে পারে "ড্রাইভ মাউন্ট করতে ব্যর্থ হয়েছে"।

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

সুতরাং আমার প্রশ্নটি হ'ল: ড্রাইভ থেকে কিছু প্রাথমিক তথ্য (বিশেষত ফাইল সিস্টেমের ধরণ) জিজ্ঞাসা করার কোনও পদ্ধতি আছে যার জন্য ড্রাইভটি ইতিমধ্যে মাউন্ট করা প্রয়োজন হয় না? বা মাউন্টগুলির প্রচেষ্টা সফল না হওয়া অবধি আমাকে কি বিভিন্ন পরিচিত ফাইল সিস্টেমের সাথে এটিকে মাউন্ট করার চেষ্টা করতে হবে, এবং যদি কেউ কিছুই না করে তবে একটি অস্পষ্ট "সাবধান" বার্তা দিতে হবে?

যদি এটি গুরুত্বপূর্ণ হয় তবে ড্রাইভের উপায়ে ড্রাইভগুলি মাউন্ট করার জন্য আমি যে পথগুলি ব্যবহার করি তা হ'ল:

/dev/disk/by-path/pci-0000:00:1f.2-scsi-2:0:0:0
/dev/disk/by-path/pci-0000:00:1f.2-scsi-1:0:0:0

উত্তর:


55

ড্রাইভগুলি আনমাউন্ট করা থাকলে আপনি করতে পারেন এমন বেশ কয়েকটি জিনিস রয়েছে।

তোমার মত কমান্ড ব্যবহার করতে পারেন fdisk -lবা sfdisk -lলিস্টে পার্টিশন। পার্টিশনটি সঠিকভাবে স্থাপন করতে পারলে পার্টিশন টাইপ আপনাকে কিছু কার্যকর তথ্য দিতে পারে

# sfdisk -l

Disk /dev/sda: 4177 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1   *      0+     30      31-    248976   83  Linux
/dev/sda2         31    4176    4146   33302745   8e  Linux LVM
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty

এটি যদি আপনার সিস্টেমে উপস্থিত থাকে তবে আপনি vol_idকিছু দরকারী বিশদ ফিরিয়ে দিতে পার্টিশনের বিরুদ্ধে কমান্ডটি ব্যবহার করতে পারেন (দেবিয়ানের উদেব প্যাকেজের অংশ)। এটি আপনাকে সাধারণত বলবে যে ফাইল সিস্টেমটি আসলে কী ব্যবহৃত হচ্ছে।

# vol_id /dev/sda1

ID_FS_USAGE=filesystem
ID_FS_TYPE=ext3
ID_FS_VERSION=1.0
ID_FS_UUID=32c44d53-9025-4d10-8f36-75c166547bd5
ID_FS_UUID_ENC=32c44d53-9025-4d10-8f36-75c166547bd5
ID_FS_LABEL=
ID_FS_LABEL_ENC=
ID_FS_LABEL_SAFE=

কমান্ডটি lshw -class diskআপনাকে ড্রাইভের ধরণ সম্পর্কে কিছু বিবরণ দেবে। আপনি যদি ড্রাইভের আসল ক্রমিক সংখ্যা সম্পর্কে আগ্রহী হন তবে আপনি এটি ব্যবহার করতে চাইতে পারেন।

# lshw -class disk

  *-disk
       description: ATA Disk
       product: VBOX HARDDISK
       physical id: 0.0.0
       bus info: scsi@0:0.0.0
       logical name: /dev/sda
       version: 1.0
       serial: VB169e93fb-d1e0fd97
       size: 32GiB (34GB)
       capabilities: partitioned partitioned:dos
       configuration: ansiversion=5 signature=000d39f8

আপনি যদি নিশ্চিত হন যে এতে ফাইলটিতে Ext2 / 3 এর মতো একটি নির্দিষ্ট ফাইল সিস্টেম রয়েছে তবে আপনি বিশদটি পরীক্ষা করতে ফাইল-সিস্টেম নির্দিষ্ট টিউন 2fs সরঞ্জামটি ব্যবহার করতে পারেন ।

# tune2fs -l /dev/sda1

tune2fs 1.41.3 (12-Oct-2008)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          8cbdf102-05c7-4ae4-96ea-681cf9b11914
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      filetype sparse_super
Default mount options:    (none)
Filesystem state:         not clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              124496
Block count:              248976
Reserved block count:     12448
Free blocks:              212961
Free inodes:              124467
First block:              1
Block size:               1024
Fragment size:            1024
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         4016
Inode blocks per group:   502
Last mount time:          Thu Oct  7 15:34:42 2010
Last write time:          Thu Oct  7 15:34:42 2010
Mount count:              4
Maximum mount count:      30
Last checked:             Wed Sep 15 09:29:03 2010
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:           128

আর একটি দরকারী সরঞ্জাম হল lsblk

# lsblk 

NAME                MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                   8:0    0    30G  0 disk 
└─sda1                8:1    0    30G  0 part 
  ├─vg1-root (dm-0) 254:0    0  23.3G  0 lvm  /
  └─vg1-swap (dm-1) 254:1    0   1.9G  0 lvm  [SWAP]
sr0                  11:0    1  1024M  0 rom  

আপনি যদি পার্ট ইনস্টল করে থাকেন তবে আপনি এই জাতীয় কমান্ড চালাতে পারেন

parted /dev/sda print all

Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 34.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      32.3kB  255MB   255MB   primary  ext2         boot 
 2      255MB   34.4GB  34.1GB  primary               lvm  

Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/vg1root: 32.6GB
Sector size (logical/physical): 512B/512B
Partition Table: loop

Number  Start  End     Size    File system  Flags
 1      0.00B  32.6GB  32.6GB  ext3              

যাইহোক অতীত যে আমি আপনাকে দেবী বা বিভক্ত উত্সটি একবার দেখে পরামর্শ দিই ।


12
'ভোল_আইডি' এর পর থেকে 'ব্লকিড' নামকরণ করা হয়েছে, যে কেউ এই দুর্দান্ত উত্তরের জন্য হোঁচট খায় for
ডেভ এস

lsblk -i -o kname,mountpoint,fstype,size,maj:min,name,state,rm,rota,ro,type,label,model,serial
sjas

দুর্দান্ত উত্তর !!
সুফিয়ান ঘোরি

5

আরেকটি দরকারী কমান্ডটি হ'ল blkid- এটি অনুরূপ তথ্য প্রদান করে vol_idতবে ডিভাইসটি প্রবেশের পরিবর্তে সিস্টেমে সমস্ত ডিভাইস স্ক্যান করতে পারে can

blkidক্যাশেড তথ্য ব্যবহার না করে সমস্ত ডিভাইস স্ক্যান করার জন্য জোর করতে, চালান blkid -c /dev/null(আপনার ব্লক ডিভাইসগুলিতে পড়ার অনুমতি প্রয়োজন যাতে আপনাকে সাধারণত এটি রুট হিসাবে চালাতে হবে)


একটি বেনামে ব্যবহারকারী যুক্ত করতে চেয়েছিলেন: এটি সমস্ত দরকারী তবে 'ভোল-আইডি' এখন পুরোপুরি 'ব্লকআইডি' দ্বারা প্রতিস্থাপিত হয়েছে; সুস এবং ডেবিয়ান উভয়েরই আর তাদের ভান্ডারে 'ভোল-আইডি' নেই। whereis blockidকমান্ড লাইন (বা man blockid) থেকে চালান , আপনি এটি লোড করা হয়েছে কিনা তা দেখতে পাবেন। রুট হিসাবে চালান: blkid /dev/sdb1দেয় (উদাহরণস্বরূপ): /dev/sdb1: SEC_TYPE="msdos" LABEL="DR-05" UUID="8031-5963" TYPE="vfat"ম্যান পৃষ্ঠাটিও দেখার মতো।
ক্রিস এস

1

আইবিএম- এর একটি পরামর্শ এখানে রয়েছে : এসসিএসআই - এসসিএসআই ডিভাইসগুলি হট অ্যাড, রিমুভ করুন: এসসিএসআই ডিভাইস পুনরায় স্ক্যান করুন । এটি নতুন ডিভাইসের জন্য সেই এসসিএসআই ঠিকানা পুনরুদ্ধার করবে এবং তারপরে আপনি তথ্য / ভার / লগ / বার্তাগুলিতে পড়তে সক্ষম হবেন। আপনি ড্রাইভ মাউন্ট না করে কিছু অন্যান্য ডিস্ক সরঞ্জামও কাজ করবে।

echo 1 > /sys/bus/scsi/drivers/sd/<SCSI-ID>/block/device/rescan

গতকাল আমি কিছুটা পৃথক পৃথকভাবে চেষ্টা করেছি এবং এটি কাজ করেছে (আরএইচইএল 4 সিস্টেম):

cd /sys/bus/scsi/devices
echo > 0\:0\:0\:0/rescan

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