일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- POP폰트
- ie모드 해제
- 롤오버 기간을 설정한 비밀번호 마이그레이션 방법
- 윈도우10 먹통현상 해결하기
- 잘라내기 단축키
- javascript redirection code
- 윈도우 10 슬라이드 종료 단축키 만들기
- 부자의 그릇 요약
- 오라클DB팁
- 업무에 바로 쓰는 SQL
- 바탕화면에 원격 데스크톱 연결 바로가기 만들기
- 복사 단축키
- AIX 버전확인
- net user 사용법
- 스타워즈 영화 감상 순서
- 붙여넣기 단축키
- 작업표시줄 먹통현상 해결하기
- 메타버스 용어
- 윈도우 10 프리징 해결하기
- 금리와 물가와의 상관관계
- 엑셀에서 콤마를 제외한 숫자 개수 세기
- AIX NFS
- 한글 기호 자동변환 해제
- 레드햇 버전확인
- 헤드퍼스트SQL
- 삼성멀티캠퍼스SQL
- AIX NAS NFS
- OpenSSL 업데이트
- 무료 이미지 제공 사이트
- 오라클팁
- Today
- Total
Today is Present.
00 이것이 리눅스다(Red Hat CentOS 7) 본문
리눅스의 탄생
1991년 8월 리누스 토르발스(linus B. Torvalds)는 어셈블리어로 리눅스 커널(Kernel) 0.01 버전을 처음 작성/배포했다.
1992년 0.02 버전을 작성하면서 인터넷에 소스코드를 공개함으로써 리눅스가 탄생되었다.
엄격한 의미의 리눅스는 커널 만을 의미한다.
커널 버전정보(3.17.4)
3은 주버전(Major Version), 17은 부 버전(Minor Version), 4는 패치버전(Patch Version) 을 의미한다.
패치버전 숫자가 홀수이면 개발버전, 짝수이면 안정화 버전을 의미한다.
레드햇 리눅스와 CentOS 리눅스
현재 레드햇 리눅스의 의미는 상용으로 판매되는 레드햇 엔터프라이즈 리눅스(Red Hat Enterprise Linux, RHEL)만을 의미한다. 레드햇사에서는 '레드햇 리눅스 9.0'(2003년 3월)을 마지막으로 더는 무료로 리눅스를 배포하지 않고 있다.
비록 레드햇 엔터프라이즈 리눅스가 사용으로 판매되더라도 GPL 라이선스를 따라야 하므로, 소스를 공개해야만 한다.
이렇게 공개된 레드햇 엔터프라이즈 리눅스의 소스코드를 그대로 가져와서 로고만 변경한 후에 다시 컴파일해서 만든 것이 CentOS(The Community ENTerprise Operating System) 리눅스이다.
페도라 리눅스는 레드햇 엔터프라이즈 리눅스의 베타 버전 개념으로 미리 최신 기능을 테스트하는 용도로 제작된다. 이렇게 미리 만들어진 페도라 리눅스를 안정화시켜서 레드햇 엔터프라이즈 리눅스를 완성하고, 레드햇 엔터프라이즈 리눅스를 가지고 CentOS를 만들게 되는 것이다.
서비스와 소켓
- 서비스: 평상시에도 늘 가동하는 서버 프로세스
- 소켓(socket): 필요할 때만 작동하는 서버 프로세스
서비스와 소켓은 'systemd'라고 부르는 서비스 매니저 프로그램으로 작동시키거나 관리한다. CentOS 6.x 까지는 최상의 프로세스인 init 프로세스가 서비스를 직접 관리하는 방식이었으나, CentOS 7부터 systemd 가 서비스를 대부분 관리한다. 예전 CentOS에서는 소켓과 비슷한 개념으로 xinetd 데몬이 주로 사용되었으며, CentOS 7도 xinetd 데몬을 지원한다. 하지만 많은 서비스가 xinetd 대신에 소켓으로 사용된다. 서비스의 실행 스크립트 파일은 /usr/lib/systemd/system/ 디렉토리에 '서비스이름.service'라는 파일로 존재한다. 웹 서비스는 httpd.service 라는 이름으로 존재한다.
ex) [root@localhost ~]# systemctl start httpd
- 서비스 시작/중지/재시작 → systemctl start/stop/restart 서비스 이름
- 서비스 상태 확인 → systemctl status 서비스 이름
- 서비스 사용/사용 안함 설정 → systemctl enable/disable 서비스 이름
GRUB 부트로더
- 부트 정보를 사용자가 임의로 변경해 부팅할 수가 있다.
- 다른 여러 운영체제와 멀티부팅을 할 수 있다.
- 최근의 CentOS에서는 이전의 GRUB보다 더 향상된 GRUB2 버전(셸 스크립트 문법 사용)을 사용한다.
GRUB2의 장점
- 쉘 스크립트를 지원함으로써 조건식과 함수를 사용할 수 있다.
- 그래픽 부트 메뉴를 지원하며, 부트 스플래시 성능이 개선되었다.
GRUB 2의 설정파일은 /boot/grub2/grub.cfg 파일이며 /etc/grub2.cfg는 링크 파일이다. grub.cfg 파일은 일반 사용자에게는 읽기 전용이며, root 사용자도 이 파일을 직접 편집해서는 안된다. 설정을 변경하려면 /etc/default/grub 파일과 /etc/grub.d/ 디렉터리의 파일을 수정한 후에 'grub2-mkconfig' 명령어를 통해 설정을 변경할 수 있다.
# 자동 부팅되는 시간으로 초 단위 설정, -1로 하면 사용자 선택을 무한 기다린다. GRUB_TIMEOUT=5 # 각 엔트리 앞에 붙을 배포판 이름을 추출한다. GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" # saved는 이전에 선택한 엔트리가 default로 선택, 0을 지정하면 첫번째 엔트리를 의미한다. GRUB_DEFAULT=saved |
GRUB 부트로더 변경 방법
1. /etc/default/grub 파일 수정
2. 'grub2-mkconfig -o /boot/grub2/grub.cfg' 를 입력하여 적용한다.
리눅스 고정IP 설정
[root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-script]# ls [root@localhost network-script]# gedit ifcfg-ens32 |
수정: BOOTPROTO="dhcp" → BOOTPROTO=none 추가: IPADDR=192.168.111.100 추가: NETMASK=255.255.255.0 추가: GATEWAY=192.168.111.2 추가: DNS1=192.168.111.2 |
SELinux 기능 OFF
[root@localhost ~]# gedit /etc/sysconfig/selinux |
SELINUX=disabled |
한/영 전환은 Windows + Space 를 누르면 된다.
Client 에서 root 사용자 로그인 안되게 설정
[root@localhost ~]# gedit /etc/pam.d/gdm-password |
auth required pam_succeed_if.so user != root quiet # 각각 탭(TAB)으로 구분하여 한줄 추가함.
시스템에 설정된 런레벨 변경 방법
[root@localhost ~]# ls -l /etc/systemd/system/default.target |
결과: /etc/systemd/system/default.target -> /lib/systemd/system/graphical.target
# 결과를 보면 링크 파일인 default.garget은 그래픽 모드로 부팅하도록 설정하는 graphical.target 을 가리킨다.
[root@localhost ~]# ls -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target |
vi 편집기 단축키 설명
키 | 설명 | 키 | 설명 |
i | 현재 커서의 위치부터 입력 | h | 커서를 왼쪽으로 한 칸 이동 |
a | 현재 커서의 위치 다음 칸부터 입력 | k | 커서를 위 쪽으로 한 칸 이동 |
o | 현재 커서의 다음 줄에 입력 | j | 커서를 아래로 한 칸 이동 |
s | 현재 커서 위치의 한 글자를 지우고 입력 | l | 커서를 오른쪽으로 한 칸 이동 |
^ | 현재 행의 처음으로 이동 | $ | 현재 행의 마지막으로 이동 |
gg | 제일 첫 행으로 이동 | G | 제일 끝 행으로 이동 |
숫자G | 해당 숫자의 행으로 이동 | :숫자 | 해당 숫자의 행으로 이동 |
x | 현재 커서가 위치한 글자 삭제 | dd | 현재 커서의 행 삭제 |
프로그램 설치를 위한 RPM or yum(Yellowdog Updater Modified)
- rpm의 가장 큰 문제점은 '의존성' 이다. 이러한 불편한 점을 해결한 것이 yum 명령어이다.
- 'yum' 명령어는 'rpm' 명령어ㅢ 패키지 의존성 문제를 완전하게 해결해준다.
- yum의 저장소(Repository) URL은 /etc/yum.repos.d/ 디렉터리의 파일에 저장되어 있다.
YUM의 기본 사용법
[root@localhost ~]# yum -y install 패키지 이름 [root@localhost ~]# ymm localinstall filename.rpm [root@localhost ~]# yum check-update [root@localhost ~]# yum update 패키지이름 [root@localhost ~]# yum remove 패키지이름 [root@localhost ~]# yum info 패키지 이름 [root@localhost ~]# yum -y groupinstall "MariaDB Database Server" |
- 'yum' 명령어와 관련된 설정 파일은 /etc/yum.conf 와 /etc/yum.repos.d/ 디렉터리에 있다.
파일 위치 검색
# 현재 사용자의 홈 디렉터리 하위에 파일 크기가 0인 파일의 목록을 상세히 출력
[root@localhost ~]# find ~ -size 0k -exec ls -l {} \; |
# /home 홈 디렉터리 하위에 확장명이 *.swp인 파일 삭제
[root@localhost ~]# find /home -name "*.swp" -exec rm {} \; |
시스템 설정(X 윈도 환경에서 제공해주는 명령어)
[root@localhost ~]# system-config-date [root@localhost ~]# nmtui [root@localhost ~]# firewall-config [root@localhost ~]# system-config-keyboard [root@localhost ~]# system-config-language [root@localhost ~]# system-config-printer [root@localhost ~]# system-config-users [root@localhost ~]# system-config-kickstart |
텔넷 서버 구축 절차
절차 | 명령어 |
텔넷 서버 설치 | [root@localhost ~]# yum install telnet-server |
텔넷 서비스 시작 | [root@localhost ~]# systemctl start telnet.socket |
텔넷 전용 사용자 생성 | [root@localhost ~]# adduser 사용자 이름 [root@localhost ~]# passwd 비밀번호 |
방화벽 설정 | [root@localhost ~]# firewall-config |
텔넷 서비스 상시가동 | [root@localhost ~]# systemctl enable telnet.socket |
클라이언트에서 접속 | [root@localhost ~]# telnet 서버 IP |
네임서버 질의 절차
1. 사용자가 www.naver.com 을 입력한다.
2. /etc/hosts 파일에서 해당 도메인에 대한 ip 주소를 찾아서 매칭되면 바로 연결 없으면
3. /etc/resolv.conf 에 설정된 네임서버(DNS)에서 질으를 통해 찾은 ip 주소로 연결해 준다.
APM 설치와 웹 서버의 응용 서비스
# 패키지 설치
[root@localhost ~]# rpm -qa httpd php mariadb-server [root@localhost ~]# yum -y install mariadb-server mariadb php php-mysqld [root@localhost ~]# rpm -qa httpd; rpm -qa php; rpm -qa mariadb-server |
# APM과 관련된 서비스를 가동
# php 는 별도의 서비스가 아니라 httpd에 포함된 기능이므로 별도로 기동하지 않아도 된다.
# http default home 경로는 /var/www/html/ 이다.
[root@localhost ~]# systemctl status httpd [root@localhost ~]# systemctl start httpd [root@localhost ~]# systemctl status httpd [root@localhost ~]# systemctl enable httpd [root@localhost ~]# systemctl restart mariadb [root@localhost ~]# systemctl enable mariadb |
'리눅스 학습' 카테고리의 다른 글
05 파일검색과 명령어검색 실무 (0) | 2020.11.30 |
---|---|
04 파일과 디렉토리 관리실무 (0) | 2020.11.30 |
03 리눅스 시스템 날짜와 시간관리 실무 (0) | 2020.11.30 |
02 리눅스 네트워크 관리 실무 (0) | 2020.11.30 |
01 리눅스 시스템관리 기초실무 (0) | 2020.11.30 |