Podman compile » History » Version 1
상혁 손, 2025-10-11 23:42
| 1 | 1 | 상혁 손 | # Podman compile |
|---|---|---|---|
| 2 | |||
| 3 | * config.sh 내용 |
||
| 4 | |||
| 5 | #!/bin/bash |
||
| 6 | |||
| 7 | echo $PWD |
||
| 8 | |||
| 9 | export WORKING_DIR=$PWD |
||
| 10 | |||
| 11 | sudo apt update |
||
| 12 | sudo apt install -y \ |
||
| 13 | git make golang-go go-md2man \ |
||
| 14 | libseccomp-dev libapparmor-dev \ |
||
| 15 | pkg-config uidmap \ |
||
| 16 | slirp4netns \ |
||
| 17 | libsystemd-dev \ |
||
| 18 | btrfs-progs libbtrfs-dev \ |
||
| 19 | libglib2.0-dev \ |
||
| 20 | libgpgme-dev \ |
||
| 21 | libdevmapper-dev \ |
||
| 22 | gcc g++ \ |
||
| 23 | jq curl wget |
||
| 24 | |||
| 25 | cd /tmp |
||
| 26 | wget https://go.dev/dl/go1.23.2.linux-amd64.tar.gz |
||
| 27 | sudo rm -rf /usr/local/go |
||
| 28 | sudo tar -C /usr/local -xzf go1.23.2.linux-amd64.tar.gz |
||
| 29 | echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc |
||
| 30 | source ~/.bashrc |
||
| 31 | go version |
||
| 32 | |||
| 33 | cd $WORKING_DIR |
||
| 34 | make clean |
||
| 35 | make BUILDTAGS="seccomp apparmor systemd" |
||
| 36 | |||
| 37 | 위와 같이 빌드했을때 마지막에 에러가 날수있지만 |
||
| 38 | bin/podman --version에서 정상적인 버전이 출력되면 |
||
| 39 | sudo cp -av bin/podman /usr/local/bin/. |
||
| 40 | 해서 사용하면 됨 |
||
| 41 | |||
| 42 | * cgroups-v1 워닝 없애기 |
||
| 43 | stat -fc %T /sys/fs/cgroup/ |
||
| 44 | 위 명령어 결과에 따라 |
||
| 45 | tmpfs --> cgroups v1 |
||
| 46 | cgroup2fs --> cgroups v2 |
||
| 47 | |||
| 48 | * 해결책은 grub 업데이트 |
||
| 49 | sudo nano /etc/default/grub |
||
| 50 | GRUB_CMDLINE_LINUX="systemd.unified_cgroup_hierarchy=1" 또는 |
||
| 51 | GRUB_CMDLINE_LINUX="quiet splash systemd.unified_cgroup_hierarchy=1" |
||
| 52 | 을 추가하여 |
||
| 53 | sudo update-grub |
||
| 54 | sudo reboot |
||
| 55 | 이후에 |
||
| 56 | stat -fc %T /sys/fs/cgroup/ |
||
| 57 | 명령어로 다시 확인 |