[Linux 명령어] 다양한 관리가 가능한 명령어 (samba)
목차 Samba 특징 설치 및 연결 명령어 사용 예시 관련 명령어 사용예 Samba Samba 명령어는 Samba 공유, 프린터 및 사용자 계정을 관리하는 데 사용되는 명령줄 도구다. Samba는 Windows와 Linux/Unix 기반 시스템 간에 파일 및 프린터 공유를 가능하게 하는 오픈 소스 소프트웨어 제품군이다. Samba 명령어는 Samba의 다양한 측면을 관리하는 데 사용할 수 있는 유틸리티 세트를 제공한다. Samba 명령어를 사용하여 수행할 수 있는 일반적인 작업에는 SMB 암호 변경, 생성 또는 삭제, Samba 구성 파일의 구문 테스트, 네트워크에서 NetBIOS 이름 조회, 도메인 가입, 공유 및 사용자 계정 관리, Samba 데몬에 신호를 보내고 smbclient 유틸리티를 사용하여..
2023.03.26
[Linux 명령어] Apache와 비슷한 웹 서버 소프트웨어 (nginx)
Nginx Nginx("engine-x"로 발음)는 오픈 소스, 고성능 웹 서버, 리버스 프록시 서버 및 로드 밸런서다. 2002년 Igor Sysoev에 의해 만들어졌으며 주요 초점은 성능, 확장성 및 효율적인 리소스 사용이다. 2004년에 처음 출시되어 강력한 웹 서버 소프트웨어로 사용된다. 무료 오픈 소스 소프트웨어이므로 누구나 BSD 라이선스의 조건에 따라 사용, 수정 및 배포할 수 있다. Nginx는 많은 양의 요청을 동시에 처리할 수 있는 기능으로 널리 사용되어 대부분의 다른 웹 서버 보다 로드 시간이 더 빠르고 성능이 더 좋다. Nginx는 웹 서버 외에도 리버스 프록시, 로드 밸런서, 메일 프록시 및 HTTP 캐시로 사용할 수 있다. 다기능 기능 덕분에 유지 관리에 필요한 도구 및 구성의 ..
2023.03.26
[Linux 명령어] 다양한 기능이 있는 다운로드 유틸리티 (wget)
wget wget 명령어는 인터넷에서 파일을 다운로드하기 위한 명령줄 유틸리티다. HTTP, HTTPS, FTP 등 다양한 네트워크 프로토콜을 지원한다. 이 명령어는 견고성과 내결함성을 위해 Linux, macOS 및 기타 Unix와 유사한 운영 체제에서 널리 사용된다. wget의 주요 기능에는 느리거나 불안정한 네트워크 연결 처리, 실패한 다운로드 재시도, 중단된 다운로드 재개 등이 있다. 또한 재귀적으로 파일을 다운로드하고, 특정 파일 유형을 필터링하고, 다운로드 속도를 제한하고, 다운로드 디렉토리를 지정하는 옵션을 제공한다. wget 설치 Ubuntu / Debian sudo apt update && sudo apt install wget CentOS / RHEL sudo yum install wg..
2023.03.25
[Linux 명령어] 스토리지 관리 명령어 (stratis)
Stratis으로 스토리지 관리 Stratis는 Red Hat 및 업스트림 Fedora 커뮤니티에서 개발한 로컬 스토리지 관리 툴이다. Stratis를 사용하 면 스토리지 초기 구성 수행, 스토리지 구성 변경, 고급 스토리지 기능 사용이 더 쉬워진다. Stratis는 물리적 스토리지 장치 풀을 관리하는 서비스로 실행되며, 새로 생성된 파일 시스템의 볼륨을 투명하 게 생성 및 관리한다. Stratis는 씬 프로비저닝이라는 개념을 사용하여 디스크 장치의 공유 풀에서 파일 시스템을 빌드한다. 파일 시스템을 생성할 때 물리적 스토리지 공간을 즉시 할당하는 대신, Stratis에서는 파일 시스템에서 추가 데이터 를 저장할 때 풀에서 공간을 동적으로 할당한다. 따라서 파일 시스템의 크기가 1TiB로 표시될 수 있지..
2023.03.25
[Linux 명령어] 시스템 성능 최적화를 위한 명령어 (tuned)
Tuned Linux Tuned 커맨드는 시스템 성능을 최적화하기 위해 시스템을 모니터링하고 프로필을 사용한다. 프로필은 디스크 설정, 커널 매개 변수, 네트워크 최적화 설정 등 시스템 매개 변수를 정의하는 규칙 모음으로 시스템 파라미터를 동적으로 조정하여 시스템 활동에 따라 시스템 설정을 동적으로 조정하며, 고성능, 저레이턴시, 전력 절약 등의 공통 사용 사례에 대한 사전 정의된 프로필도 제공한다. 이 커맨드는 다양한 예제를 통해 사용법을 설명할 수 있다. Tuned를 사용하면, 시스템 튜닝 프로필을 이용해 특정 작업 부하에 대해 최적의 성능을 얻을 수 있다. 다양한 프로필이 이미 기본적으로 설치되어 있으며, 사용자가 직접 프로필을 만들 수도 있다. 이는 사전 구성된 다양한 튜닝 프로필을 적용하여 Li..
2023.03.23
[Linux 명령어] DNS 서버 설정 명령어 (bind)
목차 BIND 주요 구성 주요 특징 주요 기능 다운로드 및 설치 간단한 HTML 파일 생성 BIND BIND (Berkeley Internet Name Domain)는 인터넷에서 가장 널리 사용되는 DNS (Domain Name System) 서버 소프트웨어다. 리눅스 시스템에서 도메인 이름을 IP 주소로 변환하는 데 사용되며, 주로 웹 서버, 이메일 서버 등의 인터넷 서비스에서 활용된다. 사용자가 웹 브라우저에 URL을 입력하면, DNS 서버는 해당 도메인 이름에 대한 IP 주소를 찾아 반환한다. 이렇게 함으로써 사용자는 숫자로 된 IP 주소 대신 기억하기 쉬운 도메인 이름을 사용하여 인터넷 자원에 접근할 수 있다. 따라서 BIND는 APACHE와 같은 명령어와 함께 자주 사용되는 DNS 서버 소프트웨..
2023.03.21
반응형

