# [openrc] fallo en actualización [resuelto]

## Theasker

Después de la actualización de Baselayout2 y openrc y siguiendo todos los pasos de la guia de actualización, arranqué y me encontré con esto:

https://picasaweb.google.com/lh/photo/gjQLD7dc-FmgqaVS7awTbdhHDRr5AHAjcZ1wh4QfPo0?feat=directlink

https://picasaweb.google.com/lh/photo/jQxTU-doMG-NCefHmHsgJ9hHDRr5AHAjcZ1wh4QfPo0?feat=directlink

https://picasaweb.google.com/lh/photo/o2ftkx3cpnYBGXIh2542qNhHDRr5AHAjcZ1wh4QfPo0?feat=directlink

Después de iniciar con systemrescue y hacer un chroot he intentado hacer un rc-update -u pero me da este resultado

```

# rc-update -u

 * Caching service dependencies ...

Service `acpid' needs non existent service `localmount'

Service `bluetooth' needs non existent service `localmount'

Service `bluetooth' needs non existent service `hostname'

Service `crypto-loop' needs non existent service `root'

Service `crypto-loop' needs non existent service `modules'

Service `dbus' needs non existent service `localmount'

Service `fuse' needs non existent service `localmount'

Service `gpm' needs non existent service `localmount'

Service `hddtemp' needs non existent service `localmount'

Service `lvm-monitoring' needs non existent service `lvm'

Service `multipathd' needs non existent service `localmount'

Service `network' needs non existent service `localmount'

Service `numlock' needs non existent service `localmount'

Service `syslog-ng' needs non existent service `hostname'

Service `syslog-ng' needs non existent service `localmount'

Service `udev-postmount' needs non existent service `localmount'

Service `vixie-cron' needs non existent service `localmount'

Service `xdm' needs non existent service `localmount'

Service `xdm-setup' needs non existent service `localmount'
```

Mi /etc/rc.conf es este

Mi emerge --info

.

```

|-- boot

|   |-- alsasound -> /etc/init.d/alsasound

|   |-- bootmisc -> /etc/init.d/bootmisc

|   |-- consolefont -> /etc/init.d/consolefont

|   |-- device-mapper -> /etc/init.d/device-mapper

|   |-- fsck -> /etc/init.d/fsck

|   |-- hostname -> /etc/init.d/hostname

|   |-- hwclock -> /etc/init.d/hwclock

|   |-- keymaps -> /etc/init.d/keymaps

|   |-- localmount -> /etc/init.d/localmount

|   |-- lvm -> /etc/init.d/lvm

|   |-- modules -> /etc/init.d/modules

|   |-- mtab -> /etc/init.d/mtab

|   |-- net.lo -> /etc/init.d/net.lo

|   |-- procfs -> /etc/init.d/procfs

|   |-- root -> /etc/init.d/root

|   |-- swap -> /etc/init.d/swap

|   |-- sysctl -> /etc/init.d/sysctl

|   |-- termencoding -> /etc/init.d/termencoding

|   `-- urandom -> /etc/init.d/urandom

|-- default

|   |-- alsasound -> /etc/init.d/alsasound

|   |-- apache2 -> /etc/init.d/apache2

|   |-- consolekit -> /etc/init.d/consolekit

|   |-- dbus -> /etc/init.d/dbus

|   |-- ddclient -> /etc/init.d/ddclient

|   |-- fuse -> /etc/init.d/fuse

|   |-- gpm -> /etc/init.d/gpm

|   |-- local -> /etc/init.d/local

|   |-- mysql -> /etc/init.d/mysql

|   |-- netmount -> /etc/init.d/netmount

|   |-- sshd -> /etc/init.d/sshd

|   |-- syslog-ng -> /etc/init.d/syslog-ng

|   |-- udev-postmount -> /etc/init.d/udev-postmount

|   |-- vixie-cron -> /etc/init.d/vixie-cron

|   `-- vsftpd -> /etc/init.d/vsftpd

|-- nonetwork

|   `-- local -> /etc/init.d/local

|-- shutdown

|   |-- killprocs -> /etc/init.d/killprocs

|   |-- mount-ro -> /etc/init.d/mount-ro

|   `-- savecache -> /etc/init.d/savecache

|-- single

`-- sysinit

    |-- devfs -> /etc/init.d/devfs

    |-- dmesg -> /etc/init.d/dmesg

    `-- udev -> /etc/init.d/udev

6 directories, 41 files
```

----------

## Txema

¿Has seguido la guía? -> http://www.gentoo.org/doc/es/openrc-migration.xml

Comprueba que /etc/init.d/localmount está en su sitio, estas lineas no creo que sean necesarias:

```
rc_net_config="/etc/init.d/net.eth0"

