[linux] ubuntu apt-get 한국서버를 추가 - mirror.kakao.com 변경하는 방법 2가지
[linux] ubuntu apt-get 한국서버를 추가 - mirror.kakao.com 변경하는 방법 2가지
apt-get 명령은 Debian 기반의 리눅스 시스템에서 패키지를 설치하고 관리하기 위한 명령어입니다. Ubuntu와 같은 Debian 계열의 많은 배포판에서 사용되며, 패키지 관리 시스템을 통해 손쉽게 소프트웨어를 설치, 업데이트, 제거할 수 있도록 해줍니다.
apt-get 간단 사용법
[apt-get 간단 사용법]
# 패키지 설치
sudo apt-get install 패키지이름
sudo apt-get install 패키지이름=버전
sudo apt-get install nginx=1.2x.x
# 패키지 전체 업데이트
sudo apt-get update
# 해당 패키지를 업데이트
sudo apt-get update [패키지이름]
# 패키지 제거
sudo apt-get remove 패키지이름
# 패키지 완전 제거
sudo apt-get purge 패키지이름
[linux] apt-get을 위한 국내 mirror list를 추가하는 2가지 방법
한국에서 많이 사용하는 mirror.kakao.com 으로 변경을 해봅니다.
다음 두가지 방법으로 우분투 패키지 레포지터리를 수정하는 내용을 정리 드립니다.
1. 한국 ftp.kakko.com으로 소스 리스트 변경
/etc/apt/sources.list 를 다음과 같이 수정 할 수 있다.
sed -i 's/archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list
2. apt source list 수정은 apt 명령이나 nano , vi 등의 명령로 수정 할 수 있습니다.
# nano와 같은 에디터로 수정이 가능합니다.
sudo apt edit-sources
# 직접 vi로 파일을 수정합니다.
sudo vi /etc/apt/sources.list
다음과 같이 http://archive.ubuntu.com/ubuntu 에서 패키지 다운로드가 되지 않고 있어서 한국의 레포지터리로 변경해 보기로 했다.
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-11/gcc-11_11.4.0-1ubuntu1%7e22.04_amd64.deb \
Cannot initiate the connection to archive.ubuntu.com:80 (2620:2d:4000:1::16).\
- connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2620:2d:4000:1::19).\
- connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2620:2d:4002:1::101).\
- connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2620:2d:4002:1::102).\
- connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2620:2d:4002:1::103). \
- connect (101: Network is unreachable)
1. sudo vi /etc/apt/sources.list.d/my-sources.list 를 생성하여 추가하는 방법
- 국내 ubunto linux를 지원하는 레포지터리는 아래 두가지를 자주 사용합니다.
/etc/apt/sources 파일을 직접 수정할 수도 있지만 별도로 추가되는 경우 "/etc/apt/sources.list.d/my-sources.list " 를 만들어도 됩니다.
deb http://mirror.kakao.com/ubuntu jammy main restricted
deb http://kr.archive.ubuntu.com/ubuntu jammy main restricted
# vi /etc/apt/sources.list.d/my-sources.list
deb http://mirror.kakao.com/ubuntu jammy main restricted
#deb-src http://mirror.kakao.com/ubuntu jammy main restricted
deb http://kr.archive.ubuntu.com/ubuntu jammy main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://mirror.kakao.com/ubuntu jammy-updates main restricted
#deb-src http://mirror.kakao.com/ubuntu jammy-updates main restricted
deb http://kr.archive.ubuntu.com/ubuntu jammy-updates main restricted
2. "/etc/apt/sources.list" 를 직접 수정하는 방법
/etc/apt/sources.list 파일을 직접 수정해도 되지만 내용 전체를 한 번에 수정하기 위해서 sed 명령으로 수정하도록 하는 예시입니다.
2.1 sed 정규식 규칙을 저장하는 파일을 만듭니다.
sudo vi 0.apt-kakko.sed 아래 와 같은 sed 파일을 생성합니다.
s/archive.ubuntu.com/mirror.kakao.com/g
s/security.ubuntu.com/mirror.kakao.com/g
2.2 sed 정규식 규칙을 실행하기 전에 원본을 백업하고 sed를 실행하는 파일을 만듭니다.
다음과 같이 파일을 만들어 사용하면 백업이나 내용 변경을 확인 하는데 용이합니다.
if [ ! -f "/etc/apt/sources.list.bak2402" ]
then
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak2402
fi
cp /etc/apt/sources.list.bak2402 /etc/apt/sources.list
# --------------------
echo " >> sed -i -f 0.apt-kakko.sed /etc/apt/sources.list "
echo ""
sed -i -f 0.apt-kakko.sed /etc/apt/sources.list
diff /etc/apt/sources.list /etc/apt/sources.list.bak2402
3. apt 패키지 목록을 갱신 합니다.
- pagkage 목록을 검증하고 갱신하여 빠르게 다운 받도록 합니다. 여러번 설정을 해서 중복된 부분이 있는데
sudo apt update
[sudo] password for couple:
Ign:1 cdrom://Ubuntu-Server 22.04.3 LTS _Jammy Jellyfish_ - Release amd64 (20230810) jammy InRelease
Hit:2 cdrom://Ubuntu-Server 22.04.3 LTS _Jammy Jellyfish_ - Release amd64 (20230810) jammy Release
Hit:4 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:5 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:6 http://kr.archive.ubuntu.com/ubuntu jammy InRelease
Hit:7 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Hit:8 http://kr.archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:9 http://archive.ubuntu.com/ubuntu jammy-security InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
4. apt-get으로 패키지를 다운 받습니다.
- sudo apt-get install gobjc gobjc++ 명령을 실행하면 다음과 같이 작동이 됩니다.
$ sudo apt-get install gobjc gobjc++
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
cpp cpp-11 fontconfig-config fonts-dejavu-core g++ g++-11 gcc gcc-11 gcc-11-base
gobjc++-11 gobjc-11 libasan6 libatomic1 libc-dev-bin libc-devtools libc6-dev libcc1-0
libcrypt-dev libdeflate0 libfontconfig1 libgc1 libgcc-11-dev libgd3 libgomp1 libisl23
libitm1 libjbig0 libjpeg-turbo8 libjpeg8 liblsan0 libmpc3 libnsl-dev libobjc-11-dev
libobjc4 libquadmath0 libstdc++-11-dev libtiff5 libtirpc-dev libtsan0 libubsan1 libwebp7
libxpm4 linux-libc-dev manpages-dev rpcsvc-proto