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/.


Użytkownik



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





Cenzor wirtualnego świata

Użytkownik


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






Ojciec Założyciel
Odmontować urządzenie
Offline







Podobno człowiek...;)








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





Cenzor wirtualnego świata
@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







Podobno człowiek...;)








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





Cenzor wirtualnego świata
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







Podobno człowiek...;)








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


Użytkownik



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





Cenzor wirtualnego świata
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


Użytkownik



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