목차

  1. Samba
  2. 특징
  3. 설치 및 연결
  4. 명령어 사용 예시
  5. 관련 명령어
  6. 사용예

Samba

Samba 명령어는 Samba 공유, 프린터 및 사용자 계정을 관리하는 데 사용되는 명령줄 도구다. Samba는 Windows와 Linux/Unix 기반 시스템 간에 파일 및 프린터 공유를 가능하게 하는 오픈 소스 소프트웨어 제품군이다.

 

 Samba 명령어는 Samba의 다양한 측면을 관리하는 데 사용할 수 있는 유틸리티 세트를 제공한다. Samba 명령어를 사용하여 수행할 수 있는 일반적인 작업에는 SMB 암호 변경, 생성 또는 삭제, Samba 구성 파일의 구문 테스트, 네트워크에서 NetBIOS 이름 조회, 도메인 가입, 공유 및 사용자 계정 관리, Samba 데몬에 신호를 보내고 smbclient 유틸리티를 사용하여 명령줄에서 Samba 공유에 연결하고 관리한다.

 

Samba 명령어는 시스템 관리자와 최종 사용자 모두가 Samba 공유 및 기타 관련 작업을 관리하는 데 사용할 수 있는 강력한 도구다.


특징
  • 사용자 인증
    Samba는 사용자 인증을 허용하고 자체 사용자 데이터베이스, LDAP, Active Directory 등을 포함한 여러 인증 방법을 지원한다.

  • 파일 공유
    Samba는 Linux와 Windows 시스템 간에 파일과 디렉터리를 공유할 수 있으므로 두 시스템의 사용자가 공유 파일과 폴더에 액세스할 수 있다.

  • 프린터 공유
    Samba는 또한 Linux와 Windows 시스템 간에 프린터 공유를 가능하게 하여 두 시스템의 사용자가 공유 프린터에 액세스할 수 있도록 한다.

  • 크로스 플랫폼 호환성
    Samba는 Linux, Windows 및 macOS를 포함한 여러 운영 체제와 호환된다.

  • 보안
    Samba는 공유 파일 및 디렉토리의 보안을 보장하기 위해 암호 보호, 암호화 및 액세스 제어와 같은 다양한 보안 조치를 제공한다.

  • 명령줄 인터페이스
    Samba는 사용자가 Samba 공유 및 서비스를 구성하고 관리할 수 있는 명령줄 인터페이스를 통해 액세스할 수 있다.

설치 및 연결

1. Samba 클라이언트를 다운로드

Ubuntu 기반
sudo apt-get install smbclient

RedHat 기반
sudo yum install samba-client

2. Samba 활성화

1) smb와 nmb 둘다 활성화 해주어야 한다.
systemctl enable --now smb
systemctl enable --now nmb

2) 한번에 활성화 하는 명령어
systemctl enable --now smb && systemctl enable --now nmb
ssystemctl enable --now smb nmb

3. Samba에 연결

smbclient //<server>/<share> -U <username>

명령어 사용 예시
samba [options] [command] [arguments]

옵션_
-h 또는 --help: 도움말 메시지를 표시한다.
-V 또는 --version: Samba의 버전 번호를 표시한다.
-s 또는 --configfile: 사용할 Samba 구성 파일을 지정한다.
-d 또는 --debuglevel: Samba의 디버그 수준을 지정한다.
-l 또는 --log-basename: Samba에 대한 로그 파일의 이름을 지정한다.


관련 명령어
  • smbpasswd: 암호 변경, 생성 및 삭제를 포함하여 SMB 암호 조작을 허용한다.
  • testparm: Samba 구성 파일의 구문을 테스트한다.
  • nmblookup: 네트워크에서 NetBIOS 이름을 찾는다.
  • net: 도메인 가입, 공유 및 사용자 계정 관리 등과 같은 다양한 관리 작업을 허용하는 다목적 유틸리티다.
  • smbcontrol: Samba 데몬에 신호를 보내어 쉽게 관리하고 제어할 수 있도록 한다.
  • winbindd: Windows 도메인 인증 데몬으로 Linux와 Windows 시스템 간의 완벽한 인증을 허용한다.
  • smbclient: 사용자가 명령줄에서 Samba 공유에 연결하고 관리할 수 있는 명령줄 도구다.

