Ổ đĩa Stat không có lsblk?


11

Tôi có một hệ thống busybox tối giản mà gần đây tôi đang cố gắng sử dụng và tôi đã tìm thấy một vấn đề nhỏ: nó không có lsblklệnh. Có một lệnh khác để liệt kê các đĩa, phân vùng và kích thước như thế lsblknào?

Một số cũng không hoạt động:

  • lsblk
  • lsusb
  • fdisk -l
  • cfdisk

tốt. Nhìn vào hướng dẫn sử dụng, nó sẽ cung cấp cho bạn fdisktiện ích - man.he.net/man1/busybox - bạn có thể vui lòng chạy /bin/busybox --helpđể xem danh sách các lệnh có sẵn không?

dfkhông hoạt động?
Ramesh

Câu trả lời:


11

Nhìn qua trang wiki của busybox , tôi thấy nó hỗ trợ dflệnh để tìm cách sử dụng đĩa.

Bạn có thể thử lệnh dưới đây.

df -h - Hiển thị không gian trống trên các hệ thống tệp được gắn.

Từ trang man của busybox, họ đã cung cấp các ví dụ về cách sử dụng dflệnh.

Tuy nhiên, như @nwildner đã chỉ ra, df sẽ hiển thị lưu trữ trên một hệ thống tệp được gắn kết chứ không phải các lược đồ liên quan đến phân vùng. Để tìm ra nó, bạn có thể kiểm tra các tập tin dưới đây.

cat /proc/partitions

Như bạn đã đề cập fdisk -llà không hoạt động, tập tin trên có thể chứa thông tin phân vùng.

Kiểm tra

fdisk -l đã tạo ra đầu ra dưới đây trong hệ thống của tôi.

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        9726    78019672+  8e  Linux LVM

Bây giờ, tôi có thể lấy thông tin phân vùng nếu tôi sử dụng mèo /proc/partitions. Đầu ra là,

major minor  #blocks  name

   8     0   78125000 sda
   8     1     104391 sda1
   8     2   78019672 sda2
 253     0   78019156 dm-0
 253     1   72581120 dm-1
 253     2    5406720 dm-2

Số chính là 8 cho biết nó là một thiết bị đĩa. Những cái nhỏ là phân vùng của bạn trên cùng một thiết bị. 0 là toàn bộ đĩa, 1 là chính, 2 là mở rộng và 5 là phân vùng logic. Phần còn lại tất nhiên là kích thước khối và tên của đĩa / phân vùng.

Không chắc chắn nếu một đề nghị thông minh, nhưng bạn đã thử sudo fdisk -lxem nó có hoạt động không?

EDIT # 1

Bạn cũng có thể chạy $ df -T. Đây là một lệnh khác không yêu cầu đặc quyền siêu người dùng để thực thi. Tuy nhiên, điều này sẽ báo cáo cho mọi điểm gắn kết.

Một lệnh khác có thể có ích là # file -sL /dev/sdXY. Điều này có một nhược điểm là nó không hoạt động với thiết bị khối đầy đủ. Yêu cầu thiết bị chính xác được thông qua. Đầu ra khá gọn gàng:

Người giới thiệu

Làm thế nào để xác định hệ thống tập tin của một thiết bị chưa từng có?


2
Nhưng dfsẽ hiển thị việc sử dụng lưu trữ trên một hệ thống tập tin được gắn kết, không phải các sơ đồ liên quan đến phân vùng.

1
@nwildner, cập nhật câu trả lời. Vui lòng kiểm tra và cho tôi biết :)
Ramesh

Tôi đang đăng nhập với quyền root. Sẽ / Proc / phân vùng hiển thị phân vùng chưa từng có?
TheDoctor

@TheDoctor, tôi sợ nó sẽ không hiển thị các phân vùng chưa được đếm.
Ramesh

2
Không, df -Tdường như cũng không hoạt động. Nó chỉ nói rằng tôi có thể sử dụng các tùy chọn -p, -k, -m, -h
TheDoctor

4

Có vẻ như những người trả lời khác đã không thực sự kiểm tra trên BusyBox. Dưới đây là các lệnh duy nhất hoạt động trên BusyBox trong initramfs của tôi:

  • cat /proc/partitions hiển thị kích thước đĩa và phân vùng theo khối (KiB)

  • blkid hiển thị nhãn phân vùng, UUID và loại (EXT4, NTFS, v.v.)


0

các lệnh hộp bận thường bị giới hạn hơn một chút sau đó các phiên bản đầy đủ có trong các bản phát hành lớn hơn và câu trả lời trước đó không hoàn toàn giải quyết điều này khi tôi phát hiện ra khi tôi gặp vấn đề tương tự.

Tôi đã tìm thấy thông tin tôi cần (và nhiều hơn nữa) cho extcác hệ thống tệp sử dụng tune2fscó sẵn trên Linux nhúng mà tôi đang sử dụng tại thời điểm này. Không chắc chắn làm thế nào để làm điều này cho các loại hệ thống tập tin chưa từng có.

tune2fs -l /dev/sdbXY | grep 'Block' | tr -s ' ' | cut -f3 -d' '
488378112
4096
group:

Điều này sẽ cung cấp cho bạn đầu ra này vì tr -sdải không gian lặp lại và cut -f3 -d ' 'cung cấp cho bạn trường đầu ra thứ ba. Đơn giản chỉ cần loại bỏ các ống liên tiếp để tìm hiểu thêm một chút về những gì đang xảy ra.

Số đầu tiên là số lượng khối và thứ hai là kích thước khối. Nhân chúng với nhau để có câu trả lời của bạn theo byte. Từ group:này chỉ là một sự bất thường của bộ lọc và có thể bỏ qua.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.