- 기초명령어
who/whoami/uname/hostname
- . : 현재 디렉토리
- .. : parent directory
- ls :
ls -lS : size 로 정렬
ls -lSr : size reverse 정렬
ls -lt : 시간순으로 정
ls -R : 하위 디렉토리까지 다 봄
- find . -name <찾을 이름>
- 정규표현식 : [1~5], *, ^3
- 리눅스 명령어 도움말
man <cmd>
<cmd> --help
- 복사 (cp), 삭제 (rm)
옵션 : -i : interactive -f : force -r recursive(디렉토리 포함)
- cat <file> : 파일 내용 보기
nl <file>
more <file>
head <file>
- 디렉토리 구조 이해
/bin : 실행파일 모아둔 곳 (일반 유저 용)
/boot : 부팅파일 모아둔 곳
/etc : 시스템 설정 파일
/dev : 디바이스, 장치 파일 (키보드,모니터,usb)
/home :
/lib : 라이브러리 모아둔 곳 (window 의 dll)
/sbin : 시스템 관리자 명령어 모아둔 곳
/mnt : 마운트 하는 곳
/proc : 프로세스, 메모리 상태 설정 값 저장
/opt : 리눅스 이외의 sw
/tmp : 임시 디렉토리
/usr : unix system resource (윈도우의 Program files), 프로그램 설치하면 여기 설치 됨
/media : 미디어 장치
- 패키지 설치 경로 이해
/usr : 응용 프로그램 설치 계층
/usr/bin : system 관리자가 패키지 매니저 (apt) 를 사용해서 설치
/usr/local/bin : system 관리자가 패키지 매니저 (apt) 를 사용 안! 하고 설치 (직접 컴파일 등)
~/.local : pip 에서 user 권한으로 패키지 설치 시, 라이브러리 설치되는 경로
*python 가상환경 사용 시, 가상환경 하부 bin 에 설치
- 패키지관리 : rpm (조회,삭제)
패키지설치 : yum (설치)
- ftp client : 외부 ftp 사용
- 파일의 분류 : file <파일 이름>
- : 일반 파일
d : 디렉토리
l : 심볼릭 링크
c : charater
- 하드링크, 소프트(symbolic) 링크 : ln <원본 파일> <바로가기 파일 이름>
- bash 설정 파일
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
- env : 환경 변수 파일 전부 다 보기
echo $<변수 파일 이름>
- 리다이렉션 : > , >> (추가 쓰기)
- 파이프라인 :
- 하드링크, 소프트(symbolic) 링크 : ln <원본 파일> <바로가기 파일 이름>
- 리눅스 패키지 관리:
- package management : 소프트웨어 설치 관리 시스템
저수준 툴(low-level tools) : 실제 패키지의 설치, 업데이트, 삭제 등을 수행
고수준 툴(high-level toos) : 의존성의 해결, 패키지 검색 등의 기능을 제공
아래 표는 리눅스 배포판 별로 저수툰/고수준 패키지 관리 도구를 나타내었다
- Debian 계열 (Debian, Ubuntu) :
dpkg(debian pacakage) : windows 의 *.exe 와 비슷한 설치 파일, 설치 파일이 이미 존재 할 때 사용, 해당 패키지만 설치하고 종속되어 설치 필요한 프로그램을 설치하지는 않음
apt-get (Advanced Packaging tool) : 저장소 url 을 /etc/apt/source.list 에 작성하여, 인터넷으로 해당 저장소에서 파일 다운로드 및 설치.
☑️ help: apt-get install -h
✅ 설치: apt-get install 패키지명
✅ 패키지목록 업데이트: apt-get update : sources.list를 최신으로 업데이트함
✅ 패키지 업그레이드: apt-get upgrade 패키지
✅ 삭제: apt-get remove 패키지
✅ 완전삭제: apt-get purge 패키지
✅ 사용안하는 패키지 제거: apt-get autoremove
✅ 내려받은 아카이브 파일제거: apt-get clean or apt-get autoclean
- Redhat 계열 (CentOS, Fedora) : rpm / yum (low/high)
RPM (Redhat Package Manager)
RPM이 나오기 전 초기의 리눅스에서는 모든 패키지를 설치할때 직접 컴파일한 후에 수동으로 설치해야 했다. 물론 컴파일은 위한 소스 파일은 tar, gzip으로 묶여있었다. 그렇기 때문에 패키지 설치에 많인 시간이 필요하게 되었고, 이를 극복하고자 RedHat 사에서 패키지 관리 프로그램인 RPM을 개발하게 되었다. 마치, Windows 계열의 setup.exe 파일과 비슷하게 자동으로 설치해주는 프로그램이다. RPM 패키지는 컴파일되어 설치한 실행파일, 설정파일, 라이브러리 등을 하나로 묶어놓은 파일을 말한다. 대표적인 특징은 아래와 같다.
1) YUM과 마찬가지로 패키지 인스톨 프로그램이다.
2) 인터넷이 연결되어있지 않아도 설치가 가능하지만, rpm 확장자로된 패키지 프로그램이 필요하다.
3) 패키지 사이에 의존하고 있는 패키지까지 자동으로 설치되지 않는다.
4) 기본 사용 명령어
- 설치: rpm -Uvh [패키지명]
- 삭제: rpm -e [패키지명]
- 설치확인: rpm -qa [패키지명]
- 상세정보: rpm -qi [패키지명]
YUM (Yellodog Updater Modified)
YUM은 RPM 기반의 시스템을 위한 자동 업데이터 및 패키지 설치, 제거 프로그램이다. 듀크 대학교의 Linux@DUKE 프로젝트의 일부분으로 개발되었다. RPM과 다르게 인터넷 사용이 필수이기 때문에 패키지간 의존성 문제를 해결할 수 있다. 예를들어 A 패키지를 설치하기전에 필요한 B 패키지까지 모두 한번에 설치가 가능하며, 의존도를 자동으로 찾고 알아서 설치해준다. 대표적인 특직은 아래와 같다.
1) RPM과 마찬가지로 패키지 인스톨 프로그램이다.
2) 인터넷에서 바로 설치가 가능하기 때문에 패키지 프로그램이 따로 필요없다.
3) 패키지 사이에 의존하고 있는 패키지까지 자동으로 설치가 가능하다.
4) 기본 사용 명령어
- 설치: yum install [패키지명]
- 삭제: yum remove [패키지명]
- 업그레이드: yum update [패키지명]
- 목록: yum list [패키지명]
- yum 데이터베이스 동기화 업데이트: yum update
- yum, apt 등 패키지 의존성 관리하는 주체는?
- package repository : database of programs and libraries
dependency 를 포함한 package information 은 package repository 에 함께 저장되며, package maintainter 에 의해서 관리됨. pacakge maintainer 는 프로그램을 패키징한 한 사람이나 그룹
https://wookiist.tistory.com/10
https://velog.io/@broccoliindb/apt-get-%EC%99%80-dpkg%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90
yum, apt 패키지 의존성 관리는 누가 하지..?
https://www.quora.com/How-do-package-managers-like-yum-APT-work-Who-maintains-them
'Computer science (이동 완료) > linux' 카테고리의 다른 글
리눅스 확장자별 압축 zip, tar, gz(gzip) 차이 및 사용법 (0) | 2023.07.27 |
---|---|
메모리 사용량 체크 (0) | 2023.07.24 |
CURL 이란 (0) | 2023.06.07 |
xserver, xclient (0) | 2023.05.28 |
리눅스 기초 30분 요약 영상 (0) | 2023.04.29 |