Rust를 Ubuntu에 설치하고 프로그램을 실행하십시오.

Rust를 Ubuntu에 설치하고 프로그램을 실행하십시오.

2022-10-06 last update

7 minutes reading 우분투20.04 WSL2 Rust install

소개



Rust(라스트)는 C 언어, C++를 대체하는 시스템 프로그래밍 언어라고 합니다. OS나 언어를 기술하는데 적합한 언어라고 하는 것입니다.

Windows에서 Linux 환경을 구축하는 방법에는 WSL이 있습니다. WSL(Windows Subsystem for Linux)은 Windows 10 및 Windows Server에서 Linux 바이너리 실행 파일을 실행할 수 있도록 합니다. 이 기사에서는 WSL의 Ubuntu20.04에 Rust를 설치하고 간단한 프로그램을 실행할 때까지 소개합니다.

참고 URL



WSL로 Windows에 Ubuntu 환경을 구축하는 방법은 아래 링크의 기사에 자세히 있으므로, 좋으면 참고로하십시오.
Linux와 Windows의 욕심 많은 환경을 손에 넣으십시오

Windows, macOS에서의 설치 방법 등은 아래 링크를 참조하십시오.
Rust를 Windows/Ubuntu/macOS에 설치하여 샘플 프로그램을 실행
이 논문은 자신의 블로그에서 전재되었습니다.

Rust 설치



우분투의 경우 먼저 C 컴파일러(gcc)를 설치합니다.
$ sudo apt install gcc

그런 다음 터미널에서 curl 명령을 실행하여 rust를 설치합니다. 프롬프트 ">"가 표시되면 "1"을 입력하십시오.
$ curl https://sh.rustup.rs -sSf | sh
info: downloading installer
Welcome to Rust!
 < 略 >
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>1

여기서 일단 Ubuntu를 종료하고 다시 시작합니다. exit를 입력하고 시작 메뉴에서 Ubuntu를 시작합니다.



Ubuntu 재부팅이 완료되면 rust 관련 명령을 실행할 수 있는지 확인합니다. 이미 PATH 환경 변수 설정도 수행되었습니다.
$ rustc -V
rustc 1.51.0 (2fd73fabe 2021-03-23)
$ cargo -V
cargo 1.51.0 (43b129a20 2021-03-16)

Hello World를 보자.



원하는 위치에 "rust"폴더를 만듭니다.
그런 다음 cargo new 프로젝트 이름으로 프로젝트를 만듭니다. 아래에서는 프로젝트 이름을 "show_os_ver"로 지정했습니다.
$ mkdir rust
$ cd rust
$ cargo new show_os_ver
     Created binary (application) `show_os_ver` package

프로젝트의 디렉토리 구성을 tree 명령으로 표시한 것이 아래의 그림입니다.
$ sudo apt install tree
$ tree
.
└── show_os_ver
    ├── Cargo.toml
    └── src
        └── main.rs

show_os_ver/src/main.rs가 소스 코드입니다.
$ cd show_os_ver/src
$ cat main.rs
fn main() {
    println!("Hello, world!");
}

이미 "Hello World"를 출력하는 프로그램이 있기 때문에 이것을 빌드하고 실행합니다.
cargo run 명령이 유용합니다. 빌드와 실행을 단번에 실시해 줍니다.
$ cargo run
   Compiling show_os_ver v0.1.0 (/home/linux/works/rust/show_os_ver)
    Finished dev [unoptimized + debuginfo] target(s) in 0.17s
     Running `/home/linux/works/rust/show_os_ver/target/debug/show_os_ver`
Hello, world!

OS 버전 보기



여기까지는 프로그램을 아무것도 만들지 않았습니다. 그래서 OS 버전을 표시하는 간단한 프로그램을 만들어 보겠습니다.
편집기에서 main.rs를 편집합니다.
use std::process::Command;
fn main() {
    let proc = Command::new("/usr/bin/cat")
        .args(&["/etc/lsb-release"])
        .output()
        .expect("Failed to start `cat`");
    println!("{}", String::from_utf8_lossy(&proc.stdout));
}

프로그램에서
"/usr/bin/cat/etc/lsb-release"
를 실행하여 cat에서 받은 출력 결과를 표시합니다. lsb-release 파일은 우분투 버전이 포함된 텍스트 파일입니다.
  • let proc = Command::new 줄에서 cat 명령을 실행합니다.
  • .args 로 cat 에 주는 인수를 지정합니다.
  • .output() 에서 cat의 실행 완료를 기다리는 동시에 출력을 받습니다.
  • .expect로 예외 처리를 등록합니다.
  • println!(“{}”,···); 로 cat의 실행 결과를 표시합니다.

  • 즉시 실행해 보겠습니다.
    $ cargo run
       Compiling show_os_ver v0.1.0 (/home/linux/works/rust/show_os_ver)
        Finished dev [unoptimized + debuginfo] target(s) in 0.24s
         Running `/home/linux/works/rust/show_os_ver/target/debug/show_os_ver`
    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=20.04
    DISTRIB_CODENAME=focal
    DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"
    

    OS 버전을 볼 수 있습니다.

    결론



    macOS나 Windows에서 위와 같은 것을 해보고 싶은 분은 아래의 기사를 부디!
    Rust를 Windows/Ubuntu/macOS에 설치하여 샘플 프로그램을 실행