Chcę wiedzieć, jak najłatwiej jest ustalić (bez uprawnień roota), czy zamontowane jest urządzenie blokowe (powiedzmy sdb
), czy jakakolwiek jego część (i która część).
Sprawdzanie /proc/mounts
sdb nie wystarczy, ponieważ sdb
LVM może użyć jednej z jego partycji. Możesz sprawdzić, /sys/block/sdb/sdb*/holders/
ale otrzymujesz dm-x
wpisy, które muszą zostać przetłumaczone na /dev/mapper
nazwy w celu sprawdzenia /proc/mounts
. Możliwe, ale jeśli istnieje łatwiejsze rozwiązanie ... (które nie powinno wymagać uprawnień administratora)
Odpowiedzi:
Chodzi przede wszystkim o sprawdzenie całej torby skrzynek narożnych.
mount /dev/sda -o offset=1M /foo
) (zastosowanie losetup -a)To tylko przykłady, które wymyśliłem, dając półtorej minuty na przemyślenie. Jestem pewien, że jest tuzin innych.
Myślę, że ten ostatni przykład jest najciekawszy i niewiele osób o nim wie. Pozwala na zamontowanie systemu plików bez użycia partycji. Wystarczy określić początkowe przesunięcie, a Linux przejrzyście utworzy urządzenie sprzężenia zwrotnego. Powyższy przykład daje następujące wyniki:
Dlaczego chcesz to zrobić? Zazwyczaj dotyczy to sytuacji, w których sprawy potwornie się wcześniej potoczyły.
Należy również pamiętać, że dzięki funkcji przestrzeni nazw teraz w głównej linii (patrz unshare ), różne procesy mogą mieć różne poglądy na temat tego, co jest zamontowane, a co nie. Tutaj zaczyna się trochę czerwona pigułka.
źródło
Istnieje znacznie więcej sposobów montowania urządzeń, wszystkie z nich można łączyć, więc to zależy od Ciebie, aby się dowiedzieć.
tj. co jest używane przez lvm:
pvdisplay
Potrzebujesz więc także nfs, cifs, raid, loop, crypt i tak dalej. Dobry punkt wyjścia jest zawsze
/proc/mounts
, jak już wspomniałeś.źródło