¿Puedo compartir /usr/local entre múltiples distribuciones de Linux?

¿Puedo compartir /usr/local entre múltiples distribuciones de Linux?

Probé Ubuntu 12.04 y, según tengo entendido, hice las siguientes particiones:

  • Swap de 2GB (tengo 2GB de RAM)
  • 1 GB /boot, ya que instalaré diferentes versiones del kernel (estoy comenzando el desarrollo del kernel)
  • 35GB/var
  • 40GB/usr/local
  • 407GB/home
  • 15 GB /(raíz)

Ahora quiero instalar OpenSUSE 12.2 junto con Ubuntu 12.04. ¿Puedo compartir /vary /usr/localentre los dos sistemas operativos? Sé que son dos distribuciones diferentes con paquetes diferentes, pero ¿hay alguna forma de compartir el espacio en disco? ¿Para que ambos SO puedan tener el suyo /usr/localen la misma partición o algo así?

Respuesta1

Puedes compartir /usr/local. A veces, las dos distribuciones tendrán diferentes versiones de bibliotecas disponibles, por lo que es posible que necesites instalar algunas bibliotecas en un lado o en el otro o en /usr/localsí mismo. La carga de instalar alguna que otra biblioteca adicional probablemente se compense al no tener que mantener dos instalaciones de cada programa en formato /usr/local.

Si hay programas que solo quieres tener en /usr/localuno de los sistemas, puedes hacer un arreglo diferente: no compartir /usr/local, pero compartir unestibarrepositorio y crear enlaces simbólicos en /usr/localambos sistemas.

No es necesario crear /usr/localuna partición separada para compartirla. Puede almacenarlo en la partición del sistema de un sistema, montarlo donde quiera en el otro sistema y crear un enlace simbólico.

No puedes compartir /var. Existen pequeñas diferencias en la forma en que están organizados los directorios y cada distribución tiene sus propios ID de usuario. Es posible que pueda compartir partes de /var, por ejemplo, el carrete de correo.

35 GB /vares enorme. No necesitas eso para un sistema básico. Si va a colocar muchos datos allí (por ejemplo, porque ahí es donde está la raíz de su servidor web), dimensione el sistema de archivos de acuerdo con sus datos. No tiene sentido dividir /vardesde la partición raíz, así que combínelas. No lo menciona /usren su lista: esto tampoco necesita dividirse de la partición raíz. Simplemente cree una partición del sistema para cada sistema operativo, además de una partición compartida /home. Necesita más de 15 GB para la partición del sistema, a menos que vaya a ser muy conservador con los programas que instalará. Haga una partición del sistema de 50 GB y estará bien.

No es necesaria una /bootpartición separada a menos que tenga requisitos adicionales, como cifrar la partición del sistema.

Respuesta2

Además de los enlaces simbólicos, también puedes utilizar bind mounts: http://docs.1h.com/Bind_mounts

Básicamente, puedes tener una partición con un sistema de archivos (similar a la configuración de Anthon). En este caso, asumiendo que tiene el sistema de archivos montado, /mnt/localsimplemente lo haría mount --bind /mnt/local/ubuntu /usr/localen su instalación de ubuntu y mount --bind /mnt/local/suse /usr/localen su instalación de suse.

Un beneficio de hacer esto es que puede hacerlo sobre un directorio existente sin destruir/mover el directorio /usr/localreal ./usr/local

He aquí un ejemplo:

# mkdir foo
# touch foo/nowyouseeme
# mkdir bar
# touch bar/nowyoudont
# ls foo
nowyouseeme
# mount --bind ./bar ./foo
# ls foo
nowyoudont
# umount foo
# ls foo
nowyouseeme

Respuesta3

/usr/local(es decir, software compilado/instalado localmente) debería funcionar bien,siempre y cuando las bibliotecas del sistema utilizadas por lo que sea que exista sean compatibles. Esto significa que puede salirse con la suya con distribuciones más o menos contemporáneas "para uso de escritorio". Si intenta mezclar y combinar, diga que Fedora y RHEL/CentOS lo hacentodobasándose en la distribución con las bibliotecas más antiguas (RHEL/CentOS en este caso), ya que las bibliotecas base ( glibcen su mayoría) son razonablemente compatibles con versiones anteriores. TúvoluntadSi tiene problemas con C++ (el tiempo de ejecución de C++ tiende a cambiar bastante entre versiones), algunas bibliotecas de gráficos cambian las interfaces de cualquier manera. Cualquier cosa relacionada con el entorno de escritorio (ya sea KDE o Gnome o lo que sea) probablemente esté fuera de discusión.

Respuesta4

Cómo configurar múltiples instalaciones en una máquina es algo que depende de su estilo de trabajar con estas instalaciones. Otra cosa a tener en cuenta es que, a menos que vaya a realizar algún trabajo ingenioso en la máquina virtual utilizando particiones reales, estas dos instalaciones no funcionarán al mismo tiempo.

En mi experiencia, la /homepartición debería poder compartirse sin mucho problema. Cualquier usuario creado específicamente para aplicaciones ( dovecot, fetchmail), pero cualquiera de los sistemas normalmente no tiene directorios reales /homecomo los 'usuarios normales'. Comparto nombres de inicio de sesión entre diferentes versiones de Ubuntu, pero eso a veces genera problemas al volver a una instalación anterior, porque los archivos de configuración en su directorio de inicio se convirtieron automáticamente. Para resolver estos problemas, tengo el mismo inicio de sesión con diferentes directorios de inicio en /home, pero con la misma identificación de usuario y de grupo para compartir los datos. Siempre puedes crear un vínculo entre subdirectorios específicos (por ejemplo, aquellos con tu Música) para los cuales no hay riesgo de actualizaciones incompatibles/irreversibles.

No tengo una partición separada desde que trabajé en un PDP 11/70 a mediados de los 80, así que no sé por qué tu amigo me lo recomendó. Además, varios programas se instalarán de forma predeterminada /usr/localsi instala desde la fuente y, por ejemplo, piplas instalaciones para módulos de Python hacen lo mismo. Para evitar problemas allí, haría que /mnt/localen cada máquina montara la partición designada para /usr/localallí, crearía directorios ubuntuy suseen esa partición y un enlace suave ( ln -s /usr/local /mnt/local/ubuntu) para cada resp. máquina. De esa manera compartes el espacio en esa partición sin correr el riesgo de sobrescribirla accidentalmente. Siempre puedes crear enlaces más adelante entre cosas que quieras compartir explícitamente.

Una cosa adicional que puedo recomendar es mantener algún tipo de registro de lo que instaló para cada instalación (yo uso emacs en modo de registro de cambios con un archivo para cada combinación de máquina, distribución y revisión), para que pueda rehacer la instalación si actualiza y No es necesario que recuerdes qué cosas adicionales instalaste. Hoy en día tengo un setupnewsystemscript que hace todas las cosas adicionales por mí, incluido ponerlo /etcbajo control de revisión después de la instalación.mercurial

información relacionada