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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2012-02-04 18:31:36

  tdkwro - Użytkownik

tdkwro
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2009-03-12

dpkg bład parsowania

Kod:

Linux debian 2.6.32-5-686 #1 SMP Wed Jan 12 04:01:41 UTC 2011 i686 GNU/Linux

Kod:

0 pakietów aktualizowanych, 1 instalowanych, 0 do usunięcia i 292 nie aktualizowanych.
Do pobrania 0 B/2173 kB archiwów. Zajęte po rozpakowaniu: 6603 kB.
dpkg: błąd parsowania, w pliku "/var/lib/dpkg/available" niedaleko linii 7620
 brakujący package name
E: Sub-process /usr/bin/dpkg returned an error code (2)
W czasie instalacji wystąpiły problemy. Próba naprawy:
dpkg: błąd parsowania, w pliku "/var/lib/dpkg/available" niedaleko linii 7620
 brakujący package name

Offline

 

#2  2012-02-04 18:57:40

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: dpkg bład parsowania

Odnośnie tego problemu, jak już w innym wątku padło:

Kod:

dpkg --clear-avail

(to tak jakby ktoś przypadkiem tutaj trafił w poszukiwaniu rozwiązania)

BTW, coś podejrzanie dużo masz tych wiszących aktualizacji jak na wersję stable.


[img]http://svn.debianart.org/themes/generic/spinner/spinner48px-moreblue.png[/img]

Offline

 

#3  2012-02-04 19:01:55

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Brno, Česko
Zarejestrowany: 2007-12-22
Serwis

Re: dpkg bład parsowania

Ja bym zaczął od:

Kod:

mv /var/lib/dpkg/available /var/lib/dpkg/available-stare
apt-get/aptitude update

Jeżeli update się nie powiedzie z jakiegoś powodu, to przywracasz available-stare w miejsce available.

Jeżeli się powiedzie, to powinieneś mieć nowy plik available — przypuszczalnie już bez tego błędu.


Spinnen Essen: [url=http://fluxboxpl.org/portal/]FluxboxPL[/url] [url=http://przepis-na-lo.pl/]Przepis na LibreOffice[/url]

Offline

 

#4  2012-02-04 19:05:29

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: dpkg bład parsowania

[b]Minio[/b]: [tt]dpkg --clear-avail[/tt] właśnie to robi. Przenosi /var/lib/dpkg/available na /var/lib/dpkg/available-old i tworzy pusty.


[img]http://svn.debianart.org/themes/generic/spinner/spinner48px-moreblue.png[/img]

Offline

 

#5  2012-02-04 19:19:23

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Brno, Česko
Zarejestrowany: 2007-12-22
Serwis

Re: dpkg bład parsowania

[b]ArnVaker[/b]: kiedy pisałem swoją wiadomość, Twojej jeszcze tutaj nie było (a tej w drugim wątku nie czytałem). W dpkg korzystam tylko z opcji -l, -L i -S, więc o --clear-avail nawet nie wiedziałem ;) .


Spinnen Essen: [url=http://fluxboxpl.org/portal/]FluxboxPL[/url] [url=http://przepis-na-lo.pl/]Przepis na LibreOffice[/url]

Offline

 

#6  2012-02-04 19:33:45

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: dpkg bład parsowania

A tak swoją drogą, to ten plik chyba do niczego szczególnego nie jest przydatny. W manie wspominają coś, że dselect tego używa, ale kto używa dselect? :) Mój ważył około 1M, jak go zaktualizowałem w ten sposób (nie wiem czy jest na to jakaś lepsza metoda):

Kod:

dpkg --clear-avail
for packages in /var/lib/apt/lists/*Packages ; do dpkg --merge-avail $packages ; done

To waży teraz 27M, zatem wcześniej mało co tam nawet było w nim.


[img]http://svn.debianart.org/themes/generic/spinner/spinner48px-moreblue.png[/img]

Offline

 

#7  2012-02-04 20:21:58

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Brno, Česko
Zarejestrowany: 2007-12-22
Serwis

Re: dpkg bład parsowania

Nie wiem czy przeglądałeś polsko- czy angielskojęzyczną stronę man. W tej drugiej piszą wprost:

A  simpler one-shot command to retrieve and update the available file is dselect update. Note that this file is mostly useless if you
              don't use dselect but an APT-based frontend: APT has its own system to keep track of available packages.[/quote]
Z tego co widzę, to:

- apt przechowuje informacje w pliku [tt]/var/cache/apt/pkgcache.bin[/tt]. To jakiś ich autorski format bazy danych, [tt]file[/tt] mówi tylko że to plik z danymi. Można sobie w źródłach APT zobaczyć jak go odczytują — plik [tt]apt-pkg/pkgcache.cc[/tt]. Odsyłają tam też do dokumentacji, której ja zlokalizować nie potrafię (chyba zdążyli ją usunąć, ale zapomnieli usunąć też odpowiedni komentarz).

- bez wywoływania [tt]dselect update[/tt] czy ręcznego łączenia plików Packages, dpkg w pliku available przechowuje informacje o wszystkich pakietach, które kiedykolwiek były zainstalowane. Wnioskuję po:
a)

Kod:

$ dpkg -l |grep -c '^ii'
1536
$ grep -c 'Package: ' /var/lib/dpkg/available 
2611

b) w available mam wpis dotyczący kernela w odmianie liquorix, a będzie grubo ponad rok, jak repozytorium liquorix nie mam w sources.list.

Wychodzi na to, że ten plik nie jest szczególnie często wykorzystywany, ale dpkg manipuluje nim w trakcie instalacji oprogramowania. Gdy zauważy, że jest on źle sformatowany, wypluwa błąd.


Spinnen Essen: [url=http://fluxboxpl.org/portal/]FluxboxPL[/url] [url=http://przepis-na-lo.pl/]Przepis na LibreOffice[/url]

Offline

 

#8  2012-02-04 20:44:01

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: dpkg bład parsowania

A  simpler one-shot command to retrieve and update the available file is dselect update.[/quote]
Też to widziałem, ale ja nie mam dselect.

[quote=Minio]Wychodzi na to, że ten plik nie jest szczególnie często wykorzystywany, ale dpkg manipuluje nim w trakcie instalacji oprogramowania. Gdy zauważy, że jest on źle sformatowany, wypluwa błąd.[/quote]
Waśnie zastanawiałem się co tam trafia do niego normalnie i w jakich okolicznościach jest aktualizowany. :)

Anyway, rozwiązanie wciąż to samo:

Kod:

dpkg --clear-avail

Za to teraz więcej wiemy na temat czym to ustrojstwo jest… I że nie warto się nim przejmować.


[img]http://svn.debianart.org/themes/generic/spinner/spinner48px-moreblue.png[/img]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.009 seconds, 10 queries executed ]

Informacje debugowania

Time (s) Query
0.00013 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00082 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='3.144.131.62' WHERE u.id=1
0.00161 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.144.131.62', 1716324680)
0.00032 SELECT * FROM punbb_online WHERE logged<1716324380
0.00072 DELETE FROM punbb_online WHERE ident='185.191.171.11'
0.00034 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=20581 AND t.moved_to IS NULL
0.00052 SELECT search_for, replace_with FROM punbb_censoring
0.00119 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=20581 ORDER BY p.id LIMIT 0,25
0.00091 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=20581
Total query time: 0.0066 s