마루옵스서버 · 네트워크 · AI 기술 노트

소개문의

[Git·GitOps 03] Rocky Linux 9에 Git 설치하고 작업 계정 설정하기

노트북과 메모 도구를 위에서 본 모습

참고 사진 · 노트북과 메모 도구를 위에서 본 모습 · 사진: Aleksi Tappura a / 원본 / CC0 · 목록용 크기 조정

Rocky Linux에서는 배포판 저장소의 git 패키지로 시작하면 됩니다. 처음부터 소스를 컴파일하거나 별도 저장소를 추가할 필요는 없어요. 업데이트와 보안 수정도 운영체제의 패키지 관리 흐름 안에서 받을 수 있습니다.

이 글은 Rocky Linux 9과 sudo 가능한 일반 계정을 기준으로 합니다. 실제 확인은 Rocky Linux 9 컨테이너에서 패키지 설치와 Git 명령으로 진행했습니다. systemd나 데스크톱 화면을 시험한 기록과는 구분합니다.

Git·GitOps 전체 연재 · 03 / 24

이 글의 목차

1. 운영체제와 패키지 출처를 확인한다

cat /etc/os-release
uname -m
sudo dnf repolist
sudo dnf info git
sudo dnf install -y git openssh-clients
git --version
command -v git

dnf info는 설치하거나 설치할 패키지의 정보를 확인할 때 사용합니다. 저장소 연결에 실패하면 Git 설정부터 바꾸기보다 DNS, 프록시, 저장소 URL을 확인합니다. 이 실습의 설치 결과는 Git 2.52.0이었으며, 패치 버전은 사용 중인 Rocky 릴리스와 저장소 상태에 따라 달라질 수 있습니다.

이 연재는 git switch, git restore, git init -b main을 사용합니다. 오래된 환경에서는 앞의 두 명령은 Git 2.23 이상, 마지막 옵션은 2.28 이상인지 확인하세요. 기능 때문에 업그레이드가 필요하다면 배포판의 지원 경로와 영향 범위를 먼저 검토합니다.

2. Git 작업은 일반 계정으로 진행한다

id
mkdir -p ~/git-lab
cd ~/git-lab
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git config --global init.defaultBranch main
git config --list --show-origin

패키지 설치에는 sudo를 썼지만, 저장소를 만들거나 커밋할 때에는 사용하지 않습니다. sudo git commit을 반복하면 작성자 설정이 달라지거나 .git 일부가 root 소유가 될 수 있습니다. 작업 폴더를 자신의 홈 아래에 두면 이런 혼동을 줄이기 좋아요.

전역 설정은 이 사용자의 저장소에 적용합니다. 회사 이메일이 필요한 프로젝트에서는 저장소 안에서 다음처럼 덮어씁니다. 저장소를 만들기 전에는 실행하지 않습니다.

# Run inside an existing repository.
git config user.email "work@example.com"
git config --show-origin --get user.email

3. 새 저장소로 기본 동작을 확인한다

아래 폴더는 기존 프로젝트와 겹치지 않는 이름으로 만듭니다. 이미 같은 이름의 폴더가 있다면 내용을 확인한 뒤 다른 이름을 선택하세요.

cd ~/git-lab
mkdir rocky-check
cd rocky-check
git init -b main
printf '# Rocky Git lab\n' > README.md
git add README.md
git commit -m "Add Rocky lab README"
git status --short --branch

마지막 출력에 main이 보이고 파일 변경 항목이 없으면 최초 커밋을 기록한 상태입니다. Author identity unknown이 나오면 현재 계정의 user.name과 user.email을 다시 확인합니다. 네트워크 접속 없이도 이 과정은 완료할 수 있어요.

소유권 경고를 무조건 해제하지 않는다

detected dubious ownership은 저장소의 소유자와 실행 사용자가 다를 때 나타날 수 있습니다. 먼저 id, ls -ld . .git으로 실제 소유권과 마운트 구성을 확인합니다. 다른 사용자의 저장소인지, 컨테이너의 UID가 다른지에 따라 해결이 달라집니다.

정말 신뢰하는 공유 저장소만 정확한 경로로 예외를 지정할 수 있습니다. 모든 저장소를 신뢰하도록 safe.directory '*'를 등록하는 방법은 기본 설정으로 권하지 않습니다. 파일 권한 문제라면 경고를 숨겨도 쓰기 권한은 해결되지 않습니다.

업데이트할 때는 패키지 관리 흐름을 따른다

sudo dnf check-update git
sudo dnf upgrade git

dnf check-update는 업데이트가 있으면 종료 코드 100을 반환할 수 있습니다. 자동화에서 이를 단순한 실패로 처리하지 않도록 구분합니다. 외부 Git 서버와 SSH로 연결하는 방법은 10편, Rocky를 Git 서버로 사용하는 방법은 14편에서 다룹니다.

패키지 설치의 기본 경로는 Git의 Linux 설치 안내, 소유권 예외의 의미는 git config의 safe.directory에서 확인할 수 있습니다.

이전 글 · [Git·GitOps 02] Windows 11에 Git 설치하기: PowerShell과 Git Bash · 다음 글 · [Git·GitOps 04] Ubuntu 24.04에 Git 설치하고 저장소 준비하기 · 연재 목록과 예제 파일

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

닉네임·이메일·댓글 내용·IP 주소·브라우저 정보는 댓글 게시 및 관리에 사용됩니다. 이메일과 접속 정보는 공개 댓글에 표시하지 않습니다. 개인정보 요청은 운영자 이메일로 보내 주세요. 개인정보처리방침