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/.
Aptitude nie odinstalowuje wszystkiego co samo wcześniej zainstalowało ?
Witam !
Przeprowadzałem niedawno wstępną konfigurację systemu Debian Wheezy. Wszystko działa ok, ale jedna rzecz nie daje mi spokoju. Pomyłkowo poleceniem:
aptitude install libgtk2.0-dev
zainstalowałem nie ten pakiet co trzeba "libgtk2.0-dev" [url=http://img508.imageshack.us/img508/6351/wrzuta1.png]screen1[/url], więc zaraz po zakończeniu instalacji wpisałem:
aptitude remove(albo purge) libgtk2.0-dev
[url=http://img32.imageshack.us/img32/3275/wrzuta2.png]screen2[/url]
I jak widać - przy instalacji aptitude zainstalowało 94pakietów (186MB) niezbędnych do działania, a przy odinstalowywaniu "libgtk2.0-dev" uwzględniło już tylko 52 (59,9MB). Czyli ~127MB dalej zalega na dysku. Mógłby ktoś wyjaśnić czym, to jest spowodowane ? Szukałem odpowiedzi w internecie, lecz nic nie znalazłem. Między wpisaniem poleceń nic innego nie instalowałem, używam tylko aptitude i jestem zadowolony z jego działania; ładnie rozwiązuje problemy z zależnościami itd..., lecz ta przypadłość powoduje u mnie dyskomfort psychiczny i lekki niesmak do tego narzędzia.
Mógłby mi ktoś opisać czemu tak działa ten mechanizm, czy to, po prostu zapętlające się zależności, czy jest jakiś konkretny powód ku temu ? A może wszystko jest ok ? Jak usuwać powstałe tak śmieci ? Można jakoś ustawić aptitude by tego nie instalował albo automatycznie usuwał ? Jestem laikiem w tych sprawach. http://img171.imageshack.us/img171/628/23807220.png Po co zatem ta opcja skoro i tak pakiety zainstalowane przez aptitude z automatu zostają ?
Pozdrawiam
Ostatnio edytowany przez dominbik (2011-08-19 16:06:17)
Offline
Pakiety które nie zostały usunięte są polecane przez inne pakiety już wcześniej zainstalowane w systemie (lub są ich zależnościami). To nie jest „przypadłość” aptitude, tak po prostu zachowuje się siatka zależności w Debianie. Pakiet nie zostanie automatycznie usunięty jeżeli jest bezpośrednią zależnością lub pakietem polecanym przez pakiety ze statusem zainstalowanych ręcznie (lub ich bezpośrednie zależności oraz zainstalowane pakiety polecane itd.).
Offline
Więc czy istnieje jakieś wyjście/ustawienie w opcjach by te pakiety aptitude automatycznie usunął lub wogóle ich nie instalował ? To w końcu 127MB. Czy muszę to wszystko teraz usuwać własnoręcznie ? Wam nie przeszkadzają takie pozostawione pakiety ?
Ostatnio edytowany przez dominbik (2011-08-19 16:27:04)
Offline
zainstaluj [deb]deborphan[/deb], powywala ci nieużywane pakiety bibliotek
Offline
Wrzuć:
APT::AutoRemove::RecommendsImportant "false";
do pliku [i]/etc/apt/apt.conf[/i]
Z tym wpisem nie powinien już trzymać polecanych tak jak zależności.
=====================
O i to jeszcze:
APT::AutoRemove::SuggestsImportant "false";
Jak wyżej, ale odnośnie sugerowanych. Wydawało mi się, że to domyślnie jest ustawione na „false”, ale jednak nie jest.
=====================
Jak już przy tym jesteśmy, to możesz od razu tam dorzucić:
APT::Install-Recommends "false"; APT::Install-Suggests "false";
Pierwsze żeby w ogóle nie instalował polecanych, a drugie żeby nie instalował sugerowanych.
Poza tym z wiersza poleceń dla aptitude:
• [tt]-r[/tt] — instaluj z polecanymi
• [tt]-R[/tt] — instaluj bez polecanych
===========================
[quote=/me]Wydawało mi się, że to domyślnie jest ustawione na „false”, ale jednak nie jest.[/quote]
[quote=APT changelog kilka tygodni temu]- change default of APT::AutoRemove::SuggestsImportant to true[/quote]
;)
Offline
Dzięki za profesjonalną pomoc. Tylko czy ten konfig /etc/apt/apt.conf działa dla aptitude ? Z tego co teraz testowałem w konsoli to wydaje mi się że nie. A staram się nie używać apt-get i nawet tego pliku tam nie miałem ;P Po stworzeniu pliku dobrze działa to dla apt-get. Zaraz postaram się napisać i dać screeny jak to wygląda z tym aptitude i apt-get.
Czekam na odpowiedź. Pozdrawiam
Ostatnio edytowany przez dominbik (2011-08-19 18:47:18)
Offline
Działa, u mnie działał przynajmniej jak teraz dzisiaj sprawdzałem. Zobacz samo:
aptitude install -s
[b]EDIT:[/b] Chyba że nadpisujesz ustawienia z [i]/etc/apt/apt.conf[/i] w pliku [i]/root/.aptitude/config[/i]. W takim przypadku nie będą działać, ponieważ dla aptitude opcje zdefiniowane w jego konfigu w katalogu domowym użytkownika (np. użytkownika root) mają pierwszeństwo.
==================
Żeby jeszcze bardziej zagmatwać, dodatkowo dostępne są też opcje tylko dla aptitude:
Aptitude::Keep-Recommends Aptitude::Keep-Suggests
A ta to już w ogóle kosmos:
Aptitude::Ignore-Recommends-Important
In previous versions of aptitude, the setting Aptitude::Recommends-Important caused recommendations to be installed automatically, the same way that Apt::Install-Recommends does today. If this option is set to false and Aptitude::Recommends-Important is also set to false, aptitude will set Apt::Install-Recommends to false and set Aptitude::Ignore-Recommends-Important to true on startup.[/quote]
:)
[img]http://svn.debianart.org/themes/generic/spinner/spinner48px-moreblue.png[/img]
Offline
EDIT: Gdzie można uzyskać takie informacje odnośnie narzędzia aptitude ?
http://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/ch02s04s05.html
Rzeczywiście jest dokładnie tak jak mówisz. W tym pliku mam już wpis wartości Apt::Install-Recommends "false"; który został pewnie wpisany przez Opcje>Preferencje w aptitude (zmieniłem opcję Automatyczna instalacja polecanych pakietów na false).
Mam tylko jeszcze jedną obiekcję;
Zastanawiam się tylko czy dopisać do tego pliku resztę tego co podałeś dla /etc/apt/apt.conf z tą samą składnią ? Czy może nie trzeba, aptitude to zignoruje lub niektórych wartości i tak nie obsłuży ? Zważam na to że w Opcje>Preferencje nie ma ustawień odnośnie tych wartości (jest tylko dla install-recommends) a zmiana tylko tej jednej opcji "Automatyczna instalacja polecanych pakietów" na false dała identyczny rezultat w zachowaniu aptitude przy instalacji pakietów jak apt-get z tym konfigiem, chodź może się mylę lub tylko przy instalacji to tak wygląda ? Załączam screeny po prawej pokazane czy była włączona ta opcja dla aptitude oraz czy był konfig /etc/apt/apt.conf
http://img59.imageshack.us/img59/7958/65918538.png aptitude z odznaczoną opcję (zmienione na false)
http://img155.imageshack.us/img155/3697/47938593.png aptitude z zaznaczoną opcją (true)
http://img689.imageshack.us/img689/3536/58397207.png apt-get z konfigiem
http://img204.imageshack.us/img204/4215/18874558.png apt-get bez konfigu
Pozdrawiam
Ostatnio edytowany przez dominbik (2011-08-20 11:30:03)
Offline
Wiesz ja to w ogóle mam [i]/root/.aptitude/config[/i] całkiem pusty. :) Ustawienia w [i]/etc/apt/apt.conf[/i] to nie są ustawienia dla apt-get, tylko są to ustawienia globalne. Dla mnie tak jest najczytelniej, ale to już każdy robi jak chce.
Odnośnie tego wątku w [i]/etc/apt/apt.conf[/i] mam obecnie:
APT::Install-Recommends "false"; APT::Install-Suggests "false"; APT::AutoRemove::RecommendsImportant "false"; APT::AutoRemove::SuggestsImportant "false";
Jest to respektowane zarówno przez apt-get jak i przez aptitude i tak chyba zostawię u siebie na stałe.
[quote=dominbik]Zważam na to że w Opcje>Preferencje nie ma ustawień odnośnie tych wartości[/quote]
Tam to w ogóle jest niewiele, więcej ustawień znajdziesz [url=http://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/ch02s04s05.html][u]tutaj[/u][/url], a to i tak nie wszystko.
Offline
aha. Dzięki wielkie za pomoc. Ten config działa dokładnie tak jak chcę. Mam jeszcze tylko dwa pytania;
Czy brak polecanych pakietów stwarza jakieś problemy w działaniu aplikacji ? Trzeba doinstalowywać potem i tak trochę tych pakietów ręcznie bo programy mają niepełną funkcjonalność ? Czy raczej to zjawisko nie występuje/jest marginalne ? Jestem laikiem w Linuxach i nie wiem czy mi się to opłaca. Chciałbym mieć kontrolę i brak takich śmieci w systemie jednak z drugiej strony przeraża mnie myśl gdybym połowę i tak musiał doinstalowywać ręcznie a potem kombinował jak to usuwać z automatu...
Ostatnio edytowany przez dominbik (2011-08-19 20:57:57)
Offline
[quote=dominbik]Trzeba doinstalowywać potem i tak trochę tych pakietów ręcznie bo programy mają niepełną funkcjonalność ?[/quote]
Mniej więcej o to właśnie w tym chodzi… że zacytuję samego siebie:
[quote=/me]Ani pakiety polecane ani sugerowane nie są niezbędne do prawidłowego działania instalowanego programu. Do prawidłowego działania wymagane są jedynie jego zależności. Pakiety polecane i sugerowane często rozszerzają funkcjonalność danego programu.
Domyślnie skonfigurowany aptitude zawsze podczas instalacji danego programu traktuje pakiety polecane tak, jakby były one jego zależnościami. Nie ma w tym nic złego, w końcu to deweloperzy poszczególnych programów decydują o tym, którym pakietom nadać status polecanych.[/quote]
http://dug.net.pl/tekst/85/aptitude___zarzadzanie_pakietami_z_wiersza_polecen/#polecane_i_sugerowane
Czyli przykładowo komunikator nie będzie posiadał zestawu wtyczek, odtwarzacz nie otworzy każdego formatu pliku, nie będziesz mógł czegoś rozpakować, nagrywać jakichś płyt itp. Jak nie instalujesz pakietów polecanych, to czasem będziesz musiał szukać funkcjonalności których potrzebujesz i sprawdzić z palca co dany program poleca/sugeruje i te pakiety dociągnąć. Za to unikniesz czasem absurdalnych powiązań jak np. instalacja pulseaudio wraz z openoffice. ;)
Offline
Rozumiem. Dzięki Wielkie za pomoc. Wiele się nauczyłem. Póki co zostanę bez instalacji pakietów polecanych, a gdyby było za dużo bawienia się to zmienię konfig na mniej więcej taki;
Apt::Install-Recommends "true"; Apt::Install-Suggests "false"; Apt::AutoRemove ""; Apt::AutoRemove::RecommendsImportant "true"; Apt::AutoRemove::SuggestsImportant "false";
który instaluje polecane pakiety lecz traktuje je jako zależności i później przy usuwaniu pakietu usuwa również i polecane nie zostawiając śmieci. Żałuje że nie widziałem tego artykułu wcześniej.
Pozdrawiam
Ostatnio edytowany przez dominbik (2011-08-19 21:57:46)
Offline
Kontynuując wątek "tuningu" aptitude chciałbym się dowiedzieć czy jest taka opcja, która będzie nakazywać aptitude instalowanie pakietów bez dołączanej dokumentacji. Taki ficzer jest w portage i daje sporo korzyści.
Offline
Nie ma.
Możesz spróbować zrobić z katalogu /usr/share/doc/ dowiązanie do /dev/null, ale robisz to na własną odpowiedzialność.
Offline
To inne pytanie -> Czy nieinstalowanie tych pakietów (-R czy inne linijki) nie rzutuje na "sprawności aplikacji"? Tzn. Mam obawy, że np. instalując z R ograniczamy nasz program; powiedzmy -> Instalujesz Wine bez Wine-gecko (paczka) i on później się dopytuje czy doinstalować (?) Czy raczej aplikacja "pójdzie bez obaw" z pełną funkcjonalnością?
Fervi
Offline
Pakiety polecane zazwyczaj rozszerzają funkcjonalność danego programu. A w jaki sposób rozszerzają i co konkretnie dany program/pakiet poleca (oraz sugeruje) zależy po prostu od deweloperów/opiekunów danego pakietu. Różnie to bywa…
[b]EDIT:[/b] O, na to samo odpowiadałem już w poście 11. ;)
Offline
Oczywiście że wpływa. Jeżeli nie zainstalujesz pakietu B, to pakiet A nie będzie mógł skorzystać z tych swoich funkcji, do których niezbędny jest mu pakiet B (np. Bibus nie będzie potrafił współpracować z LO Writerem bez zainstalowanego pakietu python-uno, który sam w sobie nie jest niezbędny ani LO Writerowi, ani Bibusowi). Niektóre programy wyświetlają komunikat co należy doinstalować aby uzyskać dostęp do danej funkcji, ale nie jest to regułą i zależy tylko od dobrej woli programistów.
Nie jest jednak możliwa taka sytuacja, aby zainstalować pakiet A bez wymaganego przez niego do działania pakietu B. Chyba że aptitude podasz flagi wymuszające pewne czynności (jak instalację pomimo niespełnionych zależności), no ale robisz to na własną odpowiedzialność.
Doczytaj w dokumentacji o [url=http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html#s-depends]relacjach pomiędzy pakietami w Debianie[/url].
Offline
Mam taką drobną wątpliwość apropos sposobu wciągania nowych pakietow przez aptitude:
jarski185@kompas:~$ sudo aptitude full-upgrade Następujące NOWE pakiety zostaną zainstalowane: dictionaries-common{a} myspell-de-de-oldspell{a}
Czy mogę jakoś uniknąc instalowania tego?
jarski185@kompas:~$ aptitude why myspell-de-de-oldspell i libwebkitgtk-1.0-0 Wymaga libenchant1c2a (>= 1.6) p libenchant1c2a Wymaga myspell-dictionary | aspell-dictionary | i spell-dictionary | hunspell-dictionary p myspell-de-de-oldspell Udostępnia myspell-dictionary
jarski185@kompas:~$ aptitude why dictionaries-common i libwebkitgtk-1.0-0 Wymaga libenchant1c2a (>= 1.6) p libenchant1c2a Wymaga myspell-dictionary | aspell-dictionary | ispel l-dictionary | hunspell-dictionary p hunspell-eu-es Udostępnia hunspell-dictionary p hunspell-eu-es Wymaga dictionaries-common (>= 1.1)
Offline
[quote=jarski185]
jarski185@kompas:~$ sudo aptitude full-upgrade Następujące NOWE pakiety zostaną zainstalowane: dictionaries-common{a} myspell-de-de-oldspell{a}
[/quote]
To jest całość?
Offline
No nie, nie sadziłem ze bedzie potrzebna calosc.
Następujące NOWE pakiety zostaną zainstalowane: dictionaries-common{a} myspell-de-de-oldspell{a} Następujące pakiety zostaną zaktualizowane: libenchant1c2a libexpat1 libexpat1-dev linux-libc-dev xserver-common xserver-xorg-core Następujące pakiety POLECANE przez inne NIE zostaną zainstalowane: enchant libgl1-mesa-dri 6 pakietów aktualizowanych, 2 instalowanych, 0 do usunięcia i 0 nie aktualizowanych. Do pobrania 5024 kB archiwów. Zajęte po rozpakowaniu: 2072 kB. Kontynuować? [T/n/?]
Offline
Zależności pakietu [deb]libenchant1c2a[/deb] zmieniły się w nowszej wersji — teraz wymaga jakiegoś słownika:
amidala / # apt-cache depends libenchant1c2a/testing |grep -i wymaga Wymaga: libaspell15 Wymaga: libc6 Wymaga: libgcc1 Wymaga: libglib2.0-0 Wymaga: libhunspell-1.3-0 Wymaga: libstdc++6 Wymaga: zlib1g
amidala / # apt-cache depends libenchant1c2a/unstable |grep -i wymaga Wymaga: libaspell15 Wymaga: libc6 Wymaga: libgcc1 Wymaga: libglib2.0-0 Wymaga: libhunspell-1.3-0 Wymaga: libstdc++6 Wymaga: zlib1g |Wymaga: <myspell-dictionary> |Wymaga: <aspell-dictionary> |Wymaga: <ispell-dictionary> Wymaga: <hunspell-dictionary>
Wciąga [i]myspell-de-de-oldspell[/i] bo jest pierwszy na liście po prostu, [i]myspell-de-de-oldspell[/i] natomiast wciąga [i]dictionaries-common[/i]. Raczej tego nie unikniesz jeżeli chcesz mieć nowszą wersję [i]libenchant1c2a[/i]. Zamiast [i]myspell-de-de-oldspell[/i] możesz zainstalować inny słownik, np. [i]myspell-pl[/i]…
… ostatecznie można podłożyć pusty pakiet.
Offline
O jakie fajne polecenie-zapamietam sobie. A jak podlozyc pusty pakiet? Mozesz coś wiecej zdradzic na ten temat?
Offline
via equivs: [url]dug.net.pl/tekst/154[/url]
Offline
O kurcze-swietna sprawa ten program. Zrobilem sobie takie fejki i zadzialalo ale teraz probuje mi jeszcze wciagnac pakiecik o wdziecznej nazwie
myspell-fr
Zrobilem fejka dla niego i full upgrade chce go tez aktualizowac , co sie niestety nie udaje.
Konczy sie zabawa w ten sposob:
Konfigurowanie myspell-fr (1.4-26) ... Error: update-dictcommon-hunspell not present or executable. Missing dependency on dictionaries-common? dpkg: błąd przetwarzania myspell-fr (--configure): podproces zainstalowany skrypt post-installation zwrócił kod błędu 1 dpkg: problemy z zależnościami uniemożliwiają skonfigurowanie libenchant1c2a: configured to not write apport reports libenchant1c2a zależy od myspell-dictionary | aspell-dictionary | ispell-dictionary | hunspell-dictionary; jednakże: Pakiet myspell-dictionary nie jest zainstalowany. Pakiet myspell-fr dostarcza myspell-dictionary, ale nie został jeszcze skonfigurowany. Pakiet aspell-dictionary nie jest zainstalowany. Pakiet aspell-pl dostarczający aspell-dictionary nie jest zainstalowany. Pakiet ispell-dictionary nie jest zainstalowany. Pakiet ipolish dostarczający ispell-dictionary nie jest zainstalowany. Pakiet hunspell-dictionary nie jest zainstalowany. Pakiet myspell-fr dostarcza hunspell-dictionary, ale nie został jeszcze skonfigurowany. dpkg: błąd przetwarzania libenchant1c2a (--configure): problemy z zależnościami - pozostawiony nieskonfigurowany Konfigurowanie linux-libc-dev (3.0.0-6) ... configured to not write apport reports Konfigurowanie xserver-common (2:1.11.1.902-1) ... Konfigurowanie xserver-xorg-core (2:1.11.1.902-1) ... Wystąpiły błędy podczas przetwarzania: myspell-fr libenchant1c2a localepurge: Disk space freed in /usr/share/locale: 0 KiB localepurge: Disk space freed in /usr/share/man: 0 KiB Total disk space freed by localepurge: 0 KiB E: Sub-process /usr/bin/dpkg returned an error code (1) W czasie instalacji wystąpiły problemy. Próba naprawy: Konfigurowanie myspell-fr (1.4-26) ... Error: update-dictcommon-hunspell not present or executable. Missing dependency on dictionaries-common? dpkg: błąd przetwarzania myspell-fr (--configure): podproces zainstalowany skrypt post-installation zwrócił kod błędu 1 dpkg: problemy z zależnościami uniemożliwiają skonfigurowanie libenchant1c2a: libenchant1c2a zależy od myspell-dictionary | aspell-dictionary | ispell-dictionary | hunspell-dictionary; jednakże: Pakiet myspell-dictionary nie jest zainstalowany. Pakiet myspell-fr dostarcza myspell-dictionary, ale nie został jeszcze skonfigurowany. Pakiet aspell-dictionary nie jest zainstalowany. Pakiet aspell-pl dostarczający aspell-dictionary nie jest zainstalowany. Pakiet ispell-dictionary nie jest zainstalowany. Pakiet ipolish dostarczający ispell-dictionary nie jest zainstalowany. Pakiet hunspell-dictionary nie jest zainstalowany. Pakiet myspell-fr dostarcza hunspell-dictionary, ale nie został jeszcze skonfigurowany. dpkg: błąd przetwarzania libenchant1c2a (--configure): problemy z zależnościami - pozostawiony nieskonfigurowany Wystąpiły błędy podczas przetwarzania: myspell-fr libenchant1c2a Bieżący status: 0 aktualizacji [-7].
Takze aby to zatrybilo jak nalezy musiałbym zrobić fejki dla wszystkich tych pakietow, prawda?
Ostatnio edytowany przez jarski185 (2011-11-02 20:58:30)
Offline
[quote=jarski185]Zrobilem sobie takie fejki i zadzialalo[/quote]
Jakich pakietów? Dla testu podłożyłem ten przykładowy [i]myspell-fr[/i] z taką zawartością:
Package: myspell-fr Version: 11:2+fake Provides: myspell-dictionary
I bangla.
amidala tmp # aptitude show myspell-fr Pakiet: myspell-fr Stan: zainstalowany Zainstalowany automatycznie: nie Wersja: 11:2+fake Priorytet: opcjonalny Sekcja: misc Opiekun: root <root@amidala> Rozmiar rozpakowanego: 26,6 k Udostępnia: myspell-dictionary Opis: Dummy package to fulfill package dependencies This is a dummy package that makes Debian's package management system believe that equivalents to packages on which other packages depend on are actually installed. Deinstallation of this package is only possible when all pending dependency issues are properly resolved in some other way. Please note that this is a crude hack and if thoughtlessly used might possibly do damage to your packaging system. And please note as well that using it is not the recommended way of dealing with broken dependencies. It is better to file a bug report.
Offline
Time (s) | Query |
---|---|
0.00015 | SET CHARSET latin2 |
0.00008 | SET NAMES latin2 |
0.00133 | 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.16.51.237' WHERE u.id=1 |
0.00083 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.16.51.237', 1732285807) |
0.00071 | SELECT * FROM punbb_online WHERE logged<1732285507 |
0.00061 | SELECT topic_id FROM punbb_posts WHERE id=179704 |
0.00006 | SELECT id FROM punbb_posts WHERE topic_id=19553 ORDER BY posted |
0.00079 | 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=19553 AND t.moved_to IS NULL |
0.00009 | SELECT search_for, replace_with FROM punbb_censoring |
0.00167 | 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=19553 ORDER BY p.id LIMIT 0,25 |
0.00109 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=19553 |
Total query time: 0.00741 s |