Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam
NIe wiem czy dobre forum wybrałem ale mam problem z kopiowaniem rzeczy na USB. Pendrive jest widoczny i proba kopiowania idzie ale jak wyjmę pendriva i włoże ponownie to czesto mam brak kopiowanego pliku. Czasem na innych USB da się kopiwoać ale większość nie idzie poprawianie. Kopiuje przez manadzer plikow w trybie graficznym PPM kopiuj wklej i czesto mam z tym problem. Czy jest jakies oprogramowanie które zarzadza właściwościami plików czy tez pendriwów tak aby ta procedura kopiowania była jak najmniej uciążliwa dla zwykłych użytkowników.
Offline
Miałem podobny problem z moim pendrive, okazało się że był wcześniej sformatowany w formacie NTFS (poprzez gparted). W sumie Linuks obsługuje ten windows'owy format, ale gdy sformatowałem go w tym samym formacie ale bezpośrednio w Windows, problem zniknął.
Offline
Odmontować urządzenie
Offline
Miałem podobne jazdy z montowaniem przez udisk, ale załatwiłem je raz a porządnie:
cat /etc/udev/rules.d/99-pendrak.rules
KERNEL=="sd[a-b][0-9]", ENV{UDISKS_IGNORE}="1" ENV{ID_SERIAL_SHORT}=="000FEAFB7AFEF921958F00ED", ENV{UDISKS_IGNORE}:="1" KERNEL=="sd?1", ACTION=="add", ENV{ID_SERIAL_SHORT}=="000FEAFB7AFEF921958F00ED", \ SYMLINK+="pendrak%n", \ RUN+="/bin/mount -t vfat /dev/pendrak%n /media/Pendrak1 -o rw,sync,noexec,nosuid,nodev,shortname=mixed,uid=1001,gid=1001,umask=0077,utf8=1,showexec,flush" KERNEL=="sd?2", ACTION=="add", ENV{ID_SERIAL_SHORT}=="000FEAFB7AFEF921958F00ED", \ SYMLINK+="pendrak%n", \ RUN+="/bin/mount -t ext4 /dev/pendrak%n /media/Pendrak2 -o rw,sync,noexec,nosuid,nodev,user", \ RUN+="/usr/local/bin/udevmess 'Pendrak zamontowany ;)'" KERNEL=="sd?3", ACTION=="add", ENV{ID_SERIAL_SHORT}=="000FEAFB7AFEF921958F00ED", \ SYMLINK+="pendrak%n", \ RUN+="/bin/mount -t ext4 /dev/pendrak%n /media/Pendrak3 -o rw,sync,noexec,nosuid,nodev,user" KERNEL=="sd?1", ACTION=="remove", ENV{ID_SERIAL_SHORT}=="000FEAFB7AFEF921958F00ED", \ RUN+="/bin/umount -f /media/Pendrak1" KERNEL=="sd?2", ACTION=="remove", ENV{ID_SERIAL_SHORT}=="000FEAFB7AFEF921958F00ED", \ RUN+="/bin/umount -f /media/Pendrak2" KERNEL=="sd?3", ACTION=="remove", ENV{ID_SERIAL_SHORT}=="000FEAFB7AFEF921958F00ED", \ RUN+="/bin/umount -f /media/Pendrak3", \ RUN+="/usr/local/bin/udevmess 'Pendrak odmontowany :)'"
Udev teraz bardzo grzecznie montuje pendraka, odmontowuje i nic się nie gubi.
Montuje z opcjami noexec, nosuid, nodev i oczywiście sync.
Pozdro
Offline
@Jacekalex , te twoje reguły można skompresować przez użycie ENV{REMOVE_CMD}="" i zamiast tworzyć dwie reguły można mieć jedną. xD Ale to i tak trochę bez sensu, bo wydawanie umount na ACTION=="remove" to jest lekkie nieporozumienie, bo pierw trzeba pendrive wyciągnąć z portu, a dopiero system go odmontuje, a kolejność tych akcji powinna być odwrotna. Nawet jak transfer się zakończył i pliki się nie uszkodzą, to system plików będzie oznaczony jako niepoprawnie zamknięty. Także lepiej ręcznie odmontować zewnętrzne nośniki by uniknąć problemów.
Offline
Napisałem te reguły i działają od roku bodaj 2011, kiedy się udisk skichał.
Na pewno można lepiej i prościej, jak kiedyś kupię nowego pendraka, to obaczę nowsze sposoby.
Jak możesz to przepisać na lepsze i bardziej ekologiczne metody, to jest oczywiście mile widziane. xD
Offline
No tu masz przykład jak to działa:
ACTION=="add", KERNEL=="ttyUSB?", SUBSYSTEM=="tty", \ ENV{ID_VENDOR_ID}=="12d1", \ ENV{ID_MODEL_ID}=="15b6", \ ENV{ID_USB_INTERFACE_NUM}=="00", \ SYMLINK+="huawei-E3372-0", \ ENV{REMOVE_CMD}="/bin/systemctl stop gammu-smsd.service" , \ RUN+="/bin/systemctl start gammu-smsd.service"
Czyli po podpięciu modemu USB jest startowana usługa, a po odłączeniu modemu jest ubijana -- takie rozwiązanie ma jeszcze sens ale ten umount jest bez sensu. xD
Ostatnio edytowany przez morfik (2019-03-18 13:43:43)
Offline
Dzięki, jak będzie chwilka czasu, to się przerobi regułki.
EDIT:
Zrobione i działa ;)
ls -l /dev/pendrak* lrwxrwxrwx 1 root root 4 03-28 00:43 /dev/pendrak1 -> sdc1 lrwxrwxrwx 1 root root 4 03-28 00:43 /dev/pendrak2 -> sdc2
Regułki:
ACTION=="add", KERNEL=="sd?1", SUBSYSTEM=="tty", \ ENV{ID_SERIAL_SHORT}=="000FEAFB7AFEF921958F00ED", \ SYMLINK+="pendrak%n", \ ENV{REMOVE_CMD}="/bin/umount -f /media/Pendrak1 && /usr/local/bin/udevmess Pendrak odmontowany ;\)" , \ RUN+="/bin/mount -t vfat /dev/pendrak%n /media/Pendrak1 -o rw,sync,noexec,nosuid,nodev,shortname=mixed,uid=1001,gid=1001,umask=0077,utf8=1,showexec,flush" ACTION=="add", KERNEL=="sd?2", SUBSYSTEM=="tty", \ ENV{ID_SERIAL_SHORT}=="000FEAFB7AFEF921958F00ED", \ SYMLINK+="pendrak%n", \ ENV{REMOVE_CMD}="/bin/umount -f /media/Pendrak2" , \ RUN+="/bin/mount -t ext4 /dev/pendrak%n /media/Pendrak2 -o rw,sync,noexec,nosuid,nodev,shortname=mixed,uid=1001,gid=1001,umask=0077,utf8=1,showexec,flush"
Muszę tu jeszcze jakoś notify dokombinować, lepiej jako && polecenia czy jako druga regułka ENV{REMOVE_CMD} i RUN+?
Pozdro
Ostatnio edytowany przez Jacekalex (2019-03-28 00:49:48)
Offline
Dziękuję za liczny odzew. Mam jednak kilka pytań bo skrótów myślowych nie czytam. Co oznacza:
1. "No, sync po zakończonym transferze."
2. "cat /etc/udev/rules.d/99-pendrak.rules"
Mam stworzyć plik 99-pendrak.rules i wkleić do niego zawartość jak autor wskazuje?
jak to rozumiec? Podlaczam pena i w terminalu montować czy wywoływać plik 99-pendrak.rules? Czy może automatycznie się to będzie robić?
"Montuje z opcjami noexec, nosuid, nodev i oczywiście sync." tzn? Mogę prosić o przykład polecnia?
3. ostatnia odpowiedź też dla mnie jest niezrozumiała. Czy moge prosić o wyjaśnie jak to wykorzystywać.
Offline
No jak ci się skończy kopiować plik na pendrive, to wpisz sync w terminalu.
@Jacekalex -- no jeśli polecenia są zależne od siebie to && , jeśli nie to osobne RUN+ ale ENV{REMOVE_CMD} może być chyba tylko jeden.
Offline
Tylko mam kopiować przez manadzera plików a potem po skopiowaniu w terminalu wpisac sync? Czy kopiowac w terminamu przez mc lub cp i wtedy sync wpisac po skopiowaniu?
@Jacekalex -- nie rozumiem o co chodzi z tym kodem czy nalezy wkleic go do pliku/w terminal i uruchamiać skrypt po włożeniu pena?
Offline