p. 205
- rpm -Uvh test1.0.rpm 과 같은 방식으로 설치 : 만약 설치되있다면, 새 버전 업데이트, 설치되있지 않았다면 설치해준다 ( v : 과정 확인 , h : 과정 확인에 # 사용 )
- rpm -qa : 현재 시스템에 설치된 모든 패키지를 출력해준다. grep 을 통해 패키지 이름을 검색할 수 있다. 패키지의 설치 여부를 확인 가능 하다
- rpm -qi : 설치된 패키지의 상세 정보 출력. 이 역시 grep 을 통해 패키지 이름을 검색할 수 있다
허나, rpm 에는 의존성 문제가 있다. 이를 해결하기 위해 yum 을 사용한다
dnf 를 사용하면 메모리를 적게 사용하면서, 필요한 버전을 설치 가능 하다. yum 은 설치시 함께 설치된 의존성 해결 패키지들을 삭제 할 때 지우지 않지만, dnf 는 의존성 해결 패키지들도 함께 삭제해준다
yum 이나 dnf 는 저장소를 이용하여 필요한 패키지를 요청하면, 저장소에서는 해당 패키지와 의존성 해결을 위한 패키지를 묶어 다운로드 시켜준다
- 도커에서 httpd , nginx 를 설치할 때에는 rpm 과 같은 패키지를 이용하여 설치할 때에는 설치되는 경로가 달라진다
- 가령 도커 컨테이너를 이용하여 CentOS 컨테이너를 생성하고, 해당 컨테이너 내에서 rpm을 이용하여 httpd 를 설치하면 기본 경로는 /var/www/html 이지만, 하지만 컨테이너로 httpd 이미지를 사용하면 기본 경로는 /usr/local/apache2/htdocs/ 가 된다
yum -y install httpd : httpd 설치
yum grouplist : 패키지 그룹 목록 및 설치 가능, 설치됨 여부를 확인
yum -y groupinstall "Server with GUI" : 해당 그룹에 속한 패키지들을 전부 설치 ( 참조 | p. 224 )
과정
- yum 을 통해 패키지 설치 명령을 실행
- /etc/yum.repos.d/ 디렉터리의 repo 파일들을 참조하여, 인터넷 상의 패키지 저장소 서버 주소 확인
- 해당 주소에 패키지 목록을 요청하여 받아온다
- 가져온 패키지 목록을 터미널에 출력하고 설치 확인을 통해 실제 패키지를 다운로드 하고 설치한다
p. 226
- 파일 묶기는 tar 를 사용
- 파일 압축 : gzip , zip , bunzip , xz ( 압축률 차이 )
- 파일 압축에는 xz가 가장 압축률이 높다
- tar cvf my.rar /test : /test 디렉토리 내에 포함되어 있는 모든 파일과 디렉토리를 my.tar 파일로 묶는데, v 옵션을 통해 과정을 확인한다. c는 새로운 묶음을 만드는 것이다
- x 를 통해 묶인 파일을 풀 수 있다
- z 옵션은 gz 로 압축하는 옵션으로, 파일 이름 확장자를 gz 로 해야 한다
- x 를 통해 압축을 풀고, 묶음을 해제해준다
p. 229
- find 디렉터리 : 해당 디렉터리 하위의 파일 검색
- 파일 접근 / 수정 / 생성 옵션
- atime : access time 으로 파일이나 디렉토리에 접근한 시간
- mtime : modify time 으로 파일이나 디렉토리을 수정한 시간
- ctime : change time 으로 파일이나 디렉토리의 고유 번호 ( inode ) 나 퍼미션 , 소유권등을 변경한 시간
-3 이면 3일 이내 , +3 이면 3일 이후 , 3 이면 3일에서 4일 사이가 출력된다- 참조 ) https://jhnyang.tistory.com/144
퀴즈 . 자신의 홈 디렉토리를 포함하여 하위에 있는 모든 디렉토리와 파일중 파일만을 검색하여 최근 3일 이내에 파일의 내용이
변경된 적이 있는 파일이 있다면 출력
퀴즈 2. /usr/bin 하위 파일을 검색하여 최근 3일 이내에 변경이 된 적 있는 파일이 있다면 출력
퀴즈 3. /usr/bin 하위 파일을 검색하여 최근 3일 이내에 생성된 파일이 있다면 출력
- 검색할 타입을 f ( 일반 파일 ) 을 통해 bin 디렉터리 안에 있는 일반 파일만 출력되게 하며, ls 옵션으로 상세 정보를 출력한다
- PATH 는 다음과 같은 경로를 가진다
locate '프로그램 이름'