# Portage non funziona[Risolto]

## saverik

Ciao, pensando di risolvere alcune dipendenze 

dopo --unmerge di findutils portage non funziona piu'.

```
saverik-Latitude-E6420 / # emerge --ask --update --deep --with-bdeps=y --newuse @world

Traceback (most recent call last):

  File "/usr/lib/python-exec/python3.4/emerge", line 50, in <module>

    retval = emerge_main()

  File "/usr/lib64/python3.4/site-packages/_emerge/main.py", line 1174, in emerge_main

    return run_action(emerge_config)

  File "/usr/lib64/python3.4/site-packages/_emerge/actions.py", line 3231, in run_action

    emerge_config.args, spinner)

  File "/usr/lib64/python3.4/site-packages/_emerge/actions.py", line 107, in action_build

    chk_updated_cfg_files(settings['EROOT'], ['/etc/portage'])

  File "/usr/lib64/python3.4/site-packages/_emerge/chk_updated_cfg_files.py", line 17, in chk_updated_cfg_files

    portage.util.find_updated_config_files(target_root, config_protect))

  File "/usr/lib64/python3.4/site-packages/portage/util/__init__.py", line 1805, in find_updated_config_files

    stderr=subprocess.STDOUT)

  File "/usr/lib64/python3.4/subprocess.py", line 859, in __init__

    restore_signals, start_new_session)

  File "/usr/lib64/python3.4/subprocess.py", line 1457, in _execute_child

    raise child_exception_type(errno_num, err_msg)

FileNotFoundError: [Errno 2] No such file or directory: b'find'
```

ho provato anche con eselect python set a cambiare python da 2.7 a 3.4 senza successo...

suggerimenti?

----------

## sabayonino

pacchetto di sistema ... perchè lo hai rimosso ?

scaricalo e compilalo manualmente da sorgenti

Ad esempio nella cartella Download (o altro)

```
Download > $ wget https://ftp.gnu.org/pub/gnu/findutils/findutils-4.6.0.tar.gz
```

