Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: aapo - 24.10.09 - klo:22.36
-
Käytössä karmic alfa, yritin päivittää karmic RC:hen apt-get update+upgrade.
Latas paketit ja rupes niitä asentemaan, kunnes rupes tulemaan virhettä joka paketista:
No apport report written because MaxReports is reached already
gconftool-2: relocation error: /lib/libglib-2.0.so.0: symbol __abort_msg, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference
Virheet tuli jostain gnome-paketeista ja totesin, että voihan tuosta gnomesta nyt luopua ja sitten myöhemmin katsoa saisko sen takas. Sain aika monta pakettia poistettua kunnes alkoi taas sama herja, eikä paketti siis silloin poistu. Aptitudella yritin kanssa, mutta samaan virheeseen keskeytyy.
Ongelma ollut jollakin toisella, mutta harmi kyllä kieli ei taivu, niin en tiedä onko ratkennut vai ei.
http://forum.ubuntu.org.cn/viewtopic.php?f=49&p=1474175
Ja tuolla ilman vastausta:
http://forum.ubuntu.pl/showthread.php?p=647488
apt-get antaa myös tällaista virhettä:
Virhe, pkgProblemResolver::Resolve tuotti katkoja, syynä voi olla pysytetyt paketit.
Mitäs muita loitsuja vielä löytys
sudo apt-get install -f
sudo aptitude install -f
sudo apt-get remove -f
sudo aptitude remove -f
sudo dpkg --configure -a
sudo dpkg-reconfigure -a
--Edit--
Ja tähän se ratkaisu.
libglib2.0-0 ja libc6 eivät tykänneet toisistaan ja paketit asentuessaan mitään sanomatta vaihtoivat kirjastojen versioita.
Molemmista kun oli uusi ja vanha versio, niin yhdistelmiä ei tule kuin neljä. Merkataan kirjastot, ettei niitä saa muuttaa ja katsotaan mitkä paketit aina korjaantuvat millä yhdistelmällä.
sudo dpkg -i /var/cache/apt/archives/libglib2.0-0VERSIO.deb
echo “libglib2.0-0 hold” |sudo dpkg --set-selections
sudo dpkg -i /var/cache/apt/archives/libc6-VERSIO.deb
echo “libc6 hold” |sudo dpkg --set-selections
(holdin tilalle install, sitten kun sen vapauttaa)
Ja sitten tällä yhdistelmällä
sudo apt-get install -f
sudo apt-get autoremove -f
sudo dpkg --configure -a
Jos tuli jostakin paketista, että liian solmussa, niin tällaisella:
sudo dpkg -i /var/cache/apt/archives/NIMI_JA_VERSIO.deb
sudo dpkg -r NIMI
Asentaminen siis tosiaan sillä deb-paketilla, eikä sen tarvitse todellakaan mennä läpi, sillä voi olla vaikka mitä riippuvuuksia ja ristiriitoja. Poistaminen sitten paketin nimen mukaan.
-
Mikä on se itse ongelma? Alpha ja beta on sellaisia että
virheet täytyy hyväksyä... virheet on osa sitä maailmaa.
Mikä tökkii käytännössä? Joku muu kuin vain nuo päivitysherjat?
edit. korjattu paremmaksi.
-
Jos kysymys on rikkinäisistä paketeista, niin voit kokeilla. Järjestelmä --> Ylläpito --> Synaptic-pakettienhallinta --> Muut suotimet --> Rikki --> Tai Muokkaa --> Rikkinäiset paketit.
-
Kyllä, kyse on testiversion ongelmasta, mutta voiko tämä tapahtua myös varsinaisessa versiossa (bugiraportti?) ja toisaalta olisihan tuo kiva saada kone vielä käyttökuntoon.
Järjestelmä ehti ladata kaikki uudet paketit ja niistä nipun jo asentaa, ja vielä isomman poistaa. Primaariongelma on, että pakettienhallinta ei nyt toimi, kun seassa on rikkinäisiä paketteja, joihin ei voi puuttua kun
gconftool-2: relocation error: /lib/libglib-2.0.so.0: symbol __abort_msg, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference
Sekundaariongelma on, että X ei käynnisty kun siinä on muutama rikkinäinen / päivitys kesken paketti.
Aptitudella näen kyllä rikkinäiset paketit, mutta en voi tehdä niille mitään.
-
Mitä tuo virhe oikeastaan sanoo? gconftool-2 (GNOME configuration tool) on se joka virheen huomaa. Miksi tuota ajetaan kun asennan/poistan paketteja? Voiko sen kytkeä pois päältä?
Sitten jotakin libglib-2.0.so.0 ja __abort_msg
Varsinainen virhe on puuttuva määritelmä "GLIBC_PRIVATE", jota se etsii libc.so.6. Onko tämä normaalia, pitäisikö sillä olla tällainen? Onko siis libc.so.6 rikki?
Puhdas asennus on helppo ratkaisu, mutta etsin virheen syytä.
(OffTopic: Tarkkaan ottaen puhdas asennus ei ole helppo, koska kyse on läppäristä, jossa ei ole usbia/cd-asemaa/muistikorttipaikkoja. Kiintolevyn siirto toimii)
-
Nyt menee ihan arvailuksi. Auttaisivatko seuraavat komennot
apt-cache policy libc6
apt-cache policy libglib2.0-0
näillä näet versiot paketeista. Minulla löytyy versiot 2.10.1-0ubuntu15 ja 2.22.2-0ubuntu1. Versiot voisivat auttaa ongelman selvittämistä.
sudo dpkg --configure libc6
sudo dpkg --configure libglib2.0-0
Näillä voi asettaa noiden luultavasti ongelmallisten pakettien asetukset, jos sitä ei ole vielä tehty.
-
Ihan samat versiot.
libc6 2.10.1-0ubuntu15
libglib2.0-0 2.22.2-0ubuntu1
sudo dpkg --configure libc6
sudo dpkg --configure libglib2.0-0
-> paketti on jo asennettu ja sen asetukset on asetettu
Sitä vastoin
sudo dpkg --configure gconf2
onnistui, mutta ongelma ei silti korjaantunut.
-
Montako pakettia arvioit olevan rikki? Jos niitä on kovin vähän, voit kokeilla konfiguroida niitä yksitellen kuntoon. Teit sen jo paketille gconf2. Ikävää tässä on, että joutuu arvailemaan riippuvuuksia. Jossain vaiheessa dpkg --configure -a
saattaa alkaa toimimaan taas.
-
dpkg --configure -a
Lähti vetämään, osa paketeista valittaa riippuvuuksista, osa taasen tuota symbol __abort_msg, version GLIBC_PRIVATE, josta tässä nyt oikeastaan on eniten kyse. Jossain vaiheessa keskeytyy kun tulee liikaa virheitä, ajoin vain uudestaan, kunnes sain samaa listaa paketeista, joille ei voi tehdä mitään.
->51 rikkinäistä pakettia ja kaikkien nimet ylhäällä, jospa heitän kaikki pois, ainahan ne saa takas.
-
Jos on jotain lib alkuisia paketteja rikki, nämä kirjastot voisi yrittää konfiguroida aluksi kuntoon. Lisäksi voisi varmistaa, että paketit gconf2-common, gconf-defaults-service ja gconf-editor ovat kunnossa. Listaa voisi jatkaa dpkg ja apt paketeilla.
Tuo 51 pakettia on ikävän paljon. En tiedä onko helpompaa poistella niitä vai yrittää korjata niitä dpkg:lla. Ylläpidon kannalta tärkeitä paketteja ei voi edes järkevästi poistaa.
-
Nyt tais lähtee purkaantumaan. Eli kaikki lähti upgradesta, joten /var/cache/apt/archives sisälsi yli 2000debiä, joista valita. Sieltä löyty vanhempi versio libglibistä, jonka sain dpkg:lla asennettua, eikä enää näy sitä ensimmäistä virhettä, eli nyt on 'ihan tavallinen paketit rikki tapaus'.