instalación de netcdf y carpetas usr/local...

instalación de netcdf y carpetas usr/local...

Necesito instalar netcdf en una máquina SuSE Linux pero tengo algunos problemas para entender las carpetas usr/local/ y mis carpetas myusername/local/. Lo que creo que debo hacer es ir a la carpeta netcdf sin comprimir y hacer

./configure --prefix=/usr/local/netcdf-gfortran

Sin embargo necesito crear esta carpeta, ¿verdad? y ¿por qué en usr/local y no en mi nombre de usuario/local...?

Respuesta1

La combinación habitual es:

./configure --prefix=... [more options]
make
make install

Probablemente no quieras usarlo, /usr/localya que eso también debería requerir permisos de root, por lo que es --prefix=$HOMEo --prefix=$HOME/programs(o cualquier otra cosa que funcione mejor para ti).

Podría valer la pena hablar con su administrador de sistemas sobre software adicional; debería hablar con él de todos modos, ya que openSUSE 11.3 ya pasó el final de su vida útil. Al menos debería actualizarse al11.4 Hoja perenne, que recibe al menos actualizaciones de seguridad.

En cuanto a la creación de paquetes, suele ser una buena idea echar un vistazo aarchivos .specpara tener una idea de cuáles podrían ser configureopciones útiles, parches de código fuente y trucos de construcción; en su caso, probablemente desee consultarArchivo netcdf .spec para openSUSE:Factory(o cualquier distribución anterior).

Respuesta2

En términos generales, en Linux, /usres para programas proporcionados por la distribución y administrados por su administrador de paquetes (dpkg/apt, rpm/yum, emerge, etc.) y /usr/locales para programas instalados y administrados manualmente por el administrador del sistema. Los programas bajo /usry /usr/localestán instalados para todos los usuarios.

Si desea instalar programas para su propio uso, colóquelos en algún lugar de su directorio de inicio.

recomiendo usarEstibaroXStowpara realizar un seguimiento de los programas que instala manualmente. (Utilice uno u otro: son implementaciones del mismo concepto). Cuando instala programas manualmente, puede elegir entre dos opciones inconvenientes:

  • Coloque todos los programas en el mismo directorio. Entonces te resultará difícil clasificarlos, determinar qué archivos pertenecen a qué programas, desinstalar programas, etc. Por otro lado, todos los programas son fáciles de usar: sólo necesitas actualizar tu RUTA y otras configuraciones similares una vez.
  • Coloque cada programa en su propio directorio. Entonces la desinstalación es tan fácil como rm -r. La desventaja es que tienes que agregar cada programa a PATH y así sucesivamente.

Stow te ofrece lo mejor de ambos mundos. Esta herramienta mantiene enlaces simbólicos desde un directorio común a un directorio por programa. Instala cada programa (desde el código fuente o desde un paquete binario) en su propio directorio en stowy Stow crea enlaces simbólicos en bin,,, ...libman

Así que cree un directorio programs/stowen su directorio de inicio. Instalar netcdf con

./configure --prefix=~/programs/stow/netcdf-gfortran-4.3
make
make install

Luego ejecute stow netcdf-gfortran-4.3desde el ~/programs/stowdirectorio para crear enlaces simbólicos para todas las partes de ese paquete.

Edite su .profile(o dondequiera que coloque la configuración de su entorno) para agregarla ~/programs/bina su ruta de búsqueda ejecutable, ~/programs/liba la ruta de búsqueda de su biblioteca, etc.

PATH="$HOME/programs/bin:$PATH"
if [ -n "$LD_LIBRARY_PATH" ]; then
  export LD_LIBRARY_PATH="$HOME/programs/lib:$LD_LIBRARY_PATH"
else
  export LD_LIBRARY_PATH="$HOME/programs/lib"
fi
if [ -z "$MANPATH" ]; then
  MANPATH=$(manpath)
fi
export MANPATH="$HOME/programs/share/man:$HOME/programs/man:$MANPATH"

Al compilar programas, pase --with-cppflags="-I $HOME/programs/include"a configurepara que pueda encontrar encabezados en el área de almacenamiento.

Para más información, verSeguimiento de los programasy¿Cuál es un método eficaz para instalar software actualizado en una máquina de producción obsoleta?

información relacionada