Како да инсталирате Rust на Ubuntu 20.04
Вовед
Програмскиот јазик Rust, познат и како rust-lang, е моќен програмски јазик за општа намена. Rust е синтаксички сличен на C++ и се користи за широк спектар на проекти за развој на софтвер, вклучувајќи компоненти на прелистувач, мотори за игри и оперативни системи.
Во ова упатство, ќе ја инсталирате најновата верзија на Rust на Ubuntu 20.04, а потоа ќе креирате, компајлирате и стартувате програма за тестирање. Примерите во ова упатство ја покажуваат инсталацијата на Rust верзијата 1.66.
Забелешка: Ова упатство работи и за Ubuntu 22.04, меѓутоа, може да ви бидат претставени интерактивни дијалози за различни прашања кога ќе извршите надградба на apt
. На пример, може да ве прашаат дали сакате автоматски да ги рестартирате услугите кога е потребно или ако сакате да замените конфигурациска датотека што сте ја измениле. Одговорите на овие прашања зависат од вашиот софтвер и преференции и се надвор од опсегот на ова упатство.
Предуслови
За да го завршите ова упатство, потребен ви е сервер Ubuntu 20.04 со корисник без корен со овозможен sudo и заштитен ѕид. Можете да го поставите ова со следење на нашето почетно поставување на серверот со Ubuntu 20.04 туторијал.
Чекор 1 - Инсталирање Rust на Ubuntu користејќи ја алатката rustup
Иако постојат неколку различни начини за инсталирање Rust на Linux, препорачаниот метод е да се користи алатката за командна линија rustup
.
Извршете ја командата за преземање на алатката rustup
и инсталирајте ја најновата стабилна верзија на Rust:
- curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh
Од вас ќе биде побарано да го изберете типот на инсталација:
Outputsammy@ubuntu:~$ curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh
info: downloading installer
Welcome to Rust!
This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.
Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:
/home/sammy/.rustup
This can be modified with the RUSTUP_HOME environment variable.
The Cargo home directory is located at:
/home/sammy/.cargo
This can be modified with the CARGO_HOME environment variable.
The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:
/home/sammy/.cargo/bin
This path will then be added to your PATH environment variable by
modifying the profile files located at:
/home/sammy/.profile
/home/sammy/.bashrc
You can uninstall at any time with rustup self uninstall and
these changes will be reverted.
Current installation options:
default host triple: x86_64-unknown-linux-gnu
default toolchain: stable (default)
profile: default
modify PATH variable: yes
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>
Ова упатство ја користи стандардната опција 1. Меѓутоа, ако сте запознаени со инсталаторот rustup
и сакате да ја приспособите вашата инсталација, можете да ја изберете опцијата 2. Внесете го вашиот избор и притиснете Enter
.
Излезот за опција 1 е:
Outputinfo: profile set to 'default'
info: default host triple is x86_64-unknown-linux-gnu
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: latest update on 2023-01-10, rust version 1.66.1 (90743e729 2023-01-10)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
info: downloading component 'rust-std'
info: downloading component 'rustc'
67.4 MiB / 67.4 MiB (100 %) 40.9 MiB/s in 1s ETA: 0s
info: downloading component 'rustfmt'
info: installing component 'cargo'
6.6 MiB / 6.6 MiB (100 %) 5.5 MiB/s in 1s ETA: 0s
info: installing component 'clippy'
info: installing component 'rust-docs'
19.1 MiB / 19.1 MiB (100 %) 2.4 MiB/s in 7s ETA: 0s
info: installing component 'rust-std'
30.0 MiB / 30.0 MiB (100 %) 5.6 MiB/s in 5s ETA: 0s
info: installing component 'rustc'
67.4 MiB / 67.4 MiB (100 %) 5.9 MiB/s in 11s ETA: 0s
info: installing component 'rustfmt'
info: default toolchain set to 'stable-x86_64-unknown-linux-gnu'
stable-x86_64-unknown-linux-gnu installed - rustc 1.66.1 (90743e729 2023-01-10)
Rust is installed now. Great!
To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).
To configure your current shell, run:
source "$HOME/.cargo/env"
sammy@ubuntu:~$
Следно, извршете ја следнава команда за да го додадете директориумот Rust toolchain во променливата на околината PATH:
- source $HOME/.cargo/env
Чекор 2 - Потврдување на инсталацијата
Потврдете ја инсталацијата на Rust со барање на верзијата:
- rustc --version
Командата rustc --version
ја враќа верзијата на програмскиот јазик Rust инсталиран на вашиот систем. На пример:
Outputsammy@ubuntu:~$ rustc --version
rustc 1.66.1 (90743e729 2023-01-10)
sammy@ubuntu:~$
Чекор 3 - Инсталирање на компајлер
Rust бара програма за поврзување за да ги спои компајлираните излези во една датотека. Колекцијата на GNU компајлер (gcc
) во пакетот build-essential
вклучува поврзувач. Ако не инсталирате gcc
, тогаш може да ја добиете следнава грешка кога се обидувате да компајлирате:
error: linker `cc` not found
|
= note: No such file or directory (os error 2)
error: aborting due to previous error
Ќе користите apt
за да го инсталирате пакетот build-essential
.
Прво, ажурирајте го индексот на пакетот Apt:
- sudo apt update
Внесете ја вашата лозинка за да продолжите ако се побара. Командата apt update
дава список на пакети што може да се надградат. На пример:
Outputsammy@ubuntu:~$ sudo apt update
[sudo] password for sammy:
Hit:1 http://mirrors.linux-console.net/ubuntu focal InRelease
Get:2 http://mirrors.linux-console.net/ubuntu focal-updates InRelease [114 kB]
Hit:3 https://repos-droplet.linux-console.net/apt/droplet-agent main InRelease
Get:4 http://mirrors.linux-console.net/ubuntu focal-backports InRelease [108 kB]
Get:5 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Get:6 http://mirrors.linux-console.net/ubuntu focal-updates/main amd64 Packages [2336 kB]
Get:7 http://mirrors.linux-console.net/ubuntu focal-updates/main Translation-en [403 kB]
Get:8 http://mirrors.linux-console.net/ubuntu focal-updates/main amd64 c-n-f Metadata [16.2 kB]
Get:9 http://mirrors.linux-console.net/ubuntu focal-updates/restricted amd64 Packages [1560 kB]
Get:10 http://mirrors.linux-console.net/ubuntu focal-updates/restricted Translation-en [220 kB]
Get:11 http://mirrors.linux-console.net/ubuntu focal-updates/restricted amd64 c-n-f Metadata [620 B]
Get:12 http://mirrors.linux-console.net/ubuntu focal-updates/universe amd64 Packages [1017 kB]
Get:13 http://mirrors.linux-console.net/ubuntu focal-updates/universe Translation-en [236 kB]
Get:14 http://mirrors.linux-console.net/ubuntu focal-updates/universe amd64 c-n-f Metadata [23.2 kB]
Get:15 http://mirrors.linux-console.net/ubuntu focal-updates/multiverse amd64 Packages [25.2 kB]
Get:16 http://mirrors.linux-console.net/ubuntu focal-updates/multiverse Translation-en [7408 B]
Get:17 http://mirrors.linux-console.net/ubuntu focal-updates/multiverse amd64 c-n-f Metadata [604 B]
Get:18 http://mirrors.linux-console.net/ubuntu focal-backports/main amd64 Packages [45.7 kB]
Get:19 http://mirrors.linux-console.net/ubuntu focal-backports/main Translation-en [16.3 kB]
Get:20 http://mirrors.linux-console.net/ubuntu focal-backports/main amd64 c-n-f Metadata [1420 B]
Get:21 http://mirrors.linux-console.net/ubuntu focal-backports/universe amd64 Packages [24.9 kB]
Get:22 http://mirrors.linux-console.net/ubuntu focal-backports/universe Translation-en [16.3 kB]
Get:23 http://mirrors.linux-console.net/ubuntu focal-backports/universe amd64 c-n-f Metadata [880 B]
Get:24 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [1960 kB]
Get:25 http://security.ubuntu.com/ubuntu focal-security/main Translation-en [320 kB]
Get:26 http://security.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [11.7 kB]
Get:27 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [1463 kB]
Get:28 http://security.ubuntu.com/ubuntu focal-security/restricted Translation-en [207 kB]
Get:29 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 c-n-f Metadata [624 B]
Get:30 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [786 kB]
Get:31 http://security.ubuntu.com/ubuntu focal-security/universe Translation-en [152 kB]
Get:32 http://security.ubuntu.com/ubuntu focal-security/universe amd64 c-n-f Metadata [16.9 kB]
Get:33 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [22.2 kB]
Get:34 http://security.ubuntu.com/ubuntu focal-security/multiverse Translation-en [5464 B]
Get:35 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 c-n-f Metadata [516 B]
Fetched 11.2 MB in 5s (2131 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
103 packages can be upgraded. Run 'apt list --upgradable' to see them.
sammy@ubuntu:~$
Следно, надградете ги сите застарени пакети:
- sudo apt upgrade
Внесете Y
ако е побарано да продолжите со надградбите.
Кога ќе завршат надградбите, инсталирајте го пакетот build-essential
:
- sudo apt install build-essential
Внесете Y
кога ќе биде побарано да продолжите со инсталацијата. Инсталирањето е завршено кога вашиот терминал ќе се врати во командната линија без пораки за грешка.
Чекор 4 - Креирање, компајлирање и водење програма за тестирање
Во овој чекор, ќе креирате програма за тестирање за да го испробате Rust и да потврдите дека работи правилно.
Започнете со создавање на некои директориуми за складирање на тест скриптата:
- mkdir ~/rustprojects
- cd ~/rustprojects
- mkdir testdir
- cd testdir
Користете го nano
, или вашиот омилен текстуален уредувач, за да креирате датотека во testdir
за да го зачувате вашиот Rust код:
- nano test.rs
Треба да ја користите наставката .rs
за сите ваши програми Rust.
Копирајте го следниов код во test.rs
и зачувајте ја датотеката:
fn main() {
println!("Congratulations! Your Rust program works.");
}
Компилирајте го кодот користејќи ја командата rustc
:
- rustc test.rs
Извршете ја добиената извршна датотека:
- ./test
Програмата печати на терминалот:
Outputsammy@ubuntu:~/rustprojects/testdir$ ./test
Congratulations! Your Rust program works.
sammy@ubuntu:~/rustprojects/testdir$
Други најчесто користени команди за 'рѓа
Добра идеја е редовно да ја ажурирате инсталацијата на Rust на Ubuntu.
Внесете ја следнава команда за ажурирање на Rust:
- rustup update
Можете исто така да го отстраните Rust од вашиот систем, заедно со неговите поврзани складишта.
Внесете ја следнава команда за деинсталирање на Rust:
- rustup self uninstall
Од вас ќе биде побарано да внесете Y
за да продолжите со процесот на деинсталирање:
Outputammy@ubuntu:~/rustprojects/testdir$ rustup self uninstall
Thanks for hacking in Rust!
This will uninstall all Rust toolchains and data, and remove
$HOME/.cargo/bin from your PATH environment variable.
Continue? (y/N)
Внесете Y
за да продолжите:
OutputContinue? (y/N) y
info: removing rustup home
info: removing cargo home
info: removing rustup binaries
info: rustup is uninstalled
sammy@ubuntu:~/rustprojects/testdir$
Рѓата е отстранета од вашиот систем.
Заклучок
Сега кога го инсталиравте и тестиравте Rust на Ubuntu, продолжете со учењето со повеќе упатства за Ubuntu.