# "revdep-rebuild"-vraag

## hennep

revdep-rebuild geeft onderstaande uitvoer. 3 files zijn "broken", hoe kan ik dat oplossen?

Er zijn geen programma's die daar problemen mee hebben maar ik zou toch graag willen dat alles juist is gecompileerd.

```
# revdep-rebuild -X

Configuring search environment for revdep-rebuild

Checking reverse dependencies...

Packages containing binaries and libraries broken by a package update

will be emerged.

Collecting system binaries and libraries... done.

  (/root/.revdep-rebuild.1_files)

Collecting complete LD_LIBRARY_PATH... done.

  (/root/.revdep-rebuild.2_ldpath)

Checking dynamic linking consistency...

  broken /usr/lib/libpoppler.la (requires /usr/lib/libfontconfig.la)

  broken /usr/lib/libpoppler.la (requires /usr/lib/libfreetype.la)

  broken /usr/lib/libtunepimp.la (requires /usr/lib/libmad.la)

 done.

  (/root/.revdep-rebuild.3_rebuild)

Assigning files to packages...

  *** /usr/lib/libpoppler.la not owned by any package is broken! ***

  /usr/lib/libpoppler.la -> (none)

  *** /usr/lib/libpoppler.la not owned by any package is broken! ***

  /usr/lib/libpoppler.la -> (none)

  *** /usr/lib/libtunepimp.la not owned by any package is broken! ***

  /usr/lib/libtunepimp.la -> (none)

 done.

  (/root/.revdep-rebuild.4_packages_raw, /root/.revdep-rebuild.4_package_owners)

Cleaning list of packages to rebuild... done.

  (/root/.revdep-rebuild.4_packages)

Assigning packages to ebuilds... Nothing to rebuild

Evaluating package order... done.

  (/root/.revdep-rebuild.5_order)

Dynamic linking on your system is consistent... All done.

```

----------

## garo

Dat heb ik nog nooit gekregen...

Aan de uitvoer te zien heb je ooit packages verwijderd waarvan /usr/lib/libtunepimp.la en /usr/lib/libpoppler.la een onderdeel waren, maar zijn die 2 bestanden vreemd genoeg blijven staan. Als ik het volgende draai:

```
equery belongs /usr/lib/libtunepimp.la /usr/lib/libpoppler.la
```

zie ik dat deze packages "app-text/poppler" en "media-libs/tunepimp" zijn.

Wat ik zou doen is deze opnieuw installeren met de "-1" optie zodat dit niet wordt onthouden, terug wegvegen en dan alles is updaten:

```
emerge -1 app-text/poppler media-libs/tunepimp ; emerge -C app-text/poppler media-libs/tunepimp ; emerge -NDvu world ; revdep-rebuild
```

----------

## nixnut

Controleren of poppler en tunepimp geinstalleerd zijn. Als dat het geval is opnieuw emergen; als dat niet het geval is de overgebleven files verwijderen.

----------

## hennep

Waarschijnlijk hebben deze programma's ooit op de pc gestaan. Ik gebruik deze computer nu alleen als server dus ik heb er veel afgegooid.

 *garo wrote:*   

> 
> 
> Wat ik zou doen is deze opnieuw installeren met de "-1" optie zodat dit niet wordt onthouden, terug wegvegen en dan alles is updaten:
> 
> ```
> ...

 

Dit zou een optie zijn als het alleen om deze twee packages gaat, maar zie de output van: "emerge -1p app-text/poppler media-libs/tunepimp"

Wat blijft er nog meer achter als ik dit alles ga installeren?

```
These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild  N    ] media-libs/freetype-2.1.10-r2  USE="zlib -bindist -doc"

[ebuild  N    ] net-misc/curl-7.15.1-r1  USE="ssl -ares -gnutls -idn -ipv6 -kerberos -krb4 -ldap -test"

[ebuild  N    ] media-libs/libmad-0.15.1b-r2  USE="-debug"

[ebuild  N    ] sci-libs/fftw-3.0.1-r2  USE="-3dnow (-altivec) -mpi -sse -sse2"

[ebuild  N    ] media-libs/musicbrainz-2.1.4

[ebuild  N    ] media-libs/flac-1.1.2-r8  USE="-3dnow -debug -doc -ogg -sse"

[ebuild  N    ] media-libs/libogg-1.1.3

[ebuild  N    ] media-libs/fontconfig-2.4.2  USE="xml -doc"

[ebuild  N    ] media-libs/libofa-0.9.3

[ebuild  N    ] media-libs/libvorbis-1.1.2  USE="-aotuv"

[ebuild  N    ] app-text/poppler-0.5.4-r1  USE="jpeg zlib -cjk"