rc_net_need="netmount"
```

Además comprueba que /etc/init.d/net.eth0 existe porque puede haberse eliminado.

Un saludoLast edited by Txema on Wed May 25, 2011 7:19 pm; edited 3 times in total

----------

## quilosaq

Mira si tienes el archivo  *Quote:*   

> /etc/init.d/localmount

 . Si lo tienes lo añades para que se ejecute en el nivel boot. Si no lo tienes haz el enlace 

```
ln -s /usr/share/openrc/runlevels/boot/localmount /etc/init.d/localmount
```

. Si falla 

```
emerge openrc
```

----------

## gringo

estás seguro de haber ejecutado etc-update ( o dispatch-conf o lo que uses) ??

saluetes

----------

## Theasker

 *Txema wrote:*   

> ¿Has seguido la guía? -> http://www.gentoo.org/doc/es/openrc-migration.xml

 

Por supuesto, es la que usé.

 *Txema wrote:*   

> 
> 
> Comprueba que /etc/init.d/localmount está en su sitio, estas lineas no creo que sean necesarias:
> 
> ```
> ...

 

```

sysresccd / # ls -la /etc/init.d/localmount

-rwxr-xr-x 1 root root 0 May 24 12:32 /etc/init.d/localmount

```

Las puse para ver si funcionaba, aunque se que no deberían ser necesarias pero sin esas líneas tampoco funciona.

 *Txema wrote:*   

> 
> 
> Además comprueba que /etc/init.d/net.eth0 existe porque puede haberse eliminado.
> 
> Un saludo

 

```
sysresccd / # ls -la /etc/init.d/net.eth0

lrwxrwxrwx 1 root root 6 May 24 12:40 /etc/init.d/net.eth0 -> net.lo
```

Está pero ... haciendo un ls del script net.lo, tiene tamaño 0

```

sysresccd / # ls -la /etc/init.d/net*

lrwxrwxrwx 1 root root    6 May 24 12:40 /etc/init.d/net.eth0 -> net.lo

-rwxr-xr-x 1 root root    0 May 24 12:32 /etc/init.d/net.lo

-rwxr-xr-x 1 root root 2183 May 24 09:47 /etc/init.d/netmount

-rwxr-xr-x 1 root root 6803 May 24 09:47 /etc/init.d/network
```

 *gringo wrote:*   

> 
> 
> estás seguro de haber ejecutado etc-update ( o dispatch-conf o lo que uses) ??
> 
> 

 

Si si si, lo primero que pensé es que no se habían actualizado bien o que me había saltado algún archivo de /etc/ pero no, no queda nada por actualizar, o al menos después de hacer el chroot le doy a etc-update y también a dispath-conf (que es el que uso) y na de na.

 *quilosaq wrote:*   

> 
> 
> Mira si tienes el archivo /etc/init.d/localmount
> 
> Si lo tienes lo añades para que se ejecute en el nivel boot. Si no lo tienes haz el enlace
> ...

 

Si que lo tengo, pero no es un enlace:

```
sysresccd / # ls -la /etc/init.d/localmount

-rwxr-xr-x 1 root root 0 May 24 12:32 /etc/init.d/localmount

```

He leído por ahí que alguien también ha tenido algún problema parecido pero por ahora no encuentro la solución, veré y sigo buscando.

----------

## Theasker

Acabo de ver (ni se me había ocurrido que podía ser eso), que hay muchos scripts en /etc/init.d/ que tienen tamaño 0.

Supongo que debería ir de uno en uno haciendo enlaces a /usr/share/openrc/runlevels, ¿no?, ¿o no es correcto?

gracias y saludicos

----------

## quilosaq

Creo que dije mal lo del enlace simbólico. Los scripts tienen tienen que estar en  *Quote:*   

> /etc/init.d/

  y en  *Quote:*   

> /usr/share/openrc/runlevels/loquecorresponda/

  debe haber enlaces simbólicos a los archivos de /etc/init.d/. Todas estas tareas se realizarán cuando hagas un emerge openrc de nuevo, espero.

----------

## Theasker

Todo solventado, desinstale openrc, todo desde el chroot, luego lo instalé de nuevo y volví a hacer el dispatch-conf con lo que volvió a actualizar los archivos de /etc/ reinicié y listo.

Como ya lo había hecho, no pensé en volver a instalarlo, no entiendo el porqué la primera vez no salió bien.

Gracias de todas formas por vuestra ayuda y preocupación, debería haberlo pensado, en vez de perder horas y horas buscando información o algún bug raro que tuviera openrc.

Gracias de nuevo y saludos

----------

