압축률은 xz > bzip > gzip 순이다.j를 붙일 때는 확장 파일까지 써줘야 한다. cvf, xvf 정도의 명령어는 외워두자.xz 형태로 압축을 했더니 효율이 훨씬 크다.find류는 자주 쓰이므로 기억해 두자.nmtui, firewall-config는 자주 쓰인다.분 시 일 월 요일 실행할사용자 실행할내용 실행할 디렉터리
마지막 줄은 매월 1일인 모든 요일 4시 42분에 /etc/cron.montly에 있는 모든 내용을 실행하라는 뜻이다.
crontab의 내용 맨 밑에 한 줄을 추가해주었다. 매월 15일 3시 01분에 cron.monthly의 모든 파일을 수행하겠다는 내용이다.
date를 받아와서 변수로 저장한 뒤, "backup-월일.tar.xz"로 /home의 내용을 /backup/에 저장하겠다. (cron.monthly에 만든 sh파일)1. 날짜를 바꾸고 2. 실행 권한을 준 뒤 3. 시스템을 restart해서 4. /backup/이 잘 진행됐는지 확인했더니 잘 된 것을 확인할 수 있다.내일 아침 4시에 모든 내용을 update한 뒤, reboot 하겠다. at -l로 at 리스트들을 볼 수 있고, atrm으로 원하는 index의 at를 삭제할 수 있다.주로 nmtui를 이용한다.ifconfig로 eno~라는 network가 존재하는 것을 확인eno~를 종료했다 실행해 보았다.host name으로 내 ip와 naver의 ip를 받아와 보았다.ping으로 google과 연결이 되는지 확인. 네트워크가 잘 되는지 확인할 때 주로 사용. naver와 같은 곳에서는 작동하지 않는다./etc/sysconfig/network-scripts/ifcfg-eno~ 파일. 이 파일을 수정하는 것과 nmtui로 수정하는 것이 같다.
BOOTPROTO=none : ip를 자동으로 안 받고, 고정으로 쓰겠다.
ONBOOT="yes" : ip를 쓰겠다.
ipaddr, bootproto, gateway, dns 정도는 알아두는 게 좋다.
서버에서 이름이 궁금해지면 위 nameserver에 물어본다.
resolve.conf 파일을 수정해서 dns 주소를 외부의 것으로 바꿔줄 수 있다. 위의 주소는 kt에서 제공하는 주소인데, dns 서버가 없다면 유용하게 사용할 수 있다. (외우면 좋음)network를 재시작했더니 dns 주소가 돌아왔다. dns를 고정으로 설정해뒀기 때문.1. ls -l /etc를 more 방식으로 보여준다. 2. 현재 프로세스에서 bash가 들어간 것들만 보여준다. 3. list.txt에 ls -l 내용을 넣는다. 4. list.txt를 정렬해서 out.txt에 넣어라.
ls -l > file.txt : file.txt에 ls -l을 덮어씌운다.
ls -l >> file.txt : file.txt에 ls -l을 append 하라.
서버 데몬 = 서비스 = 서버 프로세스
프로세스 번호가 항상 달라지는 이유 : hw의 프로그램이 메모리에 로딩할 때 마다, 비어있는 프로세스 번호를 아무거나 할당해주기 때문. 순차대로 지정해 주는 작업 프로세스와는 다르다.
1. yes를 실행시킴. 2. yes 프로세스를 확인 3. yes 프로세스 kill 4. 종료됨포그라운드에 있는 걸 백그라운드로 보냈다가 다시 포그라운드로.
명령어 뒤에 &를 붙이면 백그라운드로 실행하라. tar 이런건 굳이 볼 필요가 없으니 유용할 수 있음. vi & 이런건 못 보니까 의미가 없겠지.
서비스 : 항상 가동 -> 요청이 오면 바로 반응
소켓 : 필요할 때만 가동 -> 요청이 오면 잠시 후 반응 (비교적 느리다.)
응급 복구 : 시스템이 부팅되지 않을 때 수행
ex) root 비밀번호 분실 시
시작화면에서 알파벳 e를 눌러 GRUB 편집에 접근.
원랜 빨간 박스 자리에 rh\gb quiet LANG=ko_KR.UTF-8이 적혀 있는데 이걸 지우고 빨간 박스처럼 적는다. 빨간 박스는 응급 복구 모드로 들어가겠다는 뜻. 그리고 ctrl + x로 실행그렇게 들어가서 whoami를 해보니 root이다. 그래서 passwd를 통해 password를 바꾸려고 하니, error가 발생한다. mount가 읽기 전용(ro : read-only)이기 때문이제는 rw이므로 파일을 변경할 수 있다. 즉, 원래 비밀번호는 못찾았으나, 접근을 할 수 있다.
그런데, 이러면 다른 누군가가 root 비밀번호를 몰라도 접근할 수 있으므로 막아야 한다.
처음 실행 화면에서도 비밀번호를 입력해야 바꿀 수 있도록 설정하자. /etc/grub.d/00_header 파일을 수정하자
맨 마지막 줄에 이렇게 추가한다.
grub2-mkconfig -o /boot/grub2/grub.cfg 를 입력해서 변경사항을 저장하고, reboot한다.
이제 e를 눌러 편집화면에 들어와도, thisuser와 4321을 입력하지 않으면 편집할 수 없다.
이제 root의 비밀번호를 모르는 아무나 들어와서 바꾸는 것을 방지할 수 있다.
커널 : hw를 제어하는 코드. 모든 hw를 제어하는 코드를 짜면 너무 무거워지므로, 잘 안 쓰는 코드들은 모듈로 빼놓고 필요할 때만 사용한다.
1. wget "https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.17.4.tar.xz" --no-check-certificate로 커널 다운로드
2. tar xfJ linux-3.17.4.tar.xz로 압축 해제
3. linux-3.17.4로 이동한 뒤 yum -y gcc gcc_c++ qt qt-devel로 필요한 것들을 설치
4. make mrproper로 커널 설정을 초기화하고 make xconfig로 커널의 환경 설정한 후 make clean으로 기존 정보 제거
5. make ; make modules_install ; make install로 한 번에 여러줄을 수행. ;는 이어서 수행하라는 의미.