우분투 개발 환경 설정

곽태욱·2020년 5월 12일
2

VirtualBox

Ubuntu

Visual Studio Code

sudo dpkg -i <파일이름>.deb

Visual Studio Code 홈페이지에서 .deb 파일을 다운받고, 위 명령어를 통해 설치할 수 있다.

Git

설치

> sudo apt update
> sudo apt upgrade

리눅스 설치 프로그램인 apt의 업데이트가 필요하다면 위 명령어를 입력한다.

> sudo apt install git

리눅스(우분투) 기준으로 apt를 통해 git을 설치한다.

git config 설정

Git을 설치한 후 user.emailuser.name을 최초 1번 설정해야 한다. 글로벌로 설정할 수도 있고, Git 저장소마다 일일이 설정할 수도 있다.

여기서 user.name은 아래 사진과 같이 커밋에 표시되는 이름이다.

추가

> git config --global user.email <이메일주소>
> git config --global user.name <이름>

삭제

> git config --global --unset-all user.email

확인

> git config --list
> git config --global --list

원격 저장소 생성

깃허브(GitHub)에 계정을 만들고, 그 계정에 새로운 저장소(repository)를 만든다.

깃허브 서버에 있는 저장소를 원격 저장소(remote repository)라고 한다. 위 화면이 새로운 저장소를 만드는 화면이다. 로컬 저장소를 깃허브 서버에 업로드 할 땐 저장소 이름, 설명, 공개 범위는 마음대로 설정해도 되지만, 아래 3개 항목은 기본값(체크 해제, None, None)으로 둬야 한다.

로컬 저장소 생성

> git init

해당 디렉토리를 로컬 저장소로 설정한다는 의미다. 즉, 해당 폴더를 깃으로 관리하겠다는 뜻이다. 로컬 저장소로 설정할 폴더에서 1번만 하면 된다.

원격 저장소 설정

추가

> git remote add origin <저장소주소>

origin 자리에는 원격 저장소의 이름을 설정할 수 있는데, 일반적으로 origin으로 설정한다. 로컬 저장소당 1번만 하면 된다.

확인

> git remote show
> git remote show <저장소이름>
> git remote -v

원격 저장소 목록을 확인하는 방법은 3가지가 있다. 각각 보여주는 정보가 약간씩 다르다.

삭제

> git remote rm <저장소이름>
> git remote remove <저장소이름>

원격 저장소를 삭제하는 방법은 2가지가 있다. 둘 다 동일하다.

파일 변경 사항 반영

추가

> git add .
> git add <파일상대경로>

이번 커밋에 어느 파일의 변경 사항을 포함할지 선택한다. add를 통해 커밋에 포함할 파일을 하나씩 하나씩 추가할 수 있다. 이 과정이 번거로우면 .을 이용할 수도 있다.

Staged 파일은 이번 커밋에 반영되는 파일을 뜻한다. 그래서 add를 통해 추가한 파일을 staged 파일이라고 하고, 추가하지 않은 나머지 파일을 unstaged 파일이라고 한다.

  • . : 해당 폴더 내 모든 파일의 변경사항을 커밋에 반영하는 옵션이다.

확인

> git diff --name-only --staged head

위 명령어를 통해 현재 staged 파일의 목록을 볼 수 있다.

  • --name-only : 파일 이름만 보여주는 옵션이다.

  • --staged : staged 상태의 파일 목록을 보여주는 옵션이다. --cached 옵션이랑 동일하다.

  • head : 기본 옵션으로서 생략할 수 있다. HEAD가 가리키는 커밋의 변경 사항을 보여주는 옵션이다. HEAD는 일반적으로 마지막 커밋을 가리킨다. (다른 커밋 변경 사항도 출력 가능?)

> git status

또는 위 명령어로 staged 파일과 unstaged 파일, untracked 파일 목록을 모두 볼 수 있다.

삭제

> git restore --staged <file>

커밋

생성

> git commit -m "Commit Message"

새로운 커밋을 생성한다. 커밋은 일종의 버전으로서 커밋 내용을 보고 파일의 변경 사항을 확인할 수 있다. 원래 깃이 파일 버전 관리를 위해 등장했기 때문에 커밋은 깃의 핵심 기능이라고 볼 수 있다.

  • -m : 커밋 메시지를 입력하겠다는 옵션으로 필수 옵션이다. 커밋 시 반드시 커밋 메시지를 입력해야 커밋이 가능하다.

확인

> git log
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date:   Mon Mar 17 21:52:11 2008 -0700

    changed the version number

commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon <schacon@gee-mail.com>
Date:   Sat Mar 15 16:40:33 2008 -0700

    removed unnecessary test

commit a11bef06a3f659402fe7563abf99ad00de2209e6
Author: Scott Chacon <schacon@gee-mail.com>
Date:   Sat Mar 15 10:31:28 2008 -0700

    first commit

위와 같이 커밋 기록이 출력된다. 위는 예시 출력이다.

삭제

원격 저장소에 커밋 업로드

> git push -u origin master

파일을 실제로 원격 저장소에 업로드하는 명령어다. 로컬 저장소의 master 브랜치 커밋 사항을 origin(원격 저장소)에 반영한다는 의미다. 명령어를 입력하면 해당 원격 저장소로 push할 권한을 얻기 위해 로그인하는 창이 뜬다. push한 후 깃허브의 해당 저장소를 확인하면 커밋이 잘 반영됐을 것이다.

  • origin : Git의 원격 저장소는 로컬 저장소와 구분하기 위해 자동으로 origin 이라는 이름이 붙는다.

  • master : 로컬 저장소의 브랜치 이름을 입력한다. 해당 브랜치의 커밋 기록이 원격 저장소로 업로드된다.

  • -u : origin master를 기본값으로 설정하겠다는 의미다. 앞으론 git push만 입력해도 로컬 저장소의 master 브랜치 커밋 기록이 origin으로 업로드된다.

Python

> python3 --version

우분투 20.04에 파이썬3은 이미 설치되어 있다. 위 명령어를 통해 파이썬의 버전을 확인할 수 있다.

> sudo apt install python3-pip
> pip3 install black

위 명령어를 통해 파이썬 패키지 관리자인 pip을 설치하고, pip로 파이썬 코드를 자동으로 정렬해주는 프로그램인 black을 설치한다. (pylint도 필요하나?)

그리고 Visual Studio Code에서 Python 확장 프로그램을 설치하고,

// setting.json
{
  "python.formatting.provider": "black",
  "editor.formatOnSave": true
  
}

Visual Studio Code의 setting.json에 위 2가지를 추가한다. 그러면 파이썬 파일을 저장할 때 자동으로 코드가 PEP 8 형식으로 정렬된다.

// setting.json
{
  "python.formatting.blackArgs": ["--line-length", "100"]
}

"python.formatting.blackArgs"로 정렬 형식을 지정할 수도 있다. 위 옵션은 1 라인을 최대 100자까지 허용한다는 뜻이다. Black의 기본값은 88자이다.

Java

> sudo apt update
> sudo apt upgrade

위 명령어를 통해 우분투 패키지 관리자인 apt를 업데이트 해주고

> sudo apt install openjdk-14-jdk

위 명령어를 통해 Java 14 Development Kit 설치한다.

C

GCC

> sudo apt install gcc
> gcc --version

우분투 20.04에는 기본적으로 C 컴파일러인 gcc가 설치되어 있다. 없다면 위 명령어로 설치하고 버전을 확인한다.

> gcc <소스코드>.c

gcc main.c

동일한 디렉토리에 소스 코드를 컴파일한 a.out이라는 바이너리 파일(실행 가능한 파일)이 생성된다.

> gcc <파일이름> <소스코드>.c

gcc main main.c

바이너리 파일 이름을 지정할 수 있다. 지정한 이름의 바이너리 파일이 동일한 디렉토리에 생성된다.

Code formatter

{
    ...,
    "editor.formatOnSave": true,
    "C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}"
}

Visual Studio Code에서 파일을 저장할 때마다 C 코드를 자동으로 구글 스타일로 바꿔주도록 설정을 바꿀 수 있다. 기본은 Visual Studio다. settings.json에서 바꿔줄 수 있다.

  • IndentWidth: 들여쓰기 폭을 설정할 수 있다. 4는 스페이스 4개를 의미한다.

  • ColumnLimit: 한 줄 당 최대 글자 수. 이를 넘어가면 코드를 여러 줄에 걸쳐 정렬해준다. 0은 제한없다는 뜻이다.

Make

CMake

> sudo apt install cmake
> cmake CMakelists.txt
> make
> ./<바이너리파일>
profile
이유와 방법을 알려주는 메모장 겸 블로그. 블로그 내용에 대한 토의나 질문은 언제나 환영합니다.

1개의 댓글

comment-user-thumbnail
2021년 11월 5일

감사합니다 우분투 처음 시작하면서 도움이 많이 되었습니다!

답글 달기