# How to update Julia in ssh clusters

**URL:** <https://discourse.julialang.org/t/how-to-update-julia-in-ssh-clusters/88351>\
**Category:** General Usage\
**Tags:** package, security, cluster, ssh\
**Created:** [October 6, 2022, 2:53pm UTC](https://discourse.julialang.org/t/how-to-update-julia-in-ssh-clusters/88351 "2022-10-06T14:53:37Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![greivin](https://avatars.discourse-cdn.com/v4/letter/g/a6a055/32.png) [@greivin](https://discourse.julialang.org/u/greivin)\
**Post date:** [October 6, 2022, 2:53pm UTC](https://discourse.julialang.org/t/how-to-update-julia-in-ssh-clusters/88351/1 "2022-10-06T14:53:38Z")

</div>

I’m working as a PhD student in a lab with ssh clusters, I have the access to connect to each one of them (there’s no queue system, as it is a small lab, hence, as long as someone is not using a lot of cores in each computer I can run my programs on them).

Currently the lab doesn’t have a cluster administrator so its maintenance is in the hands of two researchers with computer knowledge. Currently, the clusters have a very old version of Julia (0.5.1) and I need an update in order to work; however, one of the two researchers in charge told me that it will require a very large amount of time and stopping all current process in order to update Julia, so he is unwilling to make the update on the clusters.

Is there a way that I can update the Julia version on the clusters all by myself? Without interrupting nor canceling any of the current processes?

I believe non of the current processes are being run with Julia, as I am the only one in the lab who works with it. The languages being used for these processes are C, C++ and Fortran.

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [October 6, 2022, 2:55pm UTC](https://discourse.julialang.org/t/how-to-update-julia-in-ssh-clusters/88351/2 "2022-10-06T14:55:31Z")

</div>

Yeah. You can just download the new Julia version and put it anywhere in the filesystem.

---

<div class="post-metadata">

**Author:** ![greivin](https://avatars.discourse-cdn.com/v4/letter/g/a6a055/32.png) [@greivin](https://discourse.julialang.org/u/greivin)\
**Post date:** [October 6, 2022, 2:58pm UTC](https://discourse.julialang.org/t/how-to-update-julia-in-ssh-clusters/88351/3 "2022-10-06T14:58:46Z")

</div>

And how can I do it? I’m sorry, I’m new into using ssh for running computations. I just fear that uploading the julia version in the clusters might stop or interrupt the projects of other people that are currently running in other cluster nodes.

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [October 6, 2022, 3:02pm UTC](https://discourse.julialang.org/t/how-to-update-julia-in-ssh-clusters/88351/4 "2022-10-06T15:02:48Z")

</div>

If the cluster has a shared filesystem, you can just `wget` the appropriate link from [Download Julia](https://julialang.org/downloads/). Then you can unzip with `tar -xzf <PATH_TO_DOWNLOADED_FILE>` and you will have a local version of julia that you can use. Julia does not store anything in system directories, and won’t touch data for other versions.

---

<div class="post-metadata">

**Author:** ![dlakelan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dlakelan/32/8491_2.png) [@dlakelan](https://discourse.julialang.org/u/dlakelan)\
**Post date:** [October 6, 2022, 3:05pm UTC](https://discourse.julialang.org/t/how-to-update-julia-in-ssh-clusters/88351/5 "2022-10-06T15:05:22Z")

</div>

Also if you are not root, you can’t alter any other processes… Basically it’s safe and actually recommended to simply run your own copy of the latest Julia in your own home directory.

Also note that you almost certainly want the [x86 glibc version](https://julialang-s3.julialang.org/bin/linux/x64/1.8/julia-1.8.2-linux-x86_64.tar.gz). not sure how new you are to all of this, but just making it easy for you.

---

<div class="post-metadata">

**Author:** ![greivin](https://avatars.discourse-cdn.com/v4/letter/g/a6a055/32.png) [@greivin](https://discourse.julialang.org/u/greivin)\
**Post date:** [October 6, 2022, 3:14pm UTC](https://discourse.julialang.org/t/how-to-update-julia-in-ssh-clusters/88351/6 "2022-10-06T15:14:42Z")

</div>

Ok, so I unzip my file in the shared filesystem but this just generates a julia-version folder in my cluster files of the cloud. When I still access to one of the nodes (say cluster3) and run the julia command for the terminal I get the version 0.5.1

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [October 6, 2022, 3:16pm UTC](https://discourse.julialang.org/t/how-to-update-julia-in-ssh-clusters/88351/7 "2022-10-06T15:16:45Z")

</div>

Rather than running `julia` you need to run `path/to/julia/version` whatever that path is.

---

<div class="post-metadata">

**Author:** ![greivin](https://avatars.discourse-cdn.com/v4/letter/g/a6a055/32.png) [@greivin](https://discourse.julialang.org/u/greivin)\
**Post date:** [October 6, 2022, 3:21pm UTC](https://discourse.julialang.org/t/how-to-update-julia-in-ssh-clusters/88351/8 "2022-10-06T15:21:21Z")

</div>

Ok, but how do I do that in the command line, as my current directory in the terminal is the path where the unzipped “julia-version” folder is, then if I just run `julia-version` in the command line then it will give me the message of command not found

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [October 6, 2022, 3:24pm UTC](https://discourse.julialang.org/t/how-to-update-julia-in-ssh-clusters/88351/9 "2022-10-06T15:24:04Z")

</div>

Then it would be `./julia/bin/julia`

---

<div class="post-metadata">

**Author:** ![greivin](https://avatars.discourse-cdn.com/v4/letter/g/a6a055/32.png) [@greivin](https://discourse.julialang.org/u/greivin)\
**Post date:** [October 6, 2022, 3:29pm UTC](https://discourse.julialang.org/t/how-to-update-julia-in-ssh-clusters/88351/10 "2022-10-06T15:29:59Z")

</div>

Thanks a lot!! now I wanted to send some works to that cluster using this local version of julia, normally I use the command

```julia
nohup julia FileName.jl &

```

how is this translate using the local run?

```julia
nohup ./julia/bin/julia FileName.jl &

```

???

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [October 6, 2022, 3:31pm UTC](https://discourse.julialang.org/t/how-to-update-julia-in-ssh-clusters/88351/11 "2022-10-06T15:31:29Z")

</div>

You might need to give it an absolute path, but yeah.

---

<div class="post-metadata">

**Author:** ![dlakelan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dlakelan/32/8491_2.png) [@dlakelan](https://discourse.julialang.org/u/dlakelan)\
**Post date:** [October 6, 2022, 11:35pm UTC](https://discourse.julialang.org/t/how-to-update-julia-in-ssh-clusters/88351/12 "2022-10-06T23:35:39Z")

</div>

Or add /home/yourname/julia/bin to the front of your PATH environment variable in .bashrc or similar