사용예

Samba의 버전 번호를 표시

samba --version


Samba 구성 파일의 구문을 테스트

samba testparm


Samba 사용자의 비밀번호를 변경

samba smbpasswd -a username


Samba 서버에서 사용 가능한 공유를 나열

samba smbclient -L servername

반응형
반응형
Nginx

Nginx("engine-x"로 발음)는 오픈 소스, 고성능 웹 서버, 리버스 프록시 서버 및 로드 밸런서다. 2002년 Igor Sysoev에 의해 만들어졌으며 주요 초점은 성능, 확장성 및 효율적인 리소스 사용이다. 2004년에 처음 출시되어 강력한 웹 서버 소프트웨어로 사용된다.

 

무료 오픈 소스 소프트웨어이므로 누구나 BSD 라이선스의 조건에 따라 사용, 수정 및 배포할 수 있다. Nginx는 많은 양의 요청을 동시에 처리할 수 있는 기능으로 널리 사용되어 대부분의 다른 웹 서버 보다 로드 시간이 더 빠르고 성능이 더 좋다.

Nginx는 웹 서버 외에도 리버스 프록시, 로드 밸런서, 메일 프록시 및 HTTP 캐시로 사용할 수 있다. 다기능 기능 덕분에 유지 관리에 필요한 도구 및 구성의 양을 최소화하려는 조직에서 널리 사용된다. Nginx를 사용하는 유명한 회사로는 Autodesk, Atlassian, Intuit, T-Mobile, GitLab 및 DuckDuckGo가 있다.

Apache와 같은 다른 웹 서버와 비교할 때 Nginx는 더 적은 리소스와 하드웨어를 사용하며 올바르게 구성된 경우 Apache보다 더 효율적일 수 있다. 또한 Nginx는 많은 양의 요청을 동시에 처리할 수 있는 스레드가 없는 이벤트 기반 아키텍처를 사용하므로 트래픽이 많은 웹사이트에서 널리 사용된다.

Nginx를 구성하려면 sudo nano /etc/nginx/nginx.conf를 사용하여 Nginx 구성 파일을 열 수 있다. 여기에서 user, worker_processes, error_log 및 pid와 같은 지시문을 수정할 수 있다.


주요 기능
  • 웹 서버
    Nginx는 HTML, CSS 및 JavaScript와 같은 정적 파일을 사용자에게 제공한다. 많은 수의 동시 연결을 효율적으로 처리하도록 설계되어 트래픽이 많은 웹 사이트 및 웹 응용 프로그램에 적합하다.

  • 리버스 프록시 서버
    Nginx는 클라이언트의 요청을 다른 서버 애플리케이션(예: PHP, Node.js 또는 Python 기반 웹 애플리케이션)으로 전달하고 응답을 클라이언트에 반환하는 리버스 프록시 역할을 할 수 있다. 이는 로드 밸런싱, 백엔드 서버에서 작업 오프로드 및 추가 보안 계층 ​​제공에 도움이 된다.

  • 로드 밸런서
    Nginx는 로드 밸런서로서 수신 클라이언트 요청을 여러 백엔드 서버에 분산할 수 있다. 이를 통해 로드 균형을 조정하고 성능을 최적화하며 높은 트래픽으로 인한 서버 오류 위험을 줄일 수 있다.

  • SSL/TLS 지원
    Nginx는 SSL/TLS 암호화를 지원하여 클라이언트와 서버 간의 안전한 통신을 보장한다. 이는 민감한 정보를 보호하고 사용자 개인 정보 및 보안을 유지하는 데 필수적이다.

  • 구성
    Nginx는 유연하고 간단한 구성으로 유명하다. 관리자는 사람이 읽을 수 있는 텍스트 기반 구성 파일을 통해 특정 요구 사항을 충족하도록 동작을 쉽게 사용자 지정할 수 있다.

  • 확장성
    Nginx의 기능은 다양한 타사 모듈로 확장할 수 있으므로 사용자는 새로운 기능을 추가하고 다양한 사용 사례 및 요구 사항에 맞게 소프트웨어를 조정할 수 있다.

  • 크로스 플랫폼
    Nginx는 Linux, Windows, macOS 및 BSD를 포함한 다양한 운영 체제에서 사용할 수 있다. 이 교차 플랫폼 호환성으로 인해 다양한 서버 환경에서 널리 사용된다.

Nginx 설치

1. 패키지 관리자 업데이트

Debian 기반
sudo apt-get update

RedHat 기반
sudo yum update

2. Nginx 설치

Debian 기반
sudo apt-get install nginx

RedHat 기반
 sudo yum install nginx

3. Nginx 시작

sudo systemctl start nginx

4. Nginx가 실행 중인지 확인

sudo systemctl status nginx

5. 방화벽을 통한 Nginx 허용(해당하는 경우)

Debian 기반
sudo ufw allow 'Nginx HTTP'

RedHat 기반
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

