코딩일지(2024-06-25)
Autoware 설치작업에 들어가다(2)
아직 주변적인 것들을 설치할게 좀 더 남았다.
우분투 22.04에 Docker 설치하기
해당 사이트(링크)를 참고했다.
1.우분투 시스템 패키지 업데이트
sudo apt-get update
2.필요한 패키지 설치
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
3.Docker의 공식 GPG키 추가
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4.Docker의 공식 apt저장소를 추가
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
5.시스템 패키지 업데이트
sudo apt-get update
6.Docker 설치
sudo apt-get install docker-ce docker-ce-cli containerd.io
7.Docker 설치 확인
7-1)도커 실행상태 확인
sudo systemctl status docker
7-2)도커 실행
sudo docker run hello-world
고찰 및 한계
현재 위 프로세스를 통해 docker를 실행할 수 있게 되었다. 하지만 항상 docker명령어를 실핼할 때마다 관리자 권한으로 실행해야 실행이 된다는 한계가 있다.
그래서 docker 명령어에 디폴트로 관리가 계정 권한을 부여하고자 한다.
우분투 22.04에 설치한 Docker에 계정권한을 부여하기
1.docker 관련 계정 권한 부여
sudo usermod -aG docker $USER
docker를 사용하는데 있어 root 권한이 필요하다?
그라믄 docker그룹에 root 권한을 추가해주면 된다!
2.현재 접속중인 사용자 계정 확인
3.해당 계정의 권한부여 후 docker service 재시작
sudo service docker restart
4.Docker service 상태 확인
sudo service docker status
[업데이트]
이준영 선배님이 주신 명령어 셋트를 보니 한줄만에 사용자를 도커그룹에 추가하는 명령이 있었다. 이거 한줄이면 sudo
명령어를 사용하지 않고도 Docker 명령어를 실행할 수 있다고 한다.
format:
sudo usermod -aG docker [username]
me:
sudo usermod -aG docker jacksmith
우분투 22.04에 rocker 설치하기
1.밑밥 깔기
sudo apt update
2.패키지 설치
sudo apt install curl gnupg lsb-release
3.curl 유틸리티를 써서 특정경로에서 키파일 다운로드 받고, 로컬경로에 저장
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
위에서 받은
4.APT소스 항목 생성하고 APT소스 목록에 추가
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
chatgpt에 위 명령어를 물어봐도 apt 리포지토리에 대한 이해가 안잡혀 있어서 뭔말인지 이해를 못했다.킹받는다…
다음에 시간을 좀더 갖고 이해하려고 노력해봐야겠다.
Docker에 autoware 설치하기
일단 도커 프로세스의 기본적인 그림은 다음과 같다.
위와 같이 세가지 단계가 있다.
1.도커허브에서 이미지 다운로드
사용자는 docker pull
명령어로 도커허브에서 이미지를 땡겨온다. 예전에 docker pull ubuntu
명령어를 한적이 있는데 이건 ubuntu 이미지를 땡겨온거다.
2.도커 이미지
다운로드된 이미지는 로컬 시스템에 저장된다. 이 이미지에 대해서는 무결성이 보장되어 여러 컨테이너를 같은 설정으로 재사용하여 생성하는게 가능하다.
3.도커 컨테이너 실행
사용자는 docker run
명령어를 사용하여 이미지를 기반으로 컨테이너를 실행한다. 예를 들어, docker run -it ubuntu
명령어를 사용하게 되면, 우분투 이미지를 기반으로 대화형 터미널이 열리면서 사용자 그 이미지 기반의 OS환경에서 명령어를 실행하면서 인터렉티브하게 개발하는게 가능해진다.
나는 이걸 포켓몬에 비유할 수 있을 것 같다.포켓볼에서 피카츄가 나오듯이, 이 포켓볼 하나만 들고 다니면, 굳이 무거운 OS나 복잡한 아키텍처들을 손쉽게 까서 사용할 수 있는 것이다.
내가 위에처럼 우분투랑 데비안의 이미지를 도커허브에서 받아왔다고 치자. 이떄 우분투가 올라간 컴퓨터를 하나 실행해야 한다면?
아래와 같이 포켓볼을 던지면 된다.
이제 본격적으로 딥하게 들어가보자면, 아래와 같이 autoware를 설치할 계획이다.
위에서 파란색 박스 두개를 보면 총 두개의 아이템이 있다
- autoware-humble-24.01.tar
- autoware-universe[Image]
여기서 전자는 이미지파일을 .tar 확장자로 압축한 것이다. 이거를 이미지 파일로 복원하려면 그냥 무턱대로 압축을 푸는 뻘짓을 해서는 안되고, 이거를 “Image Load”라는 작업을 거쳐야 한다. 참고할 사이트는 여기를 클릭!
어쩃든! 나는 Nguyen선배님을 통해 아래 share링크를 받아 설치를 진행했다.
그리고 이미지를 아래와 같이 로드해주었다.
format:
docker load -i /home/[User]/Downloads/autoware-humble-24.01.tar
me:
docker load -i /home/jacksmith/Downloads/autoware-humble-24.01.tar
댓글남기기