[ebuild  N    ] media-libs/tunepimp-0.5.2  USE="-python"
```

 *nixnut wrote:*   

> Controleren of poppler en tunepimp geinstalleerd zijn. Als dat het geval is opnieuw emergen; als dat niet het geval is de overgebleven files verwijderen.

 

Ik heb met "emerge -s" gezocht naar poppler en tunepimp en ze zijn niet geinstalleerd.

Maar hoe weet ik wat er  allemaal is achtergebleven? naast deze twee bestanden is er mogelijk nog meer troep te vinden.

Sorry voor de vergelijking maar dit begint toch een beetje op de system32 directory van windows te lijken  :Smile: 

Daar wordt ook van alles gedumpt en nooit meer gedeinstalleerd.

----------

## garo

 *hennep wrote:*   

> Waarschijnlijk hebben deze programma's ooit op de pc gestaan. Ik gebruik deze computer nu alleen als server dus ik heb er veel afgegooid.

 

Je verwijdert packages toch met "emerge -C" of "emerge --unmerge" en toch niet met "rm" hoop ik ?

 *hennep wrote:*   

>  *garo wrote:*   
> 
> Wat ik zou doen is deze opnieuw installeren met de "-1" optie zodat dit niet wordt onthouden, terug wegvegen en dan alles is updaten:
> 
> ```
> ...

 

freetype,curl,libmad,... enz gaan inderdaad ook allemaal geinstalleerd worden (vergeten, sorry) , als je die ook wil verwijderen doe dan ipv 

```
emerge -1 app-text/poppler media-libs/tunepimp ; emerge -C app-text/poppler media-libs/tunepimp ; emerge -NDvu world ; revdep-rebuild
```

dit:

```
emerge -1 app-text/poppler media-libs/tunepimp ; emerge --depclean ; emerge -NDvu world ; revdep-rebuild
```

(De -1 is belangrijk, anders worden poppler en tunepimp niet verwijderd met --depclean)

 *hennep wrote:*   

>  *nixnut wrote:*   Controleren of poppler en tunepimp geinstalleerd zijn. Als dat het geval is opnieuw emergen; als dat niet het geval is de overgebleven files verwijderen. 
> 
> Ik heb met "emerge -s" gezocht naar poppler en tunepimp en ze zijn niet geinstalleerd.
> 
> Maar hoe weet ik wat er  allemaal is achtergebleven? naast deze twee bestanden is er mogelijk nog meer troep te vinden.
> ...

 

Ergens op de engelstalige forums staat er een lang script om alle rommel van het systeem te krijgen, maar wat ik doe is :

```
for a in `equery -i -q -C list` ; do equery -q -C files =$a ; done | sort | uniq > /home/garo/geinstalleerdebestanden
```

Na het uitvoeren van dit commando bevat /home/garo/geinstalleerdebestanden (vervang de bestandsnaam door een andere) een gesorteerde lijst met elk bestand dat een deel is van een op dit moment geinstalleerde ebuild.

Het uitvoeren van dit commando gaat lang duren, het moet in de bash shell worden uitgevoerd en de volgende ebuilds moeten geinstalleerd zijn: sys-apps/coreutils , app-shells/bash en app-portage/gentoolkit (Dit is bij 99% van de mensen wel het geval)

Dit:

```
find / | sort > /home/garo/allebestanden
```

geeft een lijst met alle bestanden en als je dan 

```
diff /home/garo/allebestanden /home/garo/geinstalleerdebestanden
```

 doet, dan zie je welke bestanden niet door portage zijn geinstalleerd

----------

## koenderoo

Het wordt je nou niet bepaald gemakkelijk gemaakt... Ik opteer voor een commando: cleantrash!   :Confused: 

Zou je middels het commando 'emerge --depclean' niet het zelfde resultaat moeten bereiken? Ruimt alle niet gebruikte packages op volgens mij en die twee pakketten worden niet gebruikt, toch?

Ik zou er wel voorzichtig mee zijn want dit commando wil nog wel eens meer opruimen dan je lief is (heb een jaartje geleden zo mijn gehele X laten verdwijnen...  :Embarassed:  ). De optie -p zou ik zeker gebruiken.

----------

## hennep

de methode van garo is inderdaad iets om voor het volgende weekend te bewaren  :Smile: 

"emerge -p --depclean" geeft aan dat het xinetd wil laten verdwijnen, ben ik niet echt gelukkig mee.

wat zijn de andere 3 pakketten?

