Cara hacky adalah dengan mengabaikan kebutuhan akan sudo
dengan membaca log sistem dengan:
dmesg | grep blocks
Harap perhatikan bahwa ini mungkin tidak ideal, jadi jarak tempuh Anda mungkin berbeda...
Jika Anda menginginkan ukuran dalam byte dan hanya nilainya, mis. untuk skrip:
lsblk -b --output SIZE -n -d /dev/sdX
12220202
-b :Keluaran dalam byte.
-n :Tidak ada judul. Kami hanya menginginkan nilai angka murni.
--UKURAN keluaran :Hanya cetak kolom ukuran.
-d /dev/sdXn :Perangkat yang ingin kita ketahui ukurannya. X adalah mis. d, n misalnya, 1 untuk partisi pertama disk d.
Keuntungan:
- hak akses root tidak diperlukan
- grep tidak diperlukan
- lsblk tersedia di sebagian besar sistem linux
Jika Anda ingin menggunakan informasi itu dalam skrip misalnya, gunakan
sudo blockdev --getsz /dev/sda
mungkin lebih mudah daripada fdisk atau hdparm karena hanya memberi Anda informasi yang relevan (kalikan saja dengan 512). Namun, itu juga membutuhkan sudo.
Anda tentu saja dapat mengubah konfigurasi sudo sedemikian rupa sehingga memungkinkan untuk menjalankan perintah khusus ini tanpa meminta kata sandi (saya kira blockdev --getsz
cukup aman bahkan ketika dijalankan oleh pengguna biasa yang tidak memiliki hak istimewa).
Ini akan dilakukan dengan menambahkan baris berikut ke /etc/sudoers
:
ALL ALL= NOPASSWD:/sbin/blockdev --getsz /dev/*
Saat Anda mengedit file ini, pastikan untuk menggunakan perintah sudo visudo
dan bukan editor Anda yang biasa. Jika tidak, akan sangat mudah untuk membuat kesalahan sintaksis, yang akan menyebabkan sudo tidak dapat digunakan lagi (Anda harus memulai ulang ke mode penyelamatan untuk memperbaikinya).