2024.07.05
Linux 패키지 매니저
linux의 패키지 매니저는 배포판의 종류에 따라 명칭과 명령어가 다르다.
pip, npm, yarn, gradle, maven과 같은 역할
패키지 매니저는 패키지 설치, 업데이트, 삭제, 의존성 관리 등을 담당한다.
APT
Debian 계열에서 주로 사용하는 패키지 매니저
필요한 패키지를 설치할 때 의존성 패키지를 자동으로 설치해준다.
배포판의 OS버전에 따라 레포지토리를 따로 두지만 버전이 다르다고 해서 피키지가 무조건 호환이 불가능한 건 아니고 서로 다른 OS 버전의 패키지를 불러올 수도 있다.
YUM/DNF
RHEL 계열에서 주로 사용하는 패키지 매니저
플러그인 시스템을 통해 기능 확장이 가능하다.
최근에는 YUM보다 개선된 DNF를 많이 사용하기도 한다.

Linux에서의 권한 및 소유자
기본적으로 Linux에서의 모든 파일과 디렉토리는 User, Group에 의해 소유된다.
사용자 (User) : 파일을 생성한 주체로서 생성된 파일은 기본적으로 사용자에 의해 소유된다.
그룹 (Group) : 여러 사용자가 속해있는 그룹으로 기본적으로 그룹 내이 같은 사용자들은 권한을 공유할 수 있다.
ex. 소유자 : John : Goorm 👉 John이라는 사람과 Goorm이라는 그룹에 의해 소유된 것이다.
사용자 및 그룹 생성
sudo passwd
su root
adduser kakao
cat /etc/passwd
usermod -aG kakao kakao
cat /etc/group
addgroup kakao-tech-boorcamp
usermod -aG kakao-tech-bootcamp
cat /etc/group
- Linux의 파일과 디렉토리는 사용자와 그룹에 의해 소유되는 것 말고도 자체적으로 접근할 수 있는 권한을 지정할 수 있다.
- 한 개의 파일에 대한 권한은 총 세 개의 권한을 가질 수 있다.
- R (Read) : 읽기 권한, cat으로 파일 내용 확인 가능
- W (Write) : 쓰기 권한, vim이나 echo, sed 명령어 등으로 파일을 수정할 수 있다.
- X (eXecute) : 실행 권한, sh이나 bash에 의해 실행될 수 있음을 의미한다.
- 한 개의 파일에 부여될 수 있는 권한은 Bit로 관리된다.
- R = 4, W = 2, X = 1로 한 파트의 권한은 최대 7이다.
- ex. 756 👉 User는 모든 권한, Group은 RW, Others는 RW의 권한을 가진다.
파일 권한 조작
cd /tmp
echo 'echo abcd'> test.sh
cat test.sh
./test.sh
chmod +x test.sh
./test.sh
ls -al test.sh
chmod -r test.sh
cat test.sh
파일 소유자 조작
chmod 770 test.sh
su kakao
./test.sh
exit
sudo chown kakao:kakao test.sh
su kakao
./test.sh
Linux root 디렉토리 구조
Root Directory (/)
Linux의 디렉토리는 기본적으로 루트 디렉토리(/)를 기준으로 나뉩니다.
시스템의 모든 자원은 루트 디렉토리 하위에서 관리된다.
/bin (/usr/bin)
기본적인 사용자 명령어가 저장되는 디렉토리이다.
ls, cp, mv, rn, bash 등의 기본 명령어도 포함된다.
/lib (/usr/lib)
시스템과 어플리케이션이 사용하는 공유 라이브러리들이 포함된다.
libc.so, ld-linux-x86-64.so.2 등
/lib은 32비트 라이브러리, /lib64는 64비트 라이브러리를 주로 포함한다.
/usr
앞서 설명한 디렉토리들이 모두 포함되어 있다.
사용자 명령어, 응용 프로그램, 라이브러리 등이 저장되는 디렉토리이다.
/dev
장치 파일들이 저장되는 디렉토리이다.
주로 첫 번째 하드 디스크 파티션 (sda1)이나 터미널 (tty), 널 장치 (null) 등이 포함된다.
모든 장치가 파일 형태로 표시되고 ↔ 하드웨어 간의 인터페이스를 위한 장치들이 포함되어 있다.
/etc
시스템 설정 파일들이 저장되는 디렉토리이다.
사용자 계정 정보 (passwd), 암호 정보 (shadow), 호스트 네임/IP 매핑 파일 (hosts) 등이 포함된다.
시스템의 전반적인 설정 파일들이며, 주로 텍스트 파일 형식이다.
/opt
CLI보다는 GUI에서 자주 사용되는 디렉토리이다.
설치 매니저를 통해 설치된 어플리케이션이 주로 포함된다.
/proc
커널과 프로세스에 대한 가상 파일 시스템이 저장되는 위치이다.
/proc/cpuinfo (CPU 정보), /proc/meminfo (메모리 정보)
시스템 상태, 커널 정보 등을 제공하며 동적으로 생성되는 파일들로 구성된다.
/home
사용자들의 개인 디렉토리가 저장되는 위치이다.
기본적으로 권한과 소유자가 해당 유저에 맞게 설정되어 있다.
/root
root 계정의 홈 디렉토리이다.
디렉토리, 파일에 대한 권한 및 소유자도 기본적으로 root로 설정된다.
/tmp
임시 파일을 저장하는 디렉토리이다.
주로 사용 후에 삭제되어도 문제 없는 파일이나 디렉토리들이 포함된다.
ngninx 패키지 설치
apt-get install nginx
cd /etc/nginx
ls
cd /usr/bin
ls
환경 변수 및 실행해 보기
cd /
test.sh
export
export PATH=$PATH:/home/jacob
test.sh
Linux 파일 시스템 비교

lsblk 명령어 등 파일 시스템 형식 확인
lsblk
df -TH
Linux와 Windows 명령어 대응

Linux 기초 명령어
ls
ls -al
ls -alh
mkdir temp
rmdir temp
cd temp
touch abc
touch def
rm abc
cd ..
cp -r temp temp2
rm -r temp
mv temp2 temp
head temp/abc
tail temp/abc
pwd
whoami
top
df -h
du -h
ping http://www.google.com
curl http://www.google.com
ifconfig
ps
ps -ef
vim abcd
명령어 조합법 (|, &, &&)
find /home -name *.sh
ls -al /home/jacob | grep sh
echo '{"key":"value"}'> test.json
cat testjson | jq'System' 카테고리의 다른 글
| [Linux] Linux 심화 (1) | 2024.11.29 |
|---|---|
| Git Commit Convention (1) | 2024.11.28 |
| [Linux] Linux 개론 (1) | 2024.11.28 |
| [Network] TCP/UDP 패킷 확인하기 (0) | 2024.11.28 |
| [Network] 네트워크 개론 (1) | 2024.11.28 |