```
>>> These are the packages that would be unmerged:

 dev-libs/lzo

    selected: 1.08-r1

   protected: none

     omitted: 2.02-r1

 dev-lang/nasm

    selected: 0.98.39-r3

   protected: none

     omitted: none

 sys-apps/xinetd

    selected: 2.3.14

   protected: none

     omitted: none

 sys-apps/hotplug-base

    selected: 20040401

   protected: none

     omitted: none
```

----------

## koenderoo

ik heb twee plekken waar ik altijd kijk wat bepaalde pakketten inhouden. De ene is via emerge -s pakketnaam en de andere is via de site packages.gentoo.org 

Bij die laatste kun je zoeken op naam en vervolgens doorklikken naar de homepage van dat pakket. kun je tevens even checken of je de laatste stabiele versie hebt en of hij voor je systeem geschikt is/was.

dev-libs/lzo : An extremely fast compression and decompression library

dev-lang/nasm: groovy little assembler

sys-apps/hotplug-base: Base Hotplug framework

De laatste zou ik niet weghalen. De rest kun je weghalen en daarna kijken of ze weer toegevoegd worden als je een emerge -up world draait. Zo ja dan zijn ze toch wel nodig.  :Smile: 

----------

## hennep

Dit heb ik gedaan:

emerge --depclean (4 packages verwijderd)

emerge -1 poppler tunepimp (13 packages geinstalleerd)

emerge -C poppler tunepimp (2 verwijderd)

emerge --depclean (11 verwijderd)

revdep-rebuild -X (had niets meer te doen)

Alle troep is weer netjes opgeruimd, dank voor alle tips.

Ik had eerder aangegeven dat ik "xinetd" niet kwijt wilde, maar ik was even vergeten dat ik het over de server had en daarop draait geen X.

xinetd is toch een onderdeel van X?

----------

## Sub Zero

Dat zou ik niet bepaald zeggen...  :Smile: 

xinetd - eXtended InterNET services daemon

xinetd is dus een 'extended' versie van inetd. Een soort super server. Inetd ontvangt alle inkomende connecties en geeft ze dan door aan het desbetreffende programma. Op deze manier hoeft het programma zelf niet te luisteren op een bepaalde poort. Het is dus best wel een belangrijk onderdeel van je OS  :Wink: 

----------

## BlackEdder

 *Sub Zero wrote:*   

> Het is dus best wel een belangrijk onderdeel van je OS 

 Tenminste als je het gebruikt.. De standaard opzet van meeste daemons is om zelf inkomend verkeer op te vangen en in dat geval is xinetd helemaal niet nodig. Het komt erop neer dat als je niet weet wat het doet je het waarschijnlijk nooit geconfigged hebt en het dus ook niet gebruikt op het moment.

----------

## hennep

Ik denk dat het wel weg mag. Ik heb het ooit wel geconfigueerd maar dat is minstens 3 jaar geleden dus de details ben ik vergeten.

Ooit heeft er X op de machine gedraaid en ik denk dat ik het heb geconfigureerd voor terminalemulatie.

Nu staat er alleen maar iptables, apache en een ssh-daemon naar het internet te luisteren. Deze pakketten werken nog uitstekend.

Waarschijnlijk is het pakket dat xinetd gebruikte verdwenen bij het verwijderen van de grafische omgeving en heeft --depclean zijn werk goed gedaan.

----------

## garo

Kijk het eens na met 

```
grep -v ^# /etc/inetd.conf | sort | uniq
```

 (ik ben niet helemaal zeker of de configuratiefile ook echt /etc/inetd.conf noemt. Dit is de naam bij de gewone inetd, mischien is het bij xinetd anders)

De eerste kolom in de uitvoer zal cijfers bevatten, dat zijn de poortnummers die xinetd bewaakt.

Aangezien elk poortnummer 2 poorten voorstelt zegt de 3de kolom zegt of het de tcp of udp poort is.

De laatste kolom toont naar welk progamma alles op die poort wordt gestuurd.

----------

## hennep

Helaas, dat gaat niet door:

```
root # grep -v ^# /etc/inetd.conf | sort | uniq

grep: /etc/inetd.conf: No such file or directory

```

Wel heb ik dit gevonden:

