如何为所有用户创建一个共享的 julia 环境?
How to create a shared julia environment for all users?
环境:
CentOS 7 64 位
a) 创建系统用户 ds:
useradd -r -s /sbin/nologin ds
b) 下载 julia 可执行文件 tar 并提取到 /opt/julia:
tar -xvf "/tmp/downloads/julia/julia-1.3.1-linux-x86_64.tar.gz" -C "/opt/julia"
c) 使 ds 成为 /opt/julia 及其子文件夹的文件夹和文件的所有者:
chown -R "ds:ds" "/opt/julia"
我想为所有用户设置共享的 julia 环境。
请指导我在所有用户的共享环境中设置以下内容:
a) history
b) JULIA_HOME
c) JULIA_LOAD_PATH
d) JULIA_DEPOT_PATH
e) JULIA_PKG_DEVDIR
f) JULIA_PROJECT
g) PATH
h) security
注意:此提议的解决方案对 Ubuntu 有效。 CentOS的路径可能不一样,但是过程应该是一样的。
我最终针对类似情况的解决方案是仅共享 Julia 二进制文件(那些从 Julialang.org 下载的)在 /lib/julia-1.x/
中扩展它们(在 /lib/julia.x/bin/julia
中使用符号链接/bin
) 并让每个用户拥有自己的 ~/.julia 文件夹。
通过这种方式,您可以避免全局包存储库与本地包版本不兼容的混乱局面。
如果您通过此配置,您可以向 /usr/local/sbin/adduser.local
添加一个脚本,该脚本将在您使用 adduser
添加新用户时随时执行。
比如我加了:
su -c "julia /usr/bin/initJuliaRepository.jl"
依次为每个用户预安装一组常用软件包:
import Pkg
Pkg.update()
Pkg.add("IJulia")
Pkg.add("DataFrames")
Pkg.add("Plots")
Pkg.build("IJulia")
环境: CentOS 7 64 位
a) 创建系统用户 ds:
useradd -r -s /sbin/nologin ds
b) 下载 julia 可执行文件 tar 并提取到 /opt/julia:
tar -xvf "/tmp/downloads/julia/julia-1.3.1-linux-x86_64.tar.gz" -C "/opt/julia"
c) 使 ds 成为 /opt/julia 及其子文件夹的文件夹和文件的所有者:
chown -R "ds:ds" "/opt/julia"
我想为所有用户设置共享的 julia 环境。
请指导我在所有用户的共享环境中设置以下内容:
a) history
b) JULIA_HOME
c) JULIA_LOAD_PATH
d) JULIA_DEPOT_PATH
e) JULIA_PKG_DEVDIR
f) JULIA_PROJECT
g) PATH
h) security
注意:此提议的解决方案对 Ubuntu 有效。 CentOS的路径可能不一样,但是过程应该是一样的。
我最终针对类似情况的解决方案是仅共享 Julia 二进制文件(那些从 Julialang.org 下载的)在 /lib/julia-1.x/
中扩展它们(在 /lib/julia.x/bin/julia
中使用符号链接/bin
) 并让每个用户拥有自己的 ~/.julia 文件夹。
通过这种方式,您可以避免全局包存储库与本地包版本不兼容的混乱局面。
如果您通过此配置,您可以向 /usr/local/sbin/adduser.local
添加一个脚本,该脚本将在您使用 adduser
添加新用户时随时执行。
比如我加了:
su -c "julia /usr/bin/initJuliaRepository.jl"
依次为每个用户预安装一组常用软件包:
import Pkg
Pkg.update()
Pkg.add("IJulia")
Pkg.add("DataFrames")
Pkg.add("Plots")
Pkg.build("IJulia")