Linux 126

[Ubuntu 20.04] Hostname 설정

Hostname 재부팅 시 서버의 Hostname이 다른 값으로 변경되는 일이 있어 명령어 또는 설정 파일을 통해 hostname 설정 방법을 정리해둔다. Hostname 확인 1. hostname 시스템의 호스트명을 보여주거나 설정한다. hostname 2. hostnamectl 시스템 호스트명을 제어한다. hostnamectl 출력 결과의 Static hostname은 /etc/hostname 파일에 설정이 저장되며 사용자에 의해 설정될 수 있다. 3. /etc/hostname 설정 파일에서 hostname을 읽어 들일 수도 있다. cat /etc/hostname Hostname 설정 1. hostname 명령 재부팅 전까지만 유지된다. hostname # 예시 hostname devOps-EC2-t..

Linux 2022.07.27

[Ubuntu/virtualenv] AttributeError: module 'virtualenv.create.via_global_ref.builtin.cpython.mac_os' has no attribute 'CPython2macOsArmFramework'

현상 Ubuntu 20.04 LTS에서 python virtualenv를 이용해 가상환경을 구성하려고 한다. pip도 설치되어 있지 않은 빈 OS 상태였기 때문에 아래와 같이 virtualenv 설치를 진행했다. # root 계정으로 전환 sudo -i # 패키지 저장소 업데이트 apt update # python3 pip 설치 apt install python3-pip # virtualenv 설치 pip install virtualenv # 설치 확인 pip list 설치 확인 시 아래와 같이 설치된 모습을 확인했다. 하지만 가상 환경 생성을 시도했을 때 명령어를 찾지 못해 다시 패키지를 설치하라는 안내가 출력되었다. 따라서 안내된 명령어로 다시 python virtualenv 설치했다. 그리고 아래와..

Linux 2022.07.20

[tar] 압축/해제

tar Tape ARchiver의 준말로 여러 파일을 하나의 파일로 묶거나 풀 때 사용한다. 💡 아카이버 (Archiver) 여러 개의 파일을 하나로 파일로 합치는 프로그램 파일을 저장 장치에 저장하거나 전송할 때 파일이 많으면 관리하기 힘들기 때문에, 하나의 파일로 처리하기 위한 목적으로 만들어졌다. tar는 여러 파일을 하나의 파일로 묶기만 할 뿐, 데이터 크기를 줄이기 위한 압축을 수행하지는 않는다. 대신 gzip, bzip2 등의 방식으로 압축할 수 있는데, 이는 tar 명령의 옵션으로 처리할 수 있다. tar 명령에 의해 만들어지는 파일은 .tar 확장자를 사용한다. gzip으로 압축된 경우에는 .targz, tgz을, bzip2로 압축된 경우에는 .tar.bz2, .tb2, tbz, tbz2 ..

Linux 2022.06.29

[Shell Script] Escape Sequences

Escape 문자 Escape 문자는 아래의 경우에서 처리된다. echo -e " " 또는 echo -e ' ' $ ' ' printf "" 또는 printf ' ' printf %b sh에서의 echo " ", echo ' ' 모두 이스케이프 문자를 처리한다. 따라서 -e 옵션이 없다. Quotes에 따른 escape 문자 처리 비교 echo 명령의 -e 옵션에 따른 escape 문자 처리 해석 시에는 -e 옵션을 제거한 후 명령을 실행해보고 비교하면 된다. sh와 bash에서 8진수, 16진수 처리 sh에서는 echo, printf에서 16진수를 사용할 수 없다. bash는 echo, printf, $ ' ' 모두 처리가 조금 다르다. sh, bash 모두 사용하려면 8진수를 사용해야 한다. 8진수,..

Linux/Shell Script 2022.06.26

[systemd] systemctl을 이용한 Runlevel/Target 관리

Target 기존 Unix/Linux는 부팅 시 제공하는 기능의 수준을 결정하는 Runlevel이라는 개념을 사용했다. 다만 systemd가 도입되며 Target이라는 용어로 변경되었다. Runlevel에 따른 Target은 아래와 같다. Runlevel Target 의미 0 poweroff.target 시스템 중단 1 rescue.target 텍스트 기반의 단일 사용자 모드 2, 3, 4 multi-user.target 텍스트 기반의 다중 사용자 모드 5 graphical.target X 윈도우 기반의 다중 사용자 모드 6 reboot.target 시스템 리부팅 systemd systemd(System daemon)은 시스템 부팅 시 가장 먼저 생성된 후 다른 프로세스를 실행하는 init 역할을 대체한..

Linux 2022.06.06

[kill] 프로세스에 시그널 전달

