Portál AbcLinuxu, 16. července 2025 05:38


Dotaz: umount /usr device busy - otevrene /usr/lib/locale/...

4.7.2005 10:03 milan.slavik
umount /usr device busy - otevrene /usr/lib/locale/...
Přečteno: 115×
Odpovědět | Admin
Ahoj, nainstaloval jsem si Ubuntu Hoary Hedgedog a mam nasledujici problem: /usr mam na zvlastni partition a pri ukonceni systemu nejde unmountovat. umount zahlasi device busy a smula. Logicky to ma za nasledek, ze se obcas stane, ze filesystem skonci v nekonzistentnim stavu. Zkousel jsem umount i rucne po rucnim povypinani vsech sluzeb, ale stale to neslo. Nakonec jsem pomoci lsof a strace dosel k tomu, ze to pravdepodobne zpusobuje samotny umount, ktery si otevre /usr/lib/locale/locale-archive a i dalsi soubory odtamtud. Zkousel jsem dat export LC_LANG=C, unset LC_LANG, unset LANGUAGE ale nic z toho nepomohlo. Mozna, ze si pristup do /usr/lib/locale vynuti samotny bash, ve kterem bezi ten /etc/init.d/umountfs? Nema nekdo zkusenost s timto chovanim? Potreboval bych poradit jak to nastavit (upravit skript umountfs?), aby sel /usr umountovat? Prijde mi to jako pomerne bezna vec, mit /usr samostatne. Diky moc za jakoukoliv radu.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.7.2005 10:36 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: umount /usr device busy - otevrene /usr/lib/locale/...
Odpovědět | | Sbalit | Link | Blokovat | Admin
Po
unset LANG ${!LC_*}
se ten soubor už nic otevírat nepokouší. Zbývá nicméně shell, ve kterém jsi ten unset provedl. Ten by snad mohl execnout skutečný skript... což je ale mírně trhlé, neměl by to řešit halt/shutdown/...?
4.7.2005 11:15 milan.slavik
Rozbalit Rozbalit vše Re: umount /usr device busy - otevrene /usr/lib/locale/...
Odpovědět | | Sbalit | Link | Blokovat | Admin
Takze potvrzeno, podarilo se mi to nasimulovat. Pokud z /etc/environment vyhodim cely obsah (nastaveni locales), pak vse funguje jak ma (ovsem se vsemi dusledky chybejicich locales). Takze hlavni problem je v tom, ze si spusteny bash, ktery vyrizuje rc skript drzi otevreny /usr/lib/locale/locale-archive. Jenze jak se mam ja vecpat nekam mezi init a jim spoustene skripty a tam tomu jednomu locales zakazat? Jak to resi jine distribuce, prece mit oddeleny /usr neni tak vyjimecna zalezitost, ne?
4.7.2005 20:32 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: umount /usr device busy - otevrene /usr/lib/locale/...
Zbavit se v shellovém skriptu otevřeného /usr/lib/locale/locale-archive je docela snadné, jak demonstruje tento skriptík:
#!/bin/sh
/usr/sbin/lsof -p $$
echo
if [ -n "$LANG" -o -n "${!LC_*}" ]; then
    unset LANG ${!LC_*}
    exec sh "$0" "$@"
fi
Ale spíš bych viděl jako problém, že se tam nějaké nastavení locale vůbec vecpe.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.