(oppure la versione https://ftp.gnu.org/pub/gnu/findutils/findutils-4.4.2.tar.gz se stai utilizzando un keywords stabile , anche se non dovrebbe avere problemi di dipendenze)

Estrai 

```
Download >$ tar -xvaf findutils-4.6.0.tar.gz 
```

Entra nella directory

```
Download > $ cd findutils-4.6.0
```

Procedi con la compilazione (di default , comunque puoi leggere i file README e INSTALL)

```
findutil-4.6.0 > $ ./configure && make
```

come root

```
findutil-4.6.0 > # make install
```

se l'installazione va a buon fine , prova a riemergerlo

ciao

----------

## saverik

Grazie Sabayonino.

Ha Funzionato. Il problema che al riavvio non mi vanno piu' gli eseguibili...

Mi spiego meglio.Quando clicco due volte per eseguire un programma non funziona cioè non succede  niente!!

Apro il menu ma i programmi non partono.Neanche quelli presenti sulla barra, sia usando il mouse che il trackpad od il tasto destro.

Quindi non riesco ad usare neanche il terminale...

Che faccio?????  :Shocked: 

----------

## sabayonino

ctrl+alt+F1 (o F1..7}

ma lo hai "ri-emerso" ?

----------

## saverik

seguito la tua procedura...tutto ok

Poi emerge --sync ed emerge --update --ask @world.  

Riavvio e non riesco piu ad usare gli eseguibili(programmi)...

Sinceramente mai successo una cosa come questa...

prima  di risolvere ripristinando con una immagine del sistema vorrei capire il motivo....

----------

## sabayonino

riusciresti indicativamente ad indicare (carta e penna ...) l'errore che ti dà un eseguibile ?

avviandolo dalla virtual-console 

hai provato un chroot ?

----------

## saverik

intendi che parto in console e lancio per esempio gparted?

----------

## saverik

 :Laughing:  ho risolto!!! Il responsabile era ligthdm.Evidentemente qualche settaggio si era sballato.

Sono partito senza DE ma solo da terminale.

Poi ho fatto partire xfce da terminale con startxfce4 e tutto funzionava a meraviglia.

A quel punto ho riemerso lightdm e tutto si è sistemato.

Grazie a tutti!!

Grazie Sabayonino.

----------

## sabayonino

 :Shocked:   lightdm ?

 :Confused: 

----------

## saverik

guarda non ci capisco piuì nulla...

stamattina ho avuto lo stesso problema..

Modificato il file xdm.Riavvio in modalità testuale,ed in piu Invece dell'hostname da me scelto mi sono ritrovato con saverik@dhcppc2 invece che saverik@elitebook.

In più per ben due volte mi sono trovato con sda1(dove risiede il Filesystem )con spazio esaurito!!!

Adesso ho il sda1 da 27Gb pieno e non riesco a spiegarmi il percheì.

Da dove inizio?

----------

## fedeliallalinea

 *saverik wrote:*   

> Da dove inizio?

 

Iniziando a spiegare com'e' configurata la tua macchina (/etc/fstab, mount, df -h). Inoltre non hai qualche problema hardware (prova a vedere se dmesg da qualche errore)?

----------

## sabayonino

probabilmente hai qualche applicazione o alcuni filetemporanei che ti vanno ad esaurire lo spazio

```
# du -hxd1 /
```

individua la cartella più pesante ed analizzala

(di norma /usr /var/lib ... e le temporanee)

se il filesystem è pieno non c'è spazio nelle dir temporanee per scrivere i dati della sessione)

----------

## saverik

```
EliteBook saverik # df -h

File system     Dim. Usati Dispon. Uso% Montato su

udev             10M  4,0K     10M   1% /dev

/dev/sda1        27G   20G    6,0G  77% /

tmpfs           789M 1004K    788M   1% /run

shm             3,9G   76K    3,9G   1% /dev/shm

cgroup_root      10M     0     10M   0% /sys/fs/cgroup

/dev/sda2        52G   30G     20G  61% /home

tmpfs           5,0G   20K    5,0G   1% /tmp

none            3,9G     0    3,9G   0% /run/user/1000

EliteBook saverik # 

```

```

fstab

/dev/sda1           /                  ext4       defaults,relatime                    0 1

/dev/sda2               /home              ext4          defaults,relatime                    0 2

tmpfs         /tmp         tmpfs    noatime,nodiratime,size=5G         0 0

tmpfs                   /dev/shm           tmpfs         defaults                             0 0

shm                     /dev/shm           tmpfs         defaults                             0 0

```

penso di aver risolto il problema.

Il link simbolico non puntava al kernel.

Ho quindi sistemato il link con 

```
 

eselect kernel set 1

```

quindi ricompilato con genkernel e tutto si è aggiustato.

 Poi nella cartella src ho cancellato le due cartelle linux.4.xx.xx ed ho guadagnato 6Gb ma penso che lo stesso 20 Gb di filesystem siano un po troppo...

Voi che ne pensate?

Il notebook ha ssd samsung840 250gb e 8Gbram i5 2520.Il fstab va bene o bisogna cambiare qualcosa.?

----------

## fedeliallalinea

 *saverik wrote:*   

> Poi nella cartella src ho cancellato le due cartelle linux.4.xx.xx ed ho guadagnato 6Gb

 

Il miglior modo e' fare un 

```
# emerge -C =sys-kernel/gentoo-sources-x.x.x
```

cosi' da pulire anche il world file dai vecchi kernel. 

 *saverik wrote:*   

> ma penso che lo stesso 20 Gb di filesystem siano un po troppo...
> 
> Voi che ne pensate?

 

Vedi quanto e' grande la cartella distfiles

```
$ du -shc /usr/portage/distfiles/
```

probabilmente e' questa che tiene un sacco di posto (contiene tutti i pacchetti scaricati con emerge).

Se e' grande ti basta eliminare il suo contenuto.

----------

## sabayonino

il pacchetto gentool-kit (doveroso installarlo   :Twisted Evil:   ) contiene appunto alcuni tools utili

una bella pulizia della cartella  "distfiles" (dove vengono scaricati e mantenuti i sorgenti) ci vuole ogni tanto 

```
# eclean distfiles
```

oppure

```
# eclaen-dist
```

se poi durante la compilazione ti crei pure i pacchetti binari (default in  /usr/portage/packages)

puoi dare una rstrellata anche lì

```
# eclean packages
```

oppure

```
# eclean-pkg
```

```
# man eclean

NAME

       eclean - A cleaning tool for Gentoo distfiles and binary packages.

SYNOPSIS

       eclean [global-options] ... <actions> [action-options] ...

       eclean-dist [global-options, distfiles-options] ...

       eclean-pkg [global-options, packages-options] ...

       eclean(-dist,-pkg) [--help, --version]

DESCRIPTION

       eclean  is small tool to remove obsolete portage sources files and binary packages.  Used on a regular basis, it prevents your DISTDIR and PKGDIR directories to in‐

       finitely grow, while not deleting files which may still be useful.

       By default, eclean will protect all distfiles or binary packages corresponding to some ebuilds available in the Portage tree.  This is the  safest  mode,  since  it

       will  protect  whatever  may still be useful, for instance to downgrade a package without downloading its sources for the second time, or to reinstall a package you

       unmerge by mistake without recompiling it.  Sure, it's also a mode in which your DISTDIR and PKGDIR will stay rather big (although still  not  growing  infinitely).

       For the 'distfiles', this mode is also quite slow because it requires some access to the whole Portage tree.

       If  you  use the --deep option, eclean will only protect files corresponding to some currently installed package (taking their exact version into account).  It will

       save much more space, while still preserving sources files around for minor revision bumps, and binaries for reinstallation of corrupted  packages.   But  it  won't

       keep  files for less usual operations like downgrading or reinstalling an unmerged package.  This is also the fastest execution mode (big difference for distfiles),

       and the one used by most other cleaning scripts around like yacleaner (at least in its version 0.3).

```

più info con :

```
# eclean-dist -h
```

e

```
# eclean-pkg -h
```

PS 20GB si possono bastare , ma se cominci ad installare questo e quell'altro , la giacca comincia a restringersi ...

----------

