2024/09 22

[Container] 폐쇄망 환경에서 Docker 설치하는 방법

인터넷에 연결되지 않은 폐쇄망 환경에서 Docker를 설치하려면 필요한 패키지와 의존성 파일들을 미리 준비하고 로컬 레포지토리를 구성해야 한다. 1. 폐쇄망 OS 정보 확인폐쇄망 서버의 운영체제(OS) 정보와 플랫폼 정보를 확인한다.cat /etc/os-release # 배포판의 이름과 버전 정보 출력uname -r # 커널 버전 확인uname -m # 시스템 아키텍처 확인 (예: x86_64, aarch64)# 한번에 보기hostnamectl2. 동일한 환경의 컨테이너 실행폐쇄망 서버와 동일한 OS 환경과 플랫폼을 가진 컨테이너를 실행하여 필요한 패키지를 다운로드한다.arm을 사용하는 맥북일 경우 rosetta, qemu 등을 설치해야한다.docker run..

DevOps/Container 2024.09.29

[Linux] 부트로더

컴퓨터를 켰을 때 가장 먼저 실행되는 프로그램이 부트로더(Bootloader)이다. 부트로더는 운영체제를 메모리에 로드하고 실행하는 역할을 하며, 하드웨어와 운영체제 사이에서 중개자 역할을 한다.부트로더의 주요 기능운영체제 로딩: 부트로더는 디스크에서 운영체제 커널을 찾아 메모리에 로드한다.멀티부팅 지원: 여러 운영체제가 설치된 경우 선택적으로 부팅할 수 있도록 메뉴를 제공한다.부트 설정 관리: 부팅 옵션과 파라미터를 설정하여 시스템의 부팅 방식을 제어한다.대표적인 부트로더 종류GRUB(Grand Unified Bootloader): 리눅스에서 가장 널리 사용되는 부트로더로, 다양한 파일 시스템과 운영체제를 지원한다.LILO(Linux Loader): 초기 리눅스 시스템에서 사용되던 부트로더로, 현재는 ..

CS/Linux 2024.09.29

[Linux] 파이프, 프로세스, 서비스

파이프 (Pipe)파이프는 두 개의 프로그램을 연결해 주는 통로이다. 이를 통해 한 프로그램의 출력을 다른 프로그램의 입력으로 전달할 수 있다. 파이프는 | 문자를 사용하여 표현한다.파이프 사용 예시ls -l /etc | more위 명령어는 /etc 디렉토리의 상세 목록을 ls -l /etc 명령어로 출력한 후, 그 출력을 more 명령어를 통해 페이지 단위로 보여준다. 이렇게 하면 긴 목록을 한 화면씩 확인할 수 있어 편리하다.필터 (Filter)필터는 데이터의 특정 부분만을 걸러내어 필요한 정보만 추출하는 명령어들이다. 필터는 주로 파이프와 함께 사용되며, 데이터를 가공하거나 검색할 때 유용하다. 대표적인 필터 명령어로는 grep, tail, wc, sort, awk, sed 등이 있다.필터 사용 예..

CS/Linux 2024.09.28

[Linux] 주요 네트워크 명령어 및 설정 파일

nmtuinmtui는 NetworkManager의 텍스트 기반 사용자 인터페이스로, 네트워크와 관련된 대부분의 작업을 이 명령어를 통해 수행할 수 있다. 이를 통해 자동 IP 주소 설정 또는 고정 IP 주소 사용 여부를 결정하고, IP 주소, 서브넷 마스크, 게이트웨이 정보 및 DNS 정보를 입력할 수 있다. 또한, 네트워크 카드 드라이버 설정과 네트워크 장치의 세부 설정도 가능하며, 텍스트 기반으로 작동하여 GUI 환경 없이도 쉽게 네트워크를 관리할 수 있다.nmtui로 네트워크 설정을 변경한 후에는 변경된 내용을 시스템에 적용해야한다.sudo nmtuisudo systemctl restart NetworkManagerifconfigifconfig 명령어는 네트워크 인터페이스의 상태를 제어하고 정보를 ..

CS/Linux 2024.09.27

[Linux] CRON과 AT

CRONCRON은 리눅스에서 주기적으로 명령어나 스크립트를 실행할 수 있게 해주는 스케줄링 도구이다. 주로 정기적인 시스템 유지보수 작업이나 백업 작업 등에 사용된다.crondcrond는 CRON 작업을 관리하고 실행하는 백그라운드 데몬이다. 시스템이 부팅될 때 자동으로 시작되며, 사용자와 시스템의 crontab 파일을 주기적으로 확인하여 예약된 작업을 실행한다./etc/crontab/etc/crontab는 시스템 전체에 적용되는 crontab 파일로, 사용자별 crontab과는 다르게 사용자 필드가 포함되어 있다. 이 파일은 시스템 관리자가 주기적인 시스템 작업을 설정할 때 주로 사용된다. 기타 시스템 crontab 파일:/etc/cron.d/: 추가적인 crontab 파일을 저장하는 디렉토리로, 패키..

CS/Linux 2024.09.22

[Linux] 파일 위치 검색

