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 설치하고 저장소 준비하기 · 연재 목록과 예제 파일

![[Git·GitOps 24] Git·CI/CD·GitOps 운영 흐름 완성하기: 장애별 판단과 복구](https://blog.maruops.com/wp-content/uploads/2026/10/maruops-git-photo-12-768x510.webp)
![[Git·GitOps 23] 비밀 값 관리: Secret의 base64와 SOPS·age 암호화](https://blog.maruops.com/wp-content/uploads/2026/10/maruops-git-photo-2-768x512.webp)
![[Git·GitOps 22] 변경 감지와 복구: 자동 Sync·selfHeal·prune·Git revert](https://blog.maruops.com/wp-content/uploads/2026/10/maruops-git-photo-10-768x576.webp)
답글 남기기