```
root #  cd /etc/xinetd.d

xinetd.d # ls -la

total 56

drwxr-xr-x  2 root root  400 Apr 11 21:58 .

drwxr-xr-x 54 root root 4304 Apr 11 23:15 ..

-rw-r--r--  1 root root  643 Sep 30  2005 README.services

-rw-r--r--  1 root root  246 Sep 30  2005 chargen-tcp

-rw-r--r--  1 root root  266 Sep 30  2005 chargen-udp

-rw-r--r--  1 root root  246 Sep 30  2005 daytime-tcp

-rw-r--r--  1 root root  272 Sep 30  2005 daytime-udp

-rw-r--r--  1 root root  238 Sep 30  2005 echo-tcp

-rw-r--r--  1 root root  263 Sep 30  2005 echo-udp

-rw-r--r--  1 root root  280 Oct 17 19:03 rexec

-rw-r--r--  1 root root  282 Oct 17 19:03 rlogin

-rw-r--r--  1 root root  279 Oct 17 19:03 rsh

-rw-r--r--  1 root root  205 Jan 24 16:08 telnetd

-rw-r--r--  1 root root  270 Sep 30  2005 time-tcp

-rw-r--r--  1 root root  272 Sep 30  2005 time-udp

xinetd.d #

```

Wat is de rest? Mis ik handige dingen, of noodzakelijke dingen? Ik heb mijn server nog niet ge-reboot, en daar zal ik ook nog maar even mee wachten  :Smile: 

mogelijk was het telnetd waarvoor ik het ooit heb moeten installeren:

```
xinetd.d # emerge -s telnetd

Searching...

[ Results for search key : telnetd ]

[ Applications found : 3 ]

...knip...

*  net-misc/netkit-telnetd

      Latest version available: 0.17-r6

      Latest version installed: 0.17-r6

      Size of files: 155 kB

      Homepage:      ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/

      Description:   Standard Linux telnet client and server

      License:       BSD

...knip...

```

Die heb ik dus ook maar verwijderd, blijft over: 

```
xinetd.d # ls -la

total 52

drwxr-xr-x  2 root root  376 Apr 14 12:07 .

drwxr-xr-x 54 root root 4304 Apr 14 12:07 ..

-rw-r--r--  1 root root  643 Sep 30  2005 README.services

-rw-r--r--  1 root root  246 Sep 30  2005 chargen-tcp

-rw-r--r--  1 root root  266 Sep 30  2005 chargen-udp

-rw-r--r--  1 root root  246 Sep 30  2005 daytime-tcp

-rw-r--r--  1 root root  272 Sep 30  2005 daytime-udp

-rw-r--r--  1 root root  238 Sep 30  2005 echo-tcp

-rw-r--r--  1 root root  263 Sep 30  2005 echo-udp

-rw-r--r--  1 root root  280 Oct 17 19:03 rexec

-rw-r--r--  1 root root  282 Oct 17 19:03 rlogin

-rw-r--r--  1 root root  279 Oct 17 19:03 rsh

-rw-r--r--  1 root root  270 Sep 30  2005 time-tcp

-rw-r--r--  1 root root  272 Sep 30  2005 time-udp

```

In de firewall was port 23 al dichtgezet en ik gebruik al ongeveer 3 jaar ssh

Daar zit ook nog een verhaal aan. Toen ik openssh had geinstalleerd kreeg in na een aantal maanden ca. 5 root-inlogpogingen per seconde vanuit Rusland, China, Korea en nog een aantal bananenrepublieken. Daarom heb ik toendertijd iptables geinstalleerd en alleen de ipnummers toegelaten waar vandaan ik ssh wil gebruiken. Hoe gaan jullie daarmee om zijn er betere manieren om deze hackpogingen te blokkeren?

----------

## Sub Zero

Aan je lijst in /etc/xinetd.d te zien zal je je xinetd niet missen  :Wink: 

Goh, IP tables is al een goeie eerste barriere. Je kan ook root login afzetten op je SSHd. PermitRootLogin op no zetten in je sshd.conf. Je ziet dan wel nog altijd de pogingen, maar ze kunnen in elk geval al niet met je root user gaan lopen.

----------

## hennep

 *Sub Zero wrote:*   

> Je kan ook root login afzetten op je SSHd. PermitRootLogin op no zetten in je sshd.conf.

 

Is het dan niet erg lastig om de server te beheren?

Er zit geen monitor/toetsenbord aan! De server staat in de meterkast, direct verbonden met de adsl router.

 :Smile: 

----------

## durian

 *hennep wrote:*   

>  *Sub Zero wrote:*   Je kan ook root login afzetten op je SSHd. PermitRootLogin op no zetten in je sshd.conf. 
> 
> Is het dan niet erg lastig om de server te beheren?
> 
> Er zit geen monitor/toetsenbord aan! De server staat in de meterkast, direct verbonden met de adsl router.
> ...

 

Nee, gewoon als user inloggen, en dat root worden. En dat ook alleen die ene user in de toegelaten ssh logins zetten.

En desnoods ook nog DenyHosts installeren - een scriptje dat inbraakpogingen afvangt en het IPnummer waarvandaan dat gebeurt in hosts.deny zet. 

Bij mij gebeurt dat zo'n 2x per dag.

-peter

----------

