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 [b]&& polecenia[/b] czy jako druga regułka [b]ENV{REMOVE_CMD}[/b] i [b]RUN+[/b]?
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
Time (s) | Query |
---|---|
0.00013 | SET CHARSET latin2 |
0.00009 | SET NAMES latin2 |
0.00181 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.117.154.237' WHERE u.id=1 |
0.00096 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.117.154.237', 1725755801) |
0.00071 | SELECT * FROM punbb_online WHERE logged<1725755501 |
0.00087 | SELECT topic_id FROM punbb_posts WHERE id=323302 |
0.00151 | SELECT id FROM punbb_posts WHERE topic_id=30870 ORDER BY posted |
0.00095 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=30870 AND t.moved_to IS NULL |
0.00018 | SELECT search_for, replace_with FROM punbb_censoring |
0.00114 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=30870 ORDER BY p.id LIMIT 0,25 |
0.00091 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=30870 |
Total query time: 0.00926 s |