Strona 1 z 2
[+] Lista zamontowanych systemów plików z usb
: 08 grudnia 2012, 01:47
autor: fado
Witam.
Potrzebuję pobrać listę zamontowanych systemów plików z urządzeń usb (pendrive, telefon, dysk przenośny). Wiem, że urządzenie w takim przypadku będzie używać sterownika usb-storage, ale nijak nie wiem jak powiązać te dane z systemem plików ani jak wydobyć sterownik dla zadanego urządzenia.
Potrzebuję aby to polecenie dało się wykonać bez uprawnień roota, mógłby ktoś nieco podpowiedzieć? Siedzę już kilka zdrowych godzin nad tym a jest mi to niezbędne na wczoraj.
: 08 grudnia 2012, 03:08
autor: Rafal_F
Jak zrobić to jednym poleceniem nie wiem, ale bazując na mojej skromnej wiedzy zrobiłbym to tak:
Na początku identyfikujemy które dyski są z usb. Można to zrobić poleceniem:
Kod: Zaznacz cały
ls /dev/disk/by-id/usb*
/dev/disk/by-id/usb-Kingston_DataTraveler_2.0_0019E06B587B5C89160E3E09-0:0
/dev/disk/by-id/usb-Kingston_DataTraveler_2.0_0019E06B587B5C89160E3E09-0:0-part1
Jak widać w tym przypadku są dwa wyniki: pierwszy to nazwa urządzenia, drugi oznacza że na urządzeniu znajduje się jedna partycja. Teraz identyfikujemy urządzenie:
Kod: Zaznacz cały
readlink /dev/disk/by-id/usb-Kingston_DataTraveler_2.0_0019E06B587B5C89160E3E09-0\:0
../../sdc
Problem w tym, że te urządzenia wcale nie muszą być zamontowane. Resztę kombinowałbym szukając powiązań pomiędzy powyższym, a tym co wyświetla:
Żadne z powyższych poleceń nie wymaga roota.
Może to trochę na około ale inaczej nie umiem, a nie chce mi się szukać.
: 13 grudnia 2012, 19:53
autor: fado
Dziękuję, readlinka mi właśnie brakowało.
Dodane:
Już się nacieszyłem tym rozwiązaniem, okazuje się, że dyski zewnętrzne są montowane pod
Czyli w tym samym miejscu co pozostałe dyski twarde. Problem pozostaje niestety nie rozwiązany, jeśli ktoś ma jakiś pomyśl to byłbym wdzięczny
: 13 grudnia 2012, 22:03
autor: fnmirk
Bez względu na zachowanie systemu, automatyczne działania niektórych opcji (programów) zawsze można dodatkowo zamontować urządzenie zewnętrzne w dowolnym katalogu.
Dysk komputera to zazwyczaj:
Kolejne dyski to:
Nie wiem ile dysków zewnętrznych podpinasz w danym momencie, ale więcej niż dwa to moim zdaniem nie jest wskazane.
Jeżeli pamiętasz w jakiej kolejności podpinasz dyski to możesz je zawsze montować jako:
pierwszy dysk itd.
Ja w taki sposób montuję dyski zewnętrzne, na dowolnym Linuksie, kiedy muszę dotrzeć do określonej partycji zewnętrznego dysku np. na nie swoim systemie lub z poziomu livecd.
Ja korzystam z katalogu /mnt ale można zrobić to w dowolnie innym miejscu.
: 13 grudnia 2012, 22:25
autor: fado
Przeczytaj temat od początku i zastanów się, czy szukam tego co napisałeś? Chcę wylistować punkty montowania urządzeń usb, potrzebne mi to do użycia w programie więc wszystko musi być dynamiczne, a nie tu na oko coś sprawdzę i tam.
Obecnie mam coś takiego:
Kod: Zaznacz cały
for i in `ls /dev/disk/by-id/usb* | grep part`; do readlink $i; done | awk -F '/' '{ system( "df /dev/" $3 " | sed 1d") }' | awk '{ print $6" " $7}'
ale jak już wspomniałem, brakuje mi tu dysków twardych podłączonych poprzez usb. Co prawda
polecenie lsusb wyświetla kompletną listę urządzeń usb razem z dyskiem, ale niestety nie mam pomysłu jak to połączyć z wynikami
polecenia df czy mount?
: 14 grudnia 2012, 00:30
autor: fnmirk
" pisze:Przeczytaj temat od początku i zastanów się, czy szukam tego co napisałeś?
Moim zdaniem, to niedokładnie wiesz jak działa montowanie urządzeń np. usb w Linuksie i w ogóle nie zrozumiałeś tego o czym napisałem.
Podepnij jakieś urządzenie usb i wydaj polecenie:
Następnie wydaj polecenie jako root:
Zajrzyj do podręcznika systemowego odpowiedniego polecenia. Połącz wszystko w całość i powinno działać.
Sprawdź zawartość katalogu:
i porównaj z tym co napisałem wcześniej.
: 14 grudnia 2012, 06:05
autor: fado
To nie wiem co miałeś na myśli poprzednim razem. Polecenie dmesg jest o tyle problematyczne, że wynik może być wyczyszczony. A polecenie blkid wymaga uprawnień roota co już się gryzie z moimi potrzebami.
: 14 grudnia 2012, 14:49
autor: fnmirk
" pisze:A polecenie blkid wymaga uprawnień roota
Polecenie mount też takich uprawnień wymaga.
: 14 grudnia 2012, 15:05
autor: Rafal_F
fnmirk pisze:Polecenie mount też takich uprawnień wymaga.
Tylko montowanie/odmontowywanie, mount bez parametrów wyświetla wszystkie zamontowane systemy plików i można tego użyć bez roota.
: 14 grudnia 2012, 19:34
autor: darkwater
Gwoli ścisłości, u mnie polecenie blkid nie wymaga uprawnień roota, wymaga jedynie wywołania z pełną ścieżką dostępu. Inna sprawa, że może to zależeć od grup, do których należy użytkownik.
Kod: Zaznacz cały
darkwater@blackhole:~$ /sbin/blkid /dev/sda1: UUID="7C143B2B143AE7B2" TYPE="ntfs"
/dev/sda2: UUID="02fd3be3-e41a-4417-b2f6-6d439c59765c" TYPE="ext4"
/dev/sda4: UUID="575ffe84-a0a1-492c-b2e1-bac905b2f65a" TYPE="ext3