시그널(SIGNAL) 프로세스에게 이벤트의 발생을 알리기 위해 전달되는 소프트웨어 인터럽트의 일종 사전적인 의미로 '신호'를 뜻하며, 리눅스에서는 프로세스끼리 서로 통신할 때 사용한다. 시그널을 발생시키는 이벤트는 Hardware Exception, Software Condition, 사용자 입력, 시스템 콜 등이 해당된다. 💡 인터럽트 (Interrupt) 갑자기 발생하는 비동기적인 통지나 이벤트 하드웨어 관점에서는 하드웨어의 변화를 감지해서 외부 입력으로 전달되는 전기 신호 인터럽트가 발생하면 프로세스는 동작을 중지하고 인터럽트 벡터와 핸들러를 실행하여 하드웨어 변화를 처리한다. 시그널은 비신뢰성과 대기하지 않는다는 성질을 가진다. 비신뢰성 : 시그널을 보낸 후 시그널의 도착했는지 확인하지 않는다. ..

Linux 2022.05.24

[whois] 도메인 세부 정보 확인

whois 인터넷 도메인 이름, IP 주소 등 인터넷 자원의 소유자와 범위를 검색하기 위한 통신 프로토콜 및 ICANN이 관여하는 도메인 관리 프로그램 💡 ICANN 국제 인터넷 주소 관리기구 (Internet Corporation for Assigned Names and Numbers) 인터넷 DNS의 기술적 관리, IP 주소 공간 할당, 프로토콜 파라미터 지정, 루트 서버 시스템 관리 등의 업무를 조정한다. 리눅스에서는 whois 라는 명령어를 통해 whois 서버에 검색을 수행할 수 있다. 설치 Ubuntu apt update apt install whois CentOS yum install whois 명령어 출력 정보 형식은 사용되는 WHOIS 서버에 따라 다르다. whois # 예시 whois ..

Linux 2022.05.23

[ldapsearch] 사용법

ldapsearch LDAP 서버에 연결하여 지정된 매개변수를 사용하여 검색을 수행한다. 이 글에서는 ldapsearch 사용 방법을 간단하게 정리한다. 설치 Ubuntu는 아래의 명령어로 설치할 수 있다. apt install ldap-utils 서버 연결/인증 ldap 서버에서 검색을 수행하기 위해서는 서버 접속 정보와 계정 정보를 인증해야 한다. 따라서 아래와 같이 ldap 서버 주소, 포트, 검색할 DN, 계정, 계정 비밀번호 등을 지정해야 한다. ldapsearh -h -p -b "" -D "" -w "" # -h : ldap 서버 주소 # -p : port 지정 # -b : 검색할 DN 경로 # -D : 인증할 계정 # -w : 계정 비밀번호 # 예시 ldapsearh -h 192.168.10..

Linux 2022.05.22

[traceroute] 패킷 전송 경로 추적

traceroute는 패킷이 출발지에서 목적지까지 도달하기 위한 경로를 표시한다. 보통 대상 서버와 통신 가능 여부를 확인할 때 ping이나 telnet을 이용하는데 ping 테스트 시 실패가 발생하는 경우 또는 접속에 지연이 발생하는 경우, 어느 구간이 문제가 되는지를 판단하기 위해 사용할 수 있다. IPv6를 사용하고 싶다면 traceroute6 명령어를 사용할 수 있다. 윈도우에서는 같은 기능을 수행하는 명령어로 tracert가 존재한다. 설치 traceroute 명령어가 존재하지 않으면 패키지 관리자를 통해 설치하도록 한다. Ubuntu 기준으로는 아래의 명령어로 설치할 수 있다. apt update apt install traceroute 사용법 traceroute traceroute # -p ..

Linux 2022.05.11

[Linux] ping

ping은 IP 네트워크를 통해 특정 호스트가 도달 여부를 확인할 때 사용하는 명령어 중 하나이다. 대상 컴퓨터에 일정 크기의 패킷을 보낸 후(ICMP ECHO Request), 그 응답(ICMP ECHO Reply)을 받음으로써 대상 컴퓨터 동작 여부와 네트워크 상태를 파악할 수 있다. Window에도 같은 명령어가 존재하며 사용 옵션의 차이가 있을 뿐, 기본적인 사용 방법은 동일하다. 이 글은 리눅스 기준으로 작성한다. 명령어 ping ping # 예시 ping 172.217.175.228 ping www.google.com 옵션 없이 사용하면 사용자가 프로세스를 종료할 때까지 반복 실행한다. 프로세스를 종료하며, 몇 개의 패킷을 보내서 몇 개의 패킷을 받았는지, 몇 개의 패킷을 밪지 못했는지 등에 ..

Linux 2022.05.09
1 2 3 4 5 6 7 8 ··· 13