find 명령어 기본 구조find [경로] [옵션] [조건] [액션]경로: 검색을 시작할 디렉토리 경로. 예를 들어 /home/user.옵션: 검색 방식을 조정하는 옵션들.-type: 파일의 유형을 지정한다. 예: f (파일), d (디렉토리), l (심볼릭 링크) 등.-name: 파일 이름을 기준으로 검색한다. 와일드카드(*, ?)를 사용할 수 있다.-user: 특정 사용자가 소유한 파일을 검색한다.-newer: 지정한 파일보다 최근에 수정된 파일을 검색한다.-perm: 특정 권한을 가진 파일을 검색한다.-size: 파일 크기를 기준으로 검색한다. 예: +100M (100MB 이상), -50k (50KB 이하) 등.-mtime: 파일의 마지막 수정 시간을 기준으로 검색한다. 예: +30 (30일 이상)..

CS/Linux 2024.09.22

[Linux] 파일의 압축과 묶기

파일 압축파일 압축은 여러 파일이나 디렉토리를 하나의 파일로 줄여 저장 공간을 절약하고, 전송 속도를 향상시키는 방법이다. 다양한 압축 형식이 존재하며, 각각의 특성과 장단점이 있다.주요 압축 형식XZ: 높은 압축률을 제공하며, 주로 소스 코드 패키지나 백업 파일에 사용된다.Bzip2 (bz2): XZ와 비슷하게 높은 압축률을 제공하지만, 압축 및 해제 속도는 조금 느리다.Gzip (gz): 빠른 압축 및 해제 속도를 제공하지만, 압축률은 XZ나 Bzip2보다 낮다.Zip: 윈도우 환경에서 널리 사용되며, 다양한 플랫폼에서 호환성이 좋다.Z: 오래된 압축 형식으로, 현재는 잘 사용되지 않는다.일반적으로 XZ나 Bzip2는 Gzip보다 더 높은 압축률을 제공하지만, 압축 및 해제 속도는 다소 느릴 수 있다..

CS/Linux 2024.09.22

[Linux] 패키지 관리자

RPMRPM은 리눅스에서 소프트웨어를 설치하고 관리하는 기본 도구다. 마치 Windows에서 프로그램을 설치할 때 사용하는 setup.exe 파일과 비슷한 역할을 한다. RPM 패키지는 .rpm 확장자를 가진 파일로, 특정 소프트웨어나 프로그램을 담고 있다. 이 파일을 설치하면 해당 프로그램이 시스템에 설치된다. RPM 패키지의 파일명은 다음과 같은 형식을 따른다.패키지이름-버전-릴리즈번호.리눅스버전.아키텍처.rpm예를 들어 nginx-1.18.0-1.el8.x86_64.rpm이라는 파일이 있다면, 이는 nginx라는 프로그램의 1.18.0 버전이며, RHEL 8용 64비트 시스템(x86_64)에서 사용된다는 뜻이다. RPM 명령어패키지 설치: 터미널에서 다음 명령어를 입력한다.-U: 설치 또는 업그레이..

CS/Linux 2024.09.22

[Linux] 하드 링크와 심볼릭 링크

요약하드 링크는 원본 파일과 동일한 inode를 공유하여 동일한 데이터를 참조하며, 원본 파일이 삭제되어도 다른 하드 링크가 존재하면 데이터에 접근할 수 있다.심볼릭 링크는 원본 파일의 경로를 가리키는 별도의 파일로, 원본 파일이 삭제되면 링크가 더 이상 유효하지 않다.하드 링크는 동일한 파일 시스템 내에서만 생성 가능하지만, 심볼릭 링크는 다른 파일 시스템 간에도 생성할 수 있다.각 링크의 특성과 장단점을 이해하고 적절한 상황에 맞게 활용하는 것이 중요하다. inode와 데이터 블록의 역할파일 시스템에서 inode는 파일의 메타데이터(파일의 크기, 소유자, 권한 등)와 파일이 저장된 데이터 블록의 위치를 저장하는 역할을 한다. 원본 파일은 하나의 inode를 가지고 있으며, 이 inode는 실제 데이터..

CS/Linux 2024.09.20

[Linux] 사용자와 그룹

사용자(User)란?사용자(user)는 리눅스 시스템에서 자원을 사용할 수 있는 개별적인 계정을 의미한다. 각 사용자는 고유한 사용자 이름과 사용자 ID(uid)를 가지며, 시스템 내에서 특정 권한과 접근 권한을 부여받는다.리눅스는 다중 사용자 시스템이며 root라는 이름을 가진 슈퍼유저가 있다.그룹(Group)이란?그룹(group)은 여러 사용자를 하나로 묶어 공통된 권한을 부여하기 위한 단위이다. 각 그룹은 고유한 그룹 이름과 그룹 ID(gid)를 가지며, 그룹에 속한 모든 사용자는 동일한 그룹 권한을 공유하게 된다.사용자와 그룹의 관계리눅스 시스템에서는 사용자가 하나 이상의 그룹에 속할 수 있으며, 이를 통해 파일과 디렉토리에 대한 접근 권한을 세밀하게 관리할 수 있다. 기본적으로 각 사용자는 하나..

CS/Linux 2024.09.18
728x90