이제 웹 브라우저에 서버의 IP 주소를 입력하여 Nginx에 액세스할 수 있다. 문제가 발생하면 sudo tail -f /var/log/nginx/error.log를 입력하여 Nginx 오류 로그를 확인할 수 있다.

 

6. Nginx 구성 확인(구성 파일 구문 오류 확인)

sudo nginx -t

이 명령은 구문 오류에 대한 구성 파일을 테스트하고 발견된 모든 문제를 보고한다. 구성 파일에 오류가 없으면 이 명령은 테스트가 성공했음을 나타내는 메시지를 출력한다 

반응형
반응형
wget

wget 명령어는 인터넷에서 파일을 다운로드하기 위한 명령줄 유틸리티다. HTTP, HTTPS, FTP 등 다양한 네트워크 프로토콜을 지원한다. 이 명령어는 견고성과 내결함성을 위해 Linux, macOS 및 기타 Unix와 유사한 운영 체제에서 널리 사용된다.

 

wget의 주요 기능에는 느리거나 불안정한 네트워크 연결 처리, 실패한 다운로드 재시도, 중단된 다운로드 재개 등이 있다. 또한 재귀적으로 파일을 다운로드하고, 특정 파일 유형을 필터링하고, 다운로드 속도를 제한하고, 다운로드 디렉토리를 지정하는 옵션을 제공한다.


wget 설치

Ubuntu / Debian

sudo apt update && sudo apt install wget

CentOS / RHEL

sudo yum install wget
sudo dnf install wget

사용 예시 및 옵션

1. 단일 파일 다운로드

wget http://example.com/path/to/file.txt

 

2. 특정 디렉토리에 파일 다운로드
파일을 특정 디렉토리에 다운로드하려면 -P 또는 --directory-prefix 옵션과 원하는 디렉토리 경로를 차례로 작성한다.

wget -P /path/to/directory http://example.com/path/to/file.txt

 

3. 다른 이름으로 파일 다운로드
다운로드한 파일을 다른 이름으로 저장하려면 -O 또는 --output-document 옵션 다음에 원하는 파일 이름을 작성한다.

wget -O new_file_name.txt http://example.com/path/to/file.txt

 

4. 중단된 다운로드 재개
중단된 다운로드를 재개하려면 -c 또는 --continue 옵션을 사용한다.

wget -c http://example.com/path/to/file.txt

 

5. 다운로드 속도 제한
다운로드 속도를 제한하려면 --limit-rate 옵션과 원하는 속도 제한(예: 100KB/s의 경우 100k)을 작성한다.

wget --limit-rate=100k http://example.com/path

 

6. 여러 파일 다운로드
여러 파일을 다운로드하려면 여러 URL과 함께 하나의 wget 명령어를 사용하거나 URL 목록이 포함된 텍스트 파일을 만들고 -i 또는 --input -파일 옵션을 사용한다.

wget http://example.com/path/to/file1.txt http://example.com/path/to/file2.txt

다른 방법) URL이 포함된 텍스트 파일(예: urls.txt)을 만든다.

sudo vi /path/urls.txt

http://example.com/path/to/file1.txt
http://example.com/path/to/file2.txt

그런 다음 -i 옵션을 사용하여 파일을 다운로드한다.

wget -i urls.txt

 

7. 재귀적으로 파일 다운로드
웹사이트나 FTP 서버에서 파일을 재귀적으로 다운로드하려면 -r 또는 --recursive 옵션을 사용하여라. 이렇게 하면 이미지 및 기타 파일과 같은 콘텐츠와 함께 지정된 URL이 다운로드된다.

wget -r http://example.com/path/to/website

 

8. 재귀 깊이 제어
wget 명령의 컨텍스트에서 재귀 깊이는 지정된 URL에서 파일이나 웹 페이지를 다운로드할 때 명령이 따라야 하는 최대 수준 수를 나타낸다. --recursive 옵션을 사용하는 동안 재귀 깊이를 제한하려면 -l 또는 --level 옵션 뒤에 원하는 깊이를 작성한다.

wget -r -l 1 http://example.com/path/to/website

 

9. 특정 파일 형식만 다운로드
특정 파일 형식만 다운로드하려면 -A 또는 --accept 옵션 다음에 쉼표로 구분된 파일 확장자 목록을 작성한다.

wget -r -A .jpg,.png http://example.com/path/to/website

 

10. 특정 파일 형식 제외
특정 파일 형식을 다운로드에서 제외하려면 -R 또는 --reject 옵션 다음에 쉼표로 구분된 파일 확장자 목록을 작성한다.

wget -r -R .jpg,.png http://example.com/path/to/website

 

11. 지정된 디렉토리에서만 파일 다운로드
지정된 디렉토리에서만 파일을 다운로드하려면 --include-directories 또는 --exclude-directories 옵션 다음에 쉼표로 구분된 디렉토리 목록을 작성한다.

wget -r --include-directories=dir1,dir2 http://example.com/path/to/website

 

12. 상대 링크만 따르기
기본적으로 wget은 절대 링크와 상대 링크를 모두 따른다. 상대 링크만 따라가려면 --no-parent 옵션을 사용한다.

wget -r --no-parent http://example.com/path/to/website

 

