From aaf44821dbd052dd5c24109e1713ee06b011ef53 Mon Sep 17 00:00:00 2001 From: happybell80 Date: Mon, 9 Mar 2026 17:38:06 +0900 Subject: [PATCH] docs: record current 51124 ssh access --- ...คํŠธ์›Œํฌ๋Œ€์—ญ์˜ค๋ฅ˜_python3apt๋ณต๊ตฌ.md | 156 ++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 journey/troubleshooting/260309_24์„œ๋ฒ„_์šฐ๋ถ„ํˆฌํ„ฐ๋ฏธ๋„๋ถˆ๊ฐ€_๋„คํŠธ์›Œํฌ๋Œ€์—ญ์˜ค๋ฅ˜_python3apt๋ณต๊ตฌ.md diff --git a/journey/troubleshooting/260309_24์„œ๋ฒ„_์šฐ๋ถ„ํˆฌํ„ฐ๋ฏธ๋„๋ถˆ๊ฐ€_๋„คํŠธ์›Œํฌ๋Œ€์—ญ์˜ค๋ฅ˜_python3apt๋ณต๊ตฌ.md b/journey/troubleshooting/260309_24์„œ๋ฒ„_์šฐ๋ถ„ํˆฌํ„ฐ๋ฏธ๋„๋ถˆ๊ฐ€_๋„คํŠธ์›Œํฌ๋Œ€์—ญ์˜ค๋ฅ˜_python3apt๋ณต๊ตฌ.md new file mode 100644 index 0000000..3235a62 --- /dev/null +++ b/journey/troubleshooting/260309_24์„œ๋ฒ„_์šฐ๋ถ„ํˆฌํ„ฐ๋ฏธ๋„๋ถˆ๊ฐ€_๋„คํŠธ์›Œํฌ๋Œ€์—ญ์˜ค๋ฅ˜_python3apt๋ณต๊ตฌ.md @@ -0,0 +1,156 @@ +--- +tags: [infra, 24-server, ubuntu, gnome-terminal, network, python, apt, troubleshooting] +--- + +# 24์„œ๋ฒ„ ์šฐ๋ถ„ํˆฌ ํ„ฐ๋ฏธ๋„ ๋ถˆ๊ฐ€, ๋„คํŠธ์›Œํฌ ๋Œ€์—ญ ์˜ค๋ฅ˜, python3-apt ๋ณต๊ตฌ ๊ธฐ๋ก + +## ์ƒ์œ„ ์›์น™ +- [Infra Project Identity](../../00_Philosophy/00_IDENTITY/Infra_Project_Identity.md) +- [Core Infrastructure Principles](../../00_Philosophy/01_PRINCIPLES/Core_Infrastructure_Principles.md) +- [Operational Guardrails](../../00_Philosophy/02_GUARDRAILS/Operational_Guardrails.md) +- ๊ณตํ†ต ์ž‘์„ฑ ์›์น™: `/home/admin/0_VALUE/02_Governance/writing-principles.md` + +## ๊ด€๋ จ ๋ฌธ์„œ +- [Infra Journey](../README.md) +- [23์„œ๋ฒ„ ์›Œํฌ์ŠคํŽ˜์ด์Šค-์ธํ”„๋ผ ๊ตฌ์กฐ์ •๋ฆฌ ์ด์Šˆ](./260307_23์„œ๋ฒ„_์›Œํฌ์ŠคํŽ˜์ด์Šค_์ธํ”„๋ผ_๊ตฌ์กฐ์ •๋ฆฌ_์ด์Šˆ.md) + +## ์‚ฌ๊ฑด ์š”์•ฝ +- 24 ์„œ๋ฒ„์—์„œ GUI ํ„ฐ๋ฏธ๋„์ด ์—ด๋ฆฌ์ง€ ์•Š์•„ `Ctrl + Alt + F3`๋กœ ํ…์ŠคํŠธ ์ฝ˜์†”(TTY, ๊ทธ๋ž˜ํ”ฝ ์—†์ด ๋ช…๋ น๋งŒ ์ž…๋ ฅํ•˜๋Š” ์ฝ˜์†”)๋กœ ์ง„์ž…ํ•ด ๋ณต๊ตฌ๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค. +- ์ดˆ๋ฐ˜์—๋Š” `apt update`๊ฐ€ ์‹คํŒจํ•ด ํŒจํ‚ค์ง€ ๋ฌธ์ œ์ฒ˜๋Ÿผ ๋ณด์˜€์ง€๋งŒ, ์‹ค์ œ ์„ ํ–‰ ์›์ธ์€ ์ž˜๋ชป๋œ IP ๋Œ€์—ญ ์œ ์ง€์˜€๋‹ค. +- ๋„คํŠธ์›Œํฌ ๋ณต๊ตฌ ํ›„์—๋Š” `ModuleNotFoundError: No module named 'apt_pkg'`๊ฐ€ ๋‚จ์•˜๊ณ , ์ด๋Š” Ubuntu 22.04 ์‹œ์Šคํ…œ Python ๊ธฐ์ค€์ด `3.10`์ด์–ด์•ผ ํ•˜๋Š”๋ฐ `python3` ๊ธฐ๋ณธ ๋งํฌ๊ฐ€ `3.13`์œผ๋กœ ๋ฐ”๋€ ์ƒํƒœ์™€ ์—ฐ๊ฒฐ๋๋‹ค. + +## ์ฆ์ƒ +- GUI ํ„ฐ๋ฏธ๋„ ์‹คํ–‰ ๋ถˆ๊ฐ€ +- `apt update` ์‹คํŒจ +- ์ด๋ฆ„ ํ•ด์„ ์‹คํŒจ ๋ฉ”์‹œ์ง€ ๊ด€์ธก +- `ping 8.8.8.8` ์ด์ „ ๋‹จ๊ณ„์—์„œ ๊ฒŒ์ดํŠธ์›จ์ด ๋„๋‹ฌ ์‹คํŒจ +- ๋„คํŠธ์›Œํฌ ๋ณต๊ตฌ ํ›„ `ModuleNotFoundError: No module named 'apt_pkg'` ๋ฐœ์ƒ + +## ํ™•์ธ๋œ ์‚ฌ์‹ค +### 1. ๋„คํŠธ์›Œํฌ +- 24 ์„œ๋ฒ„์—๋Š” ๊ธฐ์กด ๊ณ ์ • IP `192.168.219.52`๊ฐ€ ๋‚จ์•„ ์žˆ์—ˆ๋‹ค. +- ์‹ค์ œ ์šด์˜ LAN ๋Œ€์—ญ์€ ๋‹ค๋ฅธ ์žฅ์น˜ ๊ธฐ์ค€ `192.168.0.x`์˜€๋‹ค. +- `sudo dhclient -v eno1` ์‹คํ–‰ ํ›„ `192.168.0.106`์„ ์ƒˆ๋กœ ๋ฐ›์•„ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์ด ์‚ด์•„๋‚ฌ๋‹ค. +- ์ดํ›„ ์ธํ„ฐํŽ˜์ด์Šค์— `192.168.219.52`์™€ `192.168.0.106`์ด ๋™์‹œ์— ๋ถ™์–ด ์žˆ์–ด, ์ด์ „ ๊ณ ์ • IP๊ฐ€ ์ž”์กดํ•œ ์ƒํƒœ๋กœ ํ™•์ธ๋๋‹ค. +- `ping 8.8.8.8` ์„ฑ๊ณต์œผ๋กœ DNS ์ด์ „ ๋‹จ๊ณ„์˜ ์™ธ๋ถ€ ์—ฐ๊ฒฐ์€ ๋ณต๊ตฌ๋œ ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ–ˆ๋‹ค. + +### 2. Python / apt +- ๋„คํŠธ์›Œํฌ ๋ณต๊ตฌ ๋’ค์—๋„ `apt`๊ฐ€ `apt_pkg` ๋ชจ๋“ˆ์„ ์ฐพ์ง€ ๋ชปํ–ˆ๋‹ค. +- `python3 --version` ํ™•์ธ ๊ฒฐ๊ณผ 24 ์„œ๋ฒ„์˜ ๊ธฐ๋ณธ `python3`๊ฐ€ `3.13.5`์˜€๋‹ค. +- Ubuntu 22.04 ๊ณ„์—ด์˜ `python3-apt`๋Š” `Python 3.10 ABI`(Application Binary Interface, ํŒŒ์ด์ฌ ํ™•์žฅ ๋ชจ๋“ˆ์ด ๋งž์ถฐ์ ธ์•ผ ํ•˜๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ทœ๊ฒฉ)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ œ๊ณต๋œ๋‹ค. +- ๋”ฐ๋ผ์„œ `python3 -> 3.13` ์ƒํƒœ์—์„œ๋Š” `python3-apt`๊ฐ€ ์„ค์น˜๋ผ ์žˆ์–ด๋„ `apt_pkg`๋ฅผ ๋ถˆ๋Ÿฌ์˜ค์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ๋‹ค. + +### 3. ์ตœ์ข… ๋ณต๊ตฌ ๋ฐฉํ–ฅ +- ์‹œ์Šคํ…œ Python ๊ธฐ์ค€์„ `3.10`์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ณ , +- `python3-apt`๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•œ ๋’ค, +- `apt update`๊ฐ€ ์ •์ƒ ์™„๋ฃŒ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜๋Š” ์ˆœ์„œ๊ฐ€ ๋งž์•˜๋‹ค. + +## ์›์ธ ์ •๋ฆฌ +### ์ง์ ‘ ์›์ธ +- 24 ์„œ๋ฒ„ NIC(Network Interface Card, ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค) `eno1`์— ํ˜„์žฌ LAN๊ณผ ๋งž์ง€ ์•Š๋Š” ๊ณผ๊ฑฐ ๋Œ€์—ญ `192.168.219.52/24`๊ฐ€ ๋‚จ์•„ ์žˆ์—ˆ๋‹ค. +- Ubuntu ์‹œ์Šคํ…œ Python ๋งํฌ๊ฐ€ `3.13`์œผ๋กœ ๋ฐ”๋€Œ์–ด `apt`์˜ Python ๋ฐ”์ธ๋”ฉ์ด ๊นจ์กŒ๋‹ค. + +### ๊ทผ๋ณธ ์›์ธ +- ๋„คํŠธ์›Œํฌ ๊ธฐ์ค€๊ฐ’๊ณผ ์‹ค์ œ ์—ฐ๊ฒฐ๋œ LAN ๋Œ€์—ญ์ด ์–ด๊ธ‹๋‚œ ์ฑ„ ๊ณ ์ • IP ํ”์ ์ด ๋‚จ์•„ ์žˆ์—ˆ๋‹ค. +- ๊ฐœ๋ฐœ์šฉ Python 3.13์„ ์‹œ์Šคํ…œ Python ์ž๋ฆฌ์— ์˜ฌ๋ ค Ubuntu 22.04์˜ ๊ธฐ๋ณธ ํŒจํ‚ค์ง€ ์ฒด์ธ๊ณผ ๋ถ„๋ฆฌ๋˜์ง€ ์•Š์•˜๋‹ค. + +## ์‹ค์ œ ๋ณต๊ตฌ ์ˆœ์„œ +### 1. ๋„คํŠธ์›Œํฌ ๋ณต๊ตฌ +```bash +sudo dhclient -v eno1 +sudo ip addr del 192.168.219.52/24 dev eno1 +``` + +### 2. ์‹œ์Šคํ…œ Python ๊ธฐ์ค€ ๋ณต๊ตฌ +```bash +sudo ln -sf /usr/bin/python3.10 /usr/bin/python3 +sudo apt install --reinstall python3-apt -y +``` + +ํ•„์š” ์‹œ ์„ ํ–‰ ๋ณต๊ตฌ ๋ช…๋ น: + +```bash +sudo apt install python3.10 python3.10-minimal python3.10-distutils -y +``` + +### 3. ํŒจํ‚ค์ง€ ๊ฐฑ์‹  ํ™•์ธ +```bash +sudo apt update +sudo apt upgrade -y +``` + +## Python ๊ด€๋ จ ํ•ต์‹ฌ ํ•ด์„ค +- Ubuntu 22.04๋Š” ์‹œ์Šคํ…œ ๋„๊ตฌ ๋‹ค์ˆ˜๊ฐ€ `python3.10` ๊ธฐ์ค€์œผ๋กœ ํŒจํ‚ค์ง•๋ผ ์žˆ๋‹ค. +- ์—ฌ๊ธฐ์—๋Š” `apt`, `software-properties`, ์ผ๋ถ€ ๋ฐฐํฌ ๊ด€๋ฆฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ํฌํ•จ๋œ๋‹ค. +- ๋”ฐ๋ผ์„œ `python3` ๊ธฐ๋ณธ ๋งํฌ๋ฅผ `3.13`์œผ๋กœ ๋ฐ”๊พธ๋ฉด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์€ ํŽธํ•  ์ˆ˜ ์žˆ์–ด๋„ ์‹œ์Šคํ…œ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ์ฒด์ธ์ด ๊นจ์งˆ ์ˆ˜ ์žˆ๋‹ค. +- Python 3.13์ด ํ•„์š”ํ•˜๋ฉด ์‹œ์Šคํ…œ ๋งํฌ๋ฅผ ๋ฐ”๊พธ์ง€ ๋ง๊ณ  ์•„๋ž˜ ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜๋กœ ๋ถ„๋ฆฌํ•ด์•ผ ํ•œ๋‹ค. + +```bash +/usr/bin/python3.13 +python3.13 -m venv .venv +``` + +- ์ฆ‰ 24 ์„œ๋ฒ„ ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ "Python 3.13 ์„ค์น˜" ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ "Ubuntu ์‹œ์Šคํ…œ python3๋ฅผ 3.13์œผ๋กœ ๊ต์ฒดํ•œ ๊ฒƒ"์ด์—ˆ๋‹ค. + +## ๊ฒ€์ฆ ๊ฒฐ๊ณผ +### 24 ์„œ๋ฒ„ +- DHCP๋กœ `192.168.0.x` ๋Œ€์—ญ IP๋ฅผ ๋‹ค์‹œ ๋ฐ›์•˜๋‹ค. +- 2026-03-09 ํ˜„์žฌ SSH ์ ‘์† ๊ธฐ์ค€์€ `ssh -p 51124 -i ~/.ssh/id_rsa_51123_to_51124 admin@192.168.0.106`์ด๋‹ค. +- ์™ธ๋ถ€ IP `8.8.8.8` ๋Œ€์ƒ ping ์„ฑ๊ณต์ด ํ™•์ธ๋๋‹ค. +- `apt update`๊ฐ€ ์ตœ์ข…์ ์œผ๋กœ ์ •์ƒ ๋™์ž‘ํ•˜๋Š” ์ƒํƒœ๊นŒ์ง€ ๋ณต๊ตฌ๋๋‹ค. +- ๋ณต๊ตฌ ์™„๋ฃŒ ์‹œ์ ์— `233 packages can be upgraded` ๋ฉ”์‹œ์ง€๊ฐ€ ๊ด€์ธก๋ผ ํŒจํ‚ค์ง€ ๋ชฉ๋ก ๋กœ๋“œ๊ฐ€ ์ •์ƒํ™”๋œ ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ–ˆ๋‹ค. +- 23 ์„œ๋ฒ„์—์„œ ์œ„ SSH ๋ช…๋ น์œผ๋กœ ์‹ค์ œ ์ ‘์† ๊ฒ€์ฆ ์‹œ `hostname=robeing-i9`, `user=admin` ์‘๋‹ต์„ ํ™•์ธํ–ˆ๋‹ค. + +### 23 ์„œ๋ฒ„ ํ˜„์žฌ ์ ๊ฒ€ ๋ฒ”์œ„ +- ๋ณธ ๋ฌธ์„œ๋Š” 2026-03-09 ํ˜„์žฌ ์ž‘์—… ํ™˜๊ฒฝ์—์„œ 23 ์„œ๋ฒ„๋กœ ์‚ฌ์šฉ ์ค‘์ธ ํ˜ธ์ŠคํŠธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ™•์ธํ–ˆ๋‹ค. +- ํ™•์ธ ๊ฒฐ๊ณผ: + - `hostname`: `robeing-brains` + - `Ubuntu`: `22.04.5 LTS` + - `kernel`: `6.8.0-101-generic` + - ๋ฌผ๋ฆฌ NIC: `enp6s0`, ์ฃผ์†Œ `192.168.0.100/24` + - ๊ธฐ๋ณธ ๊ฒŒ์ดํŠธ์›จ์ด: `192.168.0.1` + - `uptime`: `2 days, 18:36` + - ๋ฃจํŠธ ๋””์Šคํฌ ์‚ฌ์šฉ๋ฅ : `38%` (`/dev/sda2`, `81G/228G`) + - ๋ฉ”๋ชจ๋ฆฌ: `29Gi` ์ค‘ `7.0Gi` ์‚ฌ์šฉ, `21Gi` available + - `python3 --version`: `Python 3.10.12` + - `/usr/bin/python3 -> /usr/bin/python3.10` + - `/usr/lib/python3/dist-packages/apt_pkg.cpython-310-x86_64-linux-gnu.so` ์กด์žฌ + - `python3 -c 'import apt_pkg'` ์„ฑ๊ณต + - `apt-cache policy python3 python3-apt` ๊ธฐ์ค€ ์„ค์น˜ ์ƒํƒœ ์ •์ƒ + - `ping -c 2 8.8.8.8` ์„ฑ๊ณต + - `ping -c 2 git.ro-being.com` ์„ฑ๊ณต, `106.254.1.37` ํ•ด์„ ํ™•์ธ + - `git -C /home/admin/infra/DOCS pull --ff-only`: `Already up to date.` + - `sudo apt update` ์„ฑ๊ณต, ์—…๊ทธ๋ ˆ์ด๋“œ ๊ฐ€๋Šฅ ํŒจํ‚ค์ง€ `2๊ฐœ` ํ™•์ธ +- ๋”ฐ๋ผ์„œ 23 ์„œ๋ฒ„์—์„œ๋Š” ์ด๋ฒˆ 24 ์„œ๋ฒ„์™€ ๋™์ผํ•œ `python3 -> 3.13` ์น˜ํ™˜ ๋ฐ `apt_pkg` ์†์ƒ ์ง•ํ›„๊ฐ€ ์—†๊ณ , ๋„คํŠธ์›Œํฌ/DNS/Git/apt ๊ธฐ๋ณธ ๋™์ž‘๋„ ํ˜„์žฌ ์‹œ์ ์— ์ •์ƒ์œผ๋กœ ํ™•์ธ๋๋‹ค. + +### 23 ์„œ๋ฒ„ ์ถ”๊ฐ€ ๋ฐœ๊ฒฌ ์ด์Šˆ์™€ ์กฐ์น˜ +- ๋‹ค๋งŒ ์ „์ฒด `systemd` ์ƒํƒœ ํ™•์ธ์—์„œ `systemctl is-system-running` ๊ฒฐ๊ณผ๊ฐ€ ์ฒ˜์Œ์—๋Š” `degraded`์˜€๋‹ค. +- ์‹คํŒจ ์œ ๋‹›์€ `logrotate.service` 1๊ฑด์ด์—ˆ๊ณ , ์›์ธ์€ `/etc/logrotate.d/nginx.backup.20251021`๊ฐ€ `/etc/logrotate.d/nginx`์™€ ๋™์ผํ•œ `/var/log/nginx/*.log` ํ•ญ๋ชฉ์„ ์ค‘๋ณต ์„ ์–ธํ•œ ๊ฒƒ์ด์—ˆ๋‹ค. +- ๋ฐฑ์—… ํŒŒ์ผ์„ ์•„๋ž˜์ฒ˜๋Ÿผ `.bak`๋กœ ๋ณ€๊ฒฝํ•ด `logrotate` ๋Œ€์ƒ์—์„œ ์ œ์™ธํ–ˆ๋‹ค. + +```bash +sudo mv /etc/logrotate.d/nginx.backup.20251021 /etc/logrotate.d/nginx.backup.20251021.bak +sudo systemctl start logrotate.service +sudo systemctl reset-failed +``` + +- ์ดํ›„ `sudo logrotate -d /etc/logrotate.conf`์—์„œ `Ignoring nginx.backup.20251021.bak, because of *.bak pattern match`๋ฅผ ํ™•์ธํ–ˆ๋‹ค. +- `sudo systemctl status logrotate.service`๋Š” `status=0/SUCCESS`๋กœ ์ข…๋ฃŒ๋๊ณ , `systemctl --failed`๋Š” `0 loaded units listed.`, `sudo systemctl is-system-running`์€ `running`์œผ๋กœ ๋ณต๊ท€ํ–ˆ๋‹ค. + +## ์žฌ๋ฐœ ๋ฐฉ์ง€ +- 24 ์„œ๋ฒ„์—์„œ ์‹œ์Šคํ…œ `python3` ๋งํฌ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š”๋‹ค. +- ๊ฐœ๋ฐœ์šฉ Python 3.13์€ `venv` ๋˜๋Š” ๋ช…์‹œ์  ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ฒฝ๋กœ๋กœ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค. +- ๊ณ ์ • IP๋ฅผ ์šด์šฉํ•  ๋•Œ๋Š” ํ˜„์žฌ LAN ๋Œ€์—ญ๊ณผ SSOT๋ฅผ ๋จผ์ € ๋Œ€์กฐํ•˜๊ณ , ๊ณผ๊ฑฐ ๋Œ€์—ญ์˜ ์ž”์กด ์ฃผ์†Œ๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. +- GUI ํ„ฐ๋ฏธ๋„ ๋ถˆ๊ฐ€ ์‹œ์—๋Š” ๋ฐ”๋กœ ์žฌ์„ค์น˜๋ถ€ํ„ฐ ํ•˜์ง€ ๋ง๊ณ  `TTY ์ง„์ž… -> ๋„คํŠธ์›Œํฌ ํ™•์ธ -> ์‹œ์Šคํ…œ Python ํ™•์ธ -> apt ๋ณต๊ตฌ` ์ˆœ์„œ๋กœ ๋ณธ๋‹ค. +- 23 ์„œ๋ฒ„์—์„œ๋Š” `/etc/logrotate.d/` ์•„๋ž˜์— ์šด์˜ ์ค‘์ธ ์„ค์ •์˜ ๋ฐฑ์—… ํŒŒ์ผ์„ ๊ฐ™์€ ํ™•์žฅ์ž ์—†์ด ๋‚จ๊ธฐ์ง€ ์•Š๋Š”๋‹ค. + +## ํ›„์† ๊ถŒ์žฅ ์ž‘์—… +- 24 ์„œ๋ฒ„์˜ ๋„คํŠธ์›Œํฌ ์„ค์ • ํŒŒ์ผ์—์„œ `192.168.219.52/24`๊ฐ€ ๋‹ค์‹œ ๋ถ™์ง€ ์•Š๋„๋ก ์˜๊ตฌ ์„ค์ • ์œ„์น˜๋ฅผ ํ™•์ธํ•œ๋‹ค. +- 24 ์„œ๋ฒ„์—์„œ Python 3.13์ด ํ•„์š”ํ•œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์œผ๋ฉด ์‹œ์Šคํ…œ ๋งํฌ ๋ณ€๊ฒฝ ์—†์ด ๊ฐ€์ƒํ™˜๊ฒฝ์œผ๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค. +- 23/24 ๊ณตํ†ต ์šด์˜ ๊ธฐ์ค€ ๋ฌธ์„œ์— "Ubuntu 22.04 ์‹œ์Šคํ…œ Python ๋ณ€๊ฒฝ ๊ธˆ์ง€"๋ฅผ ๋ฐ˜๋ณต ๊ทœ์น™์œผ๋กœ ์Šน๊ฒฉํ• ์ง€ ๊ฒ€ํ† ํ•œ๋‹ค. +- 23 ์„œ๋ฒ„์˜ ๋‚จ์€ ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ `2๊ฑด`(`network-manager-openvpn`, `network-manager-openvpn-gnome`)์€ ์˜ํ–ฅ ์‹œ๊ฐ„๋Œ€ ํ™•์ธ ํ›„ ๋ฐ˜์˜ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. + +## ์ƒ์œ„ ์›์น™/๊ทผ๊ฑฐ ๋ฌธ์„œ ์—ฐ๊ฒฐ +- [Infra Project Identity](../../00_Philosophy/00_IDENTITY/Infra_Project_Identity.md) +- [Core Infrastructure Principles](../../00_Philosophy/01_PRINCIPLES/Core_Infrastructure_Principles.md) +- [Operational Guardrails](../../00_Philosophy/02_GUARDRAILS/Operational_Guardrails.md)