我们如何为同一台linux机器上的所有用户安装rustc,cargo?

我们如何为同一台linux机器上的所有用户安装rustc,cargo?,linux,ubuntu,installation,rust,rust-cargo,Linux,Ubuntu,Installation,Rust,Rust Cargo,我有一台ubuntu机器,有多个用户,其中一些人拥有或没有root权限。除此之外,我对同一台机器的存储空间有限。我真的不想让不同的用户多次安装同一个软件。作为root用户,我想将rust(rustc,cargo)作为root安装一次,并使其可供所有其他用户使用。目前推荐的安装方法是使用curlcurl--proto'=https'--tlsv1.2-sSfhttps://sh.rustup.rs |sh。我知道使用sudo可以让我在全球范围内安装一个程序,但我见过一些线程不鼓励使用sudo进行安

我有一台ubuntu机器,有多个用户,其中一些人拥有或没有root权限。除此之外,我对同一台机器的存储空间有限。我真的不想让不同的用户多次安装同一个软件。作为root用户,我想将rust(rustc,cargo)作为root安装一次,并使其可供所有其他用户使用。目前推荐的安装方法是使用curl
curl--proto'=https'--tlsv1.2-sSfhttps://sh.rustup.rs |sh
。我知道使用
sudo
可以让我在全球范围内安装一个程序,但我见过一些线程不鼓励使用sudo进行安装。我们如何为同一台linux机器上的所有用户安装rustc,cargo

编辑:


我只希望一个root用户具有更新rustup和cargo的能力,而所有其他用户都必须使用此副本。

这表示同时使用rustup是不安全的,可能会损坏其工作区域。如果使用全局rust工具链的目的是维护一致的版本,则可以按照中的指定创建
rust工具链
文件,但如果是为了节省磁盘空间,恐怕没有官方文档表明这样做是安全的。

如果您希望系统范围内的安装只能由管理员更新,那么我强烈建议使用

只需下载最新版本,解压缩并运行
sudo./install
。如果以这种方式安装旧版本,则会自动处理更新旧版本。如果您已经使用另一种方法(如
rustup
apt
)安装了Rust,您可能应该首先使用该方法卸载它们

如果您需要其他目标,那么您也很幸运:也可以使用项目为每个支持的目标提供的迷你安装程序在系统范围内安装其他目标。目前,实现这一点的方法没有很好的文档记录,但Rust 1.0.0支持了这一点:

  • 首先使用上面链接的独立安装程序之一安装Rust

  • 然后从以下位置下载目标安装程序:

    https://static.rust-lang.org/dist/rust-std-${RUST_VERSION}-${TARGET_TRIPLE}.tar.gz
    
    用所需的值替换
    ${RUST\u VERSION}
    ${TARGET}
    。例如,分别使用
    1.48.0
    wasm32 unknown
    下载安装程序进行安装

  • 提取并运行
    sudo./install


  • 请记住,当您安装下一版本的Rust时,这些目标将自动卸载,因此每次更新Rust时,请准备好重复此过程。

    谢谢您我已经阅读了github问题,我已经更新了我的问题。我是。这是什么
    ,然后将此shell脚本安装为/usr/local/bin/rustc
    。我是否要复制下面的shell代码并将其放置在
    /usr/local/bin/rustc
    ?从该注释中,是的,您需要将该shell脚本复制为
    /usr/local/bin/rustc
    。它基本上是
    exec
    s您的shell,从
    ${0##*/}
    中获得,这是一种查找
    basename
    的模糊方法,后面是rust工具链命令作为参数,从
    $@
    中获得。