13. 재시도 횟수 제어
실패한 다운로드에 대한 재시도 횟수를 제어하려면 --tries 또는 -t 옵션 뒤에 원하는 재시도 횟수를 작성한다.

wget --tries=5 http://example.com/path/to/file.txt

 

14. 시간 초과 설정
연결 설정 또는 데이터 읽기에 대한 시간 초과를 설정하려면 --timeout 또는 -T 옵션 뒤에 원하는 시간 초과 값(초)을 작성한다.

wget --timeout=10 http://example.com/path/to/file.txt

반응형
반응형
Stratis으로 스토리지 관리

Stratis는 Red Hat 및 업스트림 Fedora 커뮤니티에서 개발한 로컬 스토리지 관리 툴이다. Stratis를 사용하 면 스토리지 초기 구성 수행, 스토리지 구성 변경, 고급 스토리지 기능 사용이 더 쉬워진다.

 

Stratis는 물리적 스토리지 장치 풀을 관리하는 서비스로 실행되며, 새로 생성된 파일 시스템의 볼륨을 투명하 게 생성 및 관리한다. Stratis는 씬 프로비저닝이라는 개념을 사용하여 디스크 장치의 공유 풀에서 파일 시스템을 빌드한다. 파일 시스템을 생성할 때 물리적 스토리지 공간을 즉시 할당하는 대신, Stratis에서는 파일 시스템에서 추가 데이터 를 저장할 때 풀에서 공간을 동적으로 할당한다.

 

따라서 파일 시스템의 크기가 1TiB로 표시될 수 있지만, 풀 에서 실제로 할당된 실제 스토리지의 크기는 100GiB뿐일 수 있다. 다양한 스토리자 장치에서 여러 개의 풀을 생성할 수 있다. 각 풀에서 하나 이상의 파일 시스템을 만들 수 있다. 현재 풀당 최대 2^24 개의 파일 시스템을 만들 수 있다.

 

Stratis는 Stratis 관리 파일 시스템을 구성하는 구성 요소를 표준 Linux 구성 요소에서 빌드한다. Stratis는 내부적으로 LVM도 사용하는 장치 매퍼 인프라를 사용한다. Stratis는 관리 대상 파일 시스템을 XFS로 포맷 한다. Stratis는 하드 디스크 또는 SSD와 같은 블록 스토리지 장치를 풀에 할당하며, 이러한 장치는 각각 풀에 실제 스토리지를 제공한다. 그런 다음 풀에서 파일 시스템을 생성하고, 필요에 따라 실제 스토리지를 각 파일 시스템에 매핑한다.


주의점

Stratis에서 생성한 파일 시스템은 Stratis 툴 및 명령으로만 재구성해야 한다. Stratis는 저장된 메타데이터를 사용하여 관리되는 풀, 볼륨 및 파일 시스템을 인식한다. Stratis 명령이 아닌 명령을 사용하여 Stratis 파일 시스템을 수동으로 구성하면 해당 메타데 이터를 덮어쓰고 Stratis가 이전에 생성한 파일 시스템 볼륨을 인식하지 못할 수 있다.


명령어 사용 예

1. 다운로드 및 설치

sudo dnf install stratis-cli

systemctl enable --now stratisd

2. 다음으로 시스템에서 사용 가능한 블록 장치를 나열한다. Stratis 풀을 생성하려면 이 정보가 필요하다. 사용 가능한 장치를 나열하려면 lsblk 명령을 사용할 수 있다.

lsblk

3. 사용 가능한 블록 장치 중 하나(예: /dev/sdb)를 사용하여 mypool이라는 새 스토리지 풀을 만든다.

sudo stratis pool create mypool /dev/sdb

4. 풀이 성공적으로 생성되었는지 확인한다.

sudo stratis pool list

5. mypool 스토리지 풀 내에 myfs라는 새 파일 시스템을 만든다.

sudo stratis filesystem create mypool myfs

6. 파일 시스템이 성공적으로 생성되었는지 확인한다.

sudo stratis filesystem list mypool

7. 새로 생성된 파일 시스템의 장치 매퍼 경로를 찾는다.

sudo stratis filesystem list mypool

출력되는 메시지는 DeviceNode 열 아래에 장치 매퍼 경로를 표시한다(예: /dev/stratis/mypool/myfs).

8. 이제 새 파일 시스템의 마운트 지점을 생성한다.

sudo mkdir /mnt/myfs

9. 이전에 얻은 장치 매퍼 경로를 사용하여 파일 시스템을 마운트한다.

sudo mount /dev/stratis/mypool/myfs /mnt/myfs

10. 파일 시스템이 성공적으로 마운트되었는지 확인한다.

df -h

출력되는 메시지에는 /mnt/myfs에 마운트된 새 파일 시스템이 표시되어야 한다.

11. 부팅 시 파일 시스템이 자동으로 마운트되도록 하려면 /etc/fstab 파일에 항목을 추가한다.

vi /etc/fstab (vi, vim 등 파일 편집기 사용)

/dev/stratis/mypool/myfs /mnt/myfs xfs defaults 0 0

