Fórum Root.cz
Hlavní témata => Software => Téma založeno: Bubo 12. 06. 2016, 13:49:25
-
Naskenoval som si dokument a ulozil na server. Debian - Samba. Neskor som chcel dokument presunut na ine miesto ale zistil som, ze to jednoducho nejde a nie je mozne ho ani zmazat. Nazov dokumnetu je 2016-06-12 13.50.00.jpg.
Skusal som co som nasiel na nete ale neuspel som.
Napr rm -rf "2016-06-12 13.50.00.jpg" skonci s chybou Input/output error.
Vie niekto poradit? Dakujem
-
Tečky v názvu ničemu nevadí. Parametry -r a -f jste u rm použil úplně zbytečně ¨když nevíte, co dělají, tak je nepoužívejte. Input/output error vypadá spíš na problém s diskem, lepší by bylo, kdybyste sem vložil přesnou chybovou hlášku. Každopádně problém s „divnými“ znaky v názvu (může to být např. pevná mezera nebo pomlčka místo spojovníku) vyřešíte nejjednodušeji tak, že necháte název doplnit shell – on už se o správné escapování postará. Takže zadejte
rm 2016-06-12<Tab>
a shell vám název souboru doplní, nebo nabídne varianty. Pokud by nedoplnil nic, je špatně už ten začátek názvu, asi tam místo spojovníků budou jiné znaky. Pak zkuste tabulátor už po tom „2016“.
-
A mate na ten soubor prava pod userem, pod kterym ho chcete smazat?
-
Subor je s pravami -rwxrwxrwx, chybove hlasenie je:
rm "2016-06-12 13.50.00.jpg"
rm: can't remove '"2016-06-12 13.50.00.jpg"': Input/output error
disk som kontroloval, je v poriadku.
-
Este som zabudol, s rm 2016-06-12<Tab> doplni shell toto rm 2016-06-12\ 17.01.34.jpg
a nasleduje chybove hlasenie:
rm: cannot remove '2016-06-12 17.01.34.jpg': No such file or directory.
-
Co o tom vase souboru rika lsattr?
-
Stojíš ve stejné složce jako je soubor? Co vypíše pwd? Co když příkazu rm zadáš absolutní cestu?
-
Pro smazání souboru nejsou podstatná práva na tom souboru, ale je potřeba právo zápisu do nadřazeného adresáře.
Každopádně „input/output error“ ukazuje na problém se souborovým systémem nebo hardwarem. Co je to za souborový systém? Mažete to přímo na tom serveru, nebo to máte třeba přes Sambu připojené na vzdálený počítač? Když se to pokusíte smazat a vypíše to tuhle chybu, neobjeví se něco v logu výpisů z jádra (dmesg)?
-
A což takhle:
rm "2016-06-12\ 13.50.00.jpg"
-
http://linuxg.net/how-to-remove-files-by-their-inode/
-
Jeste zbyva http://linuxg.net/how-to-remove-files-by-formatting-the-disk/
-
Este som zabudol, s rm 2016-06-12<Tab> doplni shell toto rm 2016-06-12\ 17.01.34.jpg
a nasleduje chybove hlasenie:
rm: cannot remove '2016-06-12 17.01.34.jpg': No such file or directory.
Shell tu mezeru escapoval správně. Jste si opravdu jist, že tam ten soubor je?
Co se stane, když se na něj podíváte a pokusíte ho smazat pomocí mc?
-
Este som zabudol, s rm 2016-06-12<Tab> doplni shell toto rm 2016-06-12\ 17.01.34.jpg
a nasleduje chybove hlasenie:
rm: cannot remove '2016-06-12 17.01.34.jpg': No such file or directory.
Shell tu mezeru escapoval správně. Jste si opravdu jist, že tam ten soubor je?
Co se stane, když se na něj podíváte a pokusíte ho smazat pomocí mc?
Navíc je to jiný soubor, než který Bubo uváděl dříve.
Celé je to nějaké podivné, tazatel se soustředil na tečku a mezeru v názvu, a k tomu poskytl relevantní informace. Ale v tečce a mezeře problém evidentně není, problém je v něčem jiném, a abychom dokázali poradit, potřebujeme znát širší kontext – jak k souborům Bubo přistupuje (je to lokální systém nebo nějaký síťový disk), jak je to s právy, zda něco nehlásí do logu jádro…
-
i/o error delal naboreny btrfs, co to je za fs?
udelal bych kotrolu fs, coz zrovna s tim btrfs moc nejde
a v dmesg nic neni?
-
A což takhle:
rm "2016-06-12\ 13.50.00.jpg"
btw: escapovana mezere nevyzaduje uzavreni do uvozovek, naopak pri uzavreni do uvozovek rikas ze to neni escapovana mezera ale regulerni znak, tedy: rm "2016-06-12\ 13.50.00.jpg" mu zahlasi soubor neexistuje
-
Padla otázka: "co na to říká lsattr"
Tak ještě jednou pošli výpis "#lsattr 2016-06-12 13.50.00.jpg" ať víme, že tudy cesta nevede nebo naopak.
-
Padla otázka: "co na to říká lsattr"
Tak ještě jednou pošli výpis "#lsattr 2016-06-12 13.50.00.jpg" ať víme, že tudy cesta nevede nebo naopak.
Dakujem za snahu, nemal som nervy na jeden subor - vsetko som zazalohoval, naformatoval a znovu nakopiroval.
Ospravedlnujem sa a este raz dakujem za snahu o pomoc.
-
Aha, takze prece jenom http://linuxg.net/how-to-remove-files-by-formatting-the-disk/. To se vyplati.
-
Dakujem za snahu, nemal som nervy na jeden subor - vsetko som zazalohoval, naformatoval a znovu nakopiroval.
Ospravedlnujem sa a este raz dakujem za snahu o pomoc.
Pokud to byla hardwarová chyba (jako že tomu vše nasvědčuje, není důvod, aby jeden soubor z mnoha nějakým záhadným způsobem získal třeba na ext4 atribut „i“), možná jste právě vyrazil na cestu ke ztrátě dat. Opravdu bych nechal udělat podrobný SMART test disku, ať na případný problém přijdete, dokud máte data zazálohovaná. A obecně je dobré zálohovat průběžně, ne jen když potřebujete zformátovat disk.
-
Nie je to ziadna HW chyba,je to bezne spravanie ked ma subor v nazve medzery..
Spravne riesenie uz bolo napisane (napriklad): rm 2016-06-12\ 13.50.00.jpg
-
Nie je to ziadna HW chyba,je to bezne spravanie ked ma subor v nazve medzery..
Proč píšete takové bludy? „input/output error“ je chyba, která obvykle znamená chybu souborového systému, která nejčastěji bude způsobená problémem s hardwarem. rm vůbec nezajímá, zda má soubor v názvu mezery – prostě dostane název souboru ke smazání, a ten soubor buď existuje nebo neexistuje. Když někdo neumí správně předat jako parametr název souboru s mezerami, předá název neexistujícího souboru a rm napíše chybu, že soubor nelze smazat, protože neexistuje (když bude mít dotyčný smůlu, trefí se tím svým názvem do jiného souboru/ů nebo adresáře/ů – a když úplně zbytečně použije parametry -r -f, může být docela veselo).
Spravne riesenie uz bolo napisane
Ano, správné řešení už jsem nejen já napsal, psal jsem i to, že v shellu je nejsnazší tabulátorem si nechat ten správný název doplnit. Ale ukázalo se, že primární problém u tazatele nebyl v té mezeře v názvu souboru, ale v nějaké chybě souborového systému nebo hardware.
-
Nie je to ziadna HW chyba,je to bezne spravanie ked ma subor v nazve medzery..
Ani moc ne. Když zadáte takový název souboru bez ošetření mezer apod., příkaz ten soubor jednoduše nenajde (nebo s trochou smůlu smaže něco, co jste nechtěl). I/O error je jasná chyba při mazání souboru, který příkaz sice našel, ale při jeho mazání došlo k chybě (HW, FS...)