Saya memiliki kebutuhan untuk menemukan semua perangkat penyimpanan yang dapat ditulis yang terpasang ke mesin tertentu, baik dipasang maupun tidak .
Cara tolol untuk melakukan ini adalah dengan mencoba setiap entri /dev
yang sesuai dengan perangkat yang dapat ditulis ( hd* and sd*
) ......
Apakah ada solusi yang lebih baik, atau haruskah saya tetap menggunakan yang ini?
Jawaban:
/proc/partitions
akan mencantumkan semua perangkat blok dan partisi yang dikenali sistem. Anda kemudian dapat mencoba menggunakanfile -s <device>
untuk menentukan jenis sistem file apa yang ada di partisi, jika ada.sumber
Anda selalu dapat melakukan
fdisk -l
yang tampaknya berfungsi dengan baik, bahkan pada pengaturan aneh seperti perangkat EC2 xvda.Berikut ini dump untuk instance m1.large:
Sementara
mount
mengatakan:Dan
/proc/partitions
berkata:Catatan Samping
Bagaimana
fdisk -l
bekerja adalah sesuatu yang ingin saya ketahui sendiri.sumber
fdisk -l
kerjanya, tetapi saya pikir Anda mungkin ingin tahu: ini membaca/proc/partitions
dan kemudian melakukan iterasi/sys/dev/block/*
yang berisi satu set symlink ke repr perangkat yang sebenarnya di sysfs. Anda dapat menemukan informasi ini dengan menjalankanfdisk
bawahstrace
:)Anda juga dapat mencoba lsblk ... di util-linux ... tetapi saya punya pertanyaan juga
tidak ada hasil
fdisk bagus tapi tidak terlalu bagus ... sepertinya fdisk tidak bisa "melihat" semuanya
dalam contoh khusus saya, saya memiliki tongkat yang juga memiliki pembaca kartu di dalamnya dan saya hanya dapat melihat tongkat menggunakan fdisk:
tetapi bukan kartunya (kartu menjadi / dev / sdl)
juga, file -s tidak efisien ...
itu bagus ... TAPI
untuk melihat informasi tentang disk yang tidak dapat diakses oleh fdisk, anda dapat menggunakan parted:
sumber
ls /sys/block
sumber
Menggunakan HAL (kernel 2.6.17 dan yang lebih baru):
sumber
Sistem linux modern biasanya hanya memiliki entri di / dev untuk perangkat yang ada, jadi melalui hda * dan sda * seperti yang Anda sarankan akan bekerja dengan cukup baik.
Jika tidak, mungkin ada sesuatu di / proc yang bisa Anda gunakan. Dari sekilas melihat di sana, saya telah mengatakan / proc / partisi sepertinya bisa melakukan apa yang Anda butuhkan.
sumber
libsysfs memang terlihat berpotensi berguna, tetapi tidak langsung dari skrip shell. Ada program yang menyertainya bernama systool yang akan melakukan apa yang Anda inginkan, meskipun mungkin lebih mudah untuk hanya melihat / sys secara langsung daripada menggunakan program lain untuk melakukannya untuk Anda.
sumber