이 예에서는 Stratis 스토리지 풀을 생성하고 풀에 파일 시스템을 추가하고 파일 시스템을 마운트하는 방법을 보여주었다. stratis 명령은 스냅샷 생성, 파일 시스템 크기 조정과 같은 Stratis 스토리지 관리를 위한 다른 많은 작업을 제공한다. 

 

원래는 RHEL 9 버전에서 출시할 예정이었으나 아직 안정적이지는 않은지 아직 제대로 나오지는 않은 것 같다. 때문인지 쉽게 스토리지를 관리할 수 있도록 해주는 명령어지만 어려운 느낌이 든다.

반응형
반응형
Tuned

Linux Tuned 커맨드는 시스템 성능을 최적화하기 위해 시스템을 모니터링하고 프로필을 사용한다. 프로필은 디스크 설정, 커널 매개 변수, 네트워크 최적화 설정 등 시스템 매개 변수를 정의하는 규칙 모음으로 시스템 파라미터를 동적으로 조정하여 시스템 활동에 따라 시스템 설정을 동적으로 조정하며, 고성능, 저레이턴시, 전력 절약 등의 공통 사용 사례에 대한 사전 정의된 프로필도 제공한다. 이 커맨드는 다양한 예제를 통해 사용법을 설명할 수 있다.

 

Tuned를 사용하면, 시스템 튜닝 프로필을 이용해 특정 작업 부하에 대해 최적의 성능을 얻을 수 있다. 다양한 프로필이 이미 기본적으로 설치되어 있으며, 사용자가 직접 프로필을 만들 수도 있다.

이는 사전 구성된 다양한 튜닝 프로필을 적용하여 Linux 시스템의 성능을 최적화하는 시스템 성능 튜닝 서비스다. 고성능 컴퓨팅, 가상화, 절전 등과 같은 특정 사용 사례 또는 워크로드를 기반으로 시스템 설정을 자동으로 조정한다. Tuned는 성능 최적화가 중요한 서버 및 고성능 시스템에 특히 유용하다.


모듈 구성

1. Monitor 플러그인

  • disk : 모든 디스크 장치의 IO 작업 수에 따라 디스크 부하를 모니터링한다.
  • net : 네트워크 카드당 전송되는 패킷 수에 따라 네트워크 부하를 모니터링한다.
  • load : 모든 cpu의 cpu부하를 모니터링한다.

2. Tuning 플러그인

  • disk : 다양한 디스크 매개 변수 (디스크 스케줄러, 스핀다운 시간 제한 등)를 설정한다
  • net : 인터페이스 속도 및 WoL(Wake on LAN) 기능을 구성한다
  • cpu : 다양한 CPU 매개 변수(CPU 관리자, 대기시간 등)를 설정한다.

설치
RHEL/CentOS/Fedora
sudo yum install tuned

또는 데비안/우분투
sudo apt-get install tuned

사용 예시

1. 활성화

sudo systemctl enable --now tuned

2. 사용 가능한 프로필을 나열

tuned-adm list

3. 현재 활성 프로필을 표시

tuned-adm active

4. 활성 프로필을 변경

sudo tuned-adm profile <profile-name>

예) easyIT 프로필을 설정하려면 다음을 실행한다.
sudo tuned-adm profile easyIT

5. 사용자 지정 프로필을 만듭니다.

/etc/tuned/ 아래에 새 디렉토리를 생성하고 사용자 정의 설정으로 tuned.conf 파일을 추가하여 사용자 정의 튜닝 프로필을 생성할 수 있다.

sudo mkdir /etc/tuned/my-custom-profile
sudo nano /etc/tuned/my-custom-profile/tuned.conf (혹은 vi, vim으로도 가능하다.)


5-1. tuned.conf 파일에서 다음과 같은 사용자 지정 설정을 정의할 수 있다.

[main]
include=balanced

[cpu]
governor=performance

5-2. 그런 다음 다음을 사용하여 사용자 지정 프로필을 활성화한다.

sudo tuned-adm profile my-custom-profile

tuning 프로필

다음 tuning 프로필들은 RedHat을 기반으로 정리되었다.

 

  • balanced
    절전과 성능 간에 절충이 필요한 시스템에 적합하다.

  • power save
    최대 절전을 위해 시스템을 조정한다.

  • throughput-performance
    최대 처리량을 얻기 위해 시스템을 튜닝한다.

  • acceleratorperformance
    throughput-performance와 동일하게 튜닝하고 대기 시간도 100μs 미만으로 줄인다.

  • latency-performance
    전력 소비가 크더라도 대기 시간이 짧아야 하는 서버 시스템에 적합 하다.

  • network-throughput
    throughput-performance 프로필에서 파생됩니다. 최대 네 트워크 처리량을 얻기 위해 추가 네트워크 튜닝 매개 변수가 적용됩니다.

  • network-latency
    latency-performance 프로필에서 파생됩니다. 낮은 네트워크 대기 시간을 제공하기 위해 추가 네트워크 튜닝 매개 변수를 활성화한다.
  • desktop
    balance 프로필에서 파생됩니다. 대화형 애플리케이션의 빠른 응답을 제공한다.

  • hpc-compute
    latency-performance 프로필에서 파생됩니다. 고성능 컴퓨 팅에 이상적이다.
  • virtual-guest
    가상 시스템에서 실행할 경우 최대 성능을 얻기 위해 시스템을 튜닝한다.

  • virtual-host
    가상 시스템의 호스트로 사용될 경우 최대 성능을 얻기 위해 시스템을 튜닝한다.

  • intel-sst
    Intel Speed Select기술 구성을 사용하는 시스템에 최적화되었다. 다른 프로필의 오버레이로 사용한다.

  • optimize-serial-console
    직렬 콘솔의 응답성을 높인다. 다른 프로필의 오버레이로 사용한다
반응형
반응형

목차

  1. BIND
  2. 주요 구성
  3. 주요 특징
  4. 주요 기능
  5. 다운로드 및 설치
  6. 간단한 HTML 파일 생성

BIND

BIND (Berkeley Internet Name Domain)는 인터넷에서 가장 널리 사용되는 DNS (Domain Name System) 서버 소프트웨어다. 리눅스 시스템에서 도메인 이름을 IP 주소로 변환하는 데 사용되며, 주로 웹 서버, 이메일 서버 등의 인터넷 서비스에서 활용된다.

사용자가 웹 브라우저에 URL을 입력하면, DNS 서버는 해당 도메인 이름에 대한 IP 주소를 찾아 반환한다. 이렇게 함으로써 사용자는 숫자로 된 IP 주소 대신 기억하기 쉬운 도메인 이름을 사용하여 인터넷 자원에 접근할 수 있다. 따라서 BIND는 APACHE와 같은 명령어와 함께 자주 사용되는 DNS 서버 소프트웨어다.

 

쉽게 이야기하자면 우리가 아는 naver.com, daum.net, google.com과 같은 도메인 주소들은 사실 IP 주소로 이루어져 있다. 만약 172.132.42.72라고 가정하고 해당 도메인에 접속하려한다면 이 숫자들을 다 숙지해야하고, 우리가 이용하는 도메인이 1, 2개가 아니고 대부분 비슷하게 생긴 만큼 '이게 맞던가?'하는 생각이 자주 들것이다. 때문에 이를 간편하게 주소를 입력하면 해당 IP로 접속할 수 있도록 유도해주는 것이다.


주요 구성
  1. DNS 서버
    Bind는 Linux 시스템에서 DNS(도메인 이름 시스템) 서버를 구성하는 데 사용되는 소프트웨어다. DNS 서버는 호스트 이름을 IP 주소로 또는 그 반대로 변환하는 역할을 한다.

  2. 영역 파일
    바인딩 구성은 주로 영역 파일에 저장된다. 영역 파일에는 DNS 서버에서 관리하는 도메인에 대한 정보가 포함되어 있으며 각 레코드 유형에 대한 세부 정보가 포함되어 있다.

  3. 레코드 유형
    바인딩에 사용되는 주요 레코드 유형에는 A 레코드(IPv4 주소), AAAA 레코드(IPv6 주소), CNAME 레코드(별칭), MX 레코드(메일 서버), NS 레코드(네임 서버) 및 SOA 레코드가 포함된다. (권한의 시작).

주요 특징
  1. 키 바인딩
    'bind'의 주요 기능은 특정 작업이나 명령에 대한 키 바인딩을 생성하거나 수정하는 것이다. 이러한 키 바인딩은 눌렀을 때 특정 기능을 트리거하는 단일 키 또는 키 조합일 수 있다.

  2. Readline 라이브러리
    'bind'는 Bash와 같은 대화형 명령줄 프로그램에 줄 편집 및 기록 기능을 제공하는 Readline 라이브러리 위에 구축된다. 이는 bind로 구성한 키 바인딩이 Readline 라이브러리를 사용하는 다른 프로그램에서 작동함을 의미한다.

  3. 사용자 지정
    Linux bind를 사용하면 기본 설정과 작업 흐름에 맞게 명령줄 인터페이스를 사용자 지정할 수 있다. 자주 사용하는 명령 또는 기능에 대한 사용자 지정 키 바인딩을 생성하여 명령줄을 보다 효율적으로 탐색하고 상호 작용할 수 있다.

  4. 키 바인딩 나열
    bind -P 명령을 사용하여 현재 키 바인딩과 해당 기능을 모두 나열할 수 있다. 이는 기본 키 바인딩을 이해하고 수정하거나 재정의할 키 바인딩을 결정하는 데 유용하다.

  5. 구성
    bind로 구성된 키 바인딩은 .bashrc 또는 .inputrc 구성 파일에 명령을 추가하여 영구적으로 만들 수 있다. 이렇게 하면 새 셸 세션을 시작할 때마다 사용자 지정 키 바인딩을 사용할 수 있다.

주요 기능
  1. 캐싱 및 전달
    Bind는 DNS 서버를 캐싱 또는 전달하여 지정된 시간 동안 DNS 쿼리 결과를 저장 및 제공하거나 확인을 위해 다른 DNS 서버로 쿼리를 전달할 수 있다.

  2. 보안 기능
    Bind는 DNS 데이터를 인증하기 위한 DNSSEC(도메인 이름 시스템 보안 확장) 및 특정 IP 주소 또는 네트워크에 대한 서버 액세스를 제한하기 위한 액세스 제어 목록(ACL)과 같은 보안 기능을 제공한다.

  3. 구성 및 관리
    named.conf 구성 파일은 일반 설정, 영역 파일 및 기타 옵션을 관리하는 데 사용된다. Bind는 또한 관리 및 문제 해결을 위해 rndc 및 dig와 같은 다양한 명령줄 도구를 지원한다.

  4. 마스터 및 슬레이브 서버
    BIND는 마스터-슬레이브 구조를 사용하여 DNS 서비스를 제공한다. 마스터 서버는 도메인에 대한 모든 정보를 저장하고 관리하며, 슬레이브 서버는 마스터 서버로부터 정보를 복제하여 사용자의 요청에 응답한다. 이 구조를 사용하면 서버 간에 부하를 분산하고, 서버 장애 시 복구 시간을 줄일 수 있다.

  5. 정방향 및 역방향 조회
    BIND는 정방향 조회와 역방향 조회를 모두 지원한다. 정방향 조회는 도메인 이름을 IP 주소로 변환하는 것이고, 역방향 조회는 IP 주소에서 도메인 이름을 찾는 것이다.

다운로드 및 설치

1. BIND 설치

Ubuntu 및 Debian 시스템
sudo apt-get install bind9

CentOS 및 RHEL시스템
sudo yum install bind
sudo dnf install bind

* Debian 기반도 동일한지는 모르겠으나 RHEL 기반의 경우 bind와 함께 bind-utils, bind-libs을 다운받아주어야 한다. 몇몇 다른 블로그에서는 bind-chroot까지 받는 경우도 있었다.

*한번에 모든 파일 다운로드 받기
sudo dnf install bind bind-utils bind-libs...

2. 존 파일 구성
BIND 설정 파일(/etc/bind/named.conf.local 또는 /etc/named.conf 등)에 존 정보를 추가하고, 해당 존에 대한 리소스 레코드를 포함하는 존 파일을 작성한다. 존 파일에는 A 레코드, MX 레코드, CNAME 레코드 등 도메인에 대한 정보가 포함된다.

3. BIND 설정 파일 수정
/etc/bind/named.conf.options 또는 /etc/named.conf 파일에서 전역 설정을 수정할 수 있다. 예를 들어, DNS 포워더, 캐싱 옵션, 보안 설정 등을 구성할 수 있다.

4. BIND 서버 시작 및 확인
BIND 서버를 시작하고 정상적으로 작동하는지 확인한다. 예를 들어, sudo systemctl start named 또는 sudo systemctl start bind9 명령으로 서버를 시작한 후, sudo systemctl status named 또는 sudo systemctl status bind9 명령으로 서버 상태를 확인할 수 있다.

5. 방화벽 설정
DNS 서비스가 외부에서 접근 가능하도록 방화벽에서 UDP 포트 53을 열어준다.

6. 테스트
dig, nslookup 또는 host와 같은 도구를 사용하여 DNS 서버가 정상적으로 작동하는지 테스트한다. 그리고 연결되어 있는 가상화 장치나 실제 디바이스에서 설정한 도메인을 주소창에 검색해본다.


간단한 HTML 파일 생성

BIND 명령어는 도메인 생성과는 무관한 명령어 이지만 간단한 HTML 파일을 생성하는 명령을 실행하는 키 바인딩을 만들 수 있다.

1. 먼저 간단한 HTML 파일을 생성하는 셸 스크립트를 만든다. create_html.sh라는 파일에 다음 내용을 저장한다.

bash
Copy code
#!/bin/bash
cat << EOF > simple.html
<!DOCTYPE html>
<html>
<head>
  <title>Simple HTML</title>
</head>
<body>
  <h1>Hello, World!</h1>
</body>
</html>
EOF
echo "simple.html created successfully."

2. 다음을 실행하여 스크립트를 실행 가능하게 만든다.

chmod +x create_html.sh

3. 이제 특정 키 조합을 누를 때 create_html.sh 스크립트를 실행하도록 bind 명령으로 키 바인딩을 생성한다. 이 예에서는 Ctrl+Alt+H를 사용한다.

bind '"\e\C-h": "source /path/to/create_html.sh\n"'

4. /path/to/를 create_html.sh 스크립트의 실제 경로로 바꾼다.

5. 이 키 바인딩을 영구적으로 만들려면 bind 명령을 .bashrc 파일에 추가하여라.

echo 'bind '"'"'\e\C-h'"'"': "'"'"'source /path/to/create_html.sh\n'"'"'' >> ~/.bashrc

6. 다시 /path/to/를 create_html.sh 스크립트의 실제 경로로 바꾼다.

이제 Bash 셸에서 Ctrl+Alt+H를 누르면 create_html.sh 스크립트가 실행되고 simple.html이라는 간단한 HTML 파일이 생성된다. 이것은 HTML 파일을 생성하는 다소 색다른 방법이며 텍스트 편집기, 템플릿 엔진 또는 웹 프레임워크를 사용하는 것과 같이 HTML 파일을 생성하는 보다 효율적인 방법이 있다.


반응형