전체 글151 [Linux] 리눅스 표준 디렉터리 리눅스 표준 디렉터리과거 다양한 리눅스 배포판이 등장함에 따라 디렉터리의 구조와 사용 방법의 차이가 있어 관리나 개발의 어려움이 발생했다.이를 해결하기 위해 개발자나 관리자 사이에 '리눅스 파일 시스템 계층구조 표준(FHS: Filesystem Hierarchy Standard)'을 정하였다. 현재 대부분의 배포판은 FHS에 맞춰 개발되고 있다.이 표준에서 리눅스는 전체적으로 파일 시스템이 하나의 트리 구조로 정의되어야 한다. 루트 디렉터리(/)는 중요한 몇 가지 디렉터리로 분할되고 그 중 특별한 몇몇 디렉터리는 다시 기준에 따라 여러 디렉터리로 분할된다. 아래 디렉터리는 ubuntu를 기준으로 설명한다. 1. 루트 디렉터리(/)마운트 되는 모든 파일 시스템을 포함하는 최상위 디렉터리 2. 바이너리 디렉.. 2025. 4. 30. [Linux] 쉘과 Login Shell vs Non Login Shell 쉘(Shell)의 개요쉘은 커널과 사용자 간의 가교 역할을 하는 명령어 해석기 또는 명령 행 인터페이스(CLI)를 말합니다. 쉘이라는 단어는 커널을 감싼 껍질의 의미를 가집니다. 로그인 쉘(Login Shell)로그인할 때 수행되는 쉘을 '로그인 쉘' 이라고 합니다. 로그인 쉘에서만 logout 명령을 사용하여 로그아웃을 할 수 있습니다. 쉘을 시작할 때 수행되는 초기화 스크립트로그인 쉘이 시작될 때 다음의 순서로 명령을 실행합니다. 1. 로그인 쉘은 /etc/profile을 실행2. /etc/profile은 /etc/profile.d 안에 있는 스크립트들을 실행3. ~/.bash_profile(또는 ~/.bash_login 또는 ~/.profile)을 실행4. ~/.bash_profile은 ~/.ba.. 2025. 3. 27. 라이브러리와 모듈 이란 라이브러리란라이브러리(Library)는 프로그램 개발 시 활용할 수 있는 클래스와 인터페이스들을 모아놓은 것을 말합니다. 일반적으로 JAR 압축 파일(~.jar) 형태로 존재합니다. JAR 파일에는 클래스와 인터페이스의 바이트코드 파일(~.class)들이 압축되어 있습니다. 특정 클래스와 인터페이스가 여러 응용프로그램을 개발할 때 공통으로 자주 사용된다면 JAR 파일로 압축해서 라이브러리로 관리하는 것이 좋습니다. 모듈 이란모듈은 패키지 관리 기능까지 포함된 라이브러리 입니다. 일반 라이브러리는 내부에 포함된 모든 패키지에 외부 프로그램에서의 접근이 가능하지만, 모듈은 다음과 같이 일부 패키지를 은닉하여 접근할 수 없게 합니다.또 다른 차이점은 모듈은 자신이 실행할 때 필요로 하는 의존 모듈을 모듈.. 2025. 3. 7. Docker Compose 로 여러 컨테이너 운용 관리 Docker Compose 란여러 컨테이너를 모아서 관리하기 위한 툴입니다. Docker Compose는 'docker-compose.yml' 라는 파일에 컨테이너의 구성 정보를 정의함으로써 동일 호스트 상의 여러 컨테이너를 일괄적으로 관리할 수 있습니다.Docker Compose는 여러 호스트 상의 컨테이너를 관리하는 것이 아닌 단일 호스트 상의 컨테이너를 관리하기 위해 사용합니다.그 이유는 Docker Compose는 내부적으로 bridge 네트워크를 사용합니다. 이 네트워크는 단일 호스트에서만 동작하기 때문에 서로 다른 서버에 있는 컨테이너는 기본적으로 통신할 수 없습니다.services: web: build: . ports: - "8000:5000" develop: .. 2025. 3. 6. Dockerfile로 인프라 구성 관리 Dockerfile 이란?Docker Image를 생성하기 위한 설정 파일로 다음의 내용을 기입합니다.베이스가 될 Docker 이미지Docker 컨테이너 안에서 수행한 조작(명령)환경변수 등의 설정Docker 컨테이너 안에서 작동시켜둘 데몬 실행 Dockerfile의 명령어명령설명FROM베이스 이미지 지정RUN명령 실행CMD컨테이너 실행 명령LABEL라벨 설정EXPOSE노출할 포트 지정ENV환경 변수ADD파일/디렉토리 추가COPY파일 복사ENTRYPOINT컨테이너 실행 명령VOLUME볼륨 마운트USER사용자 지정WORKDIR작업 디렉토리ARGDockerfile 안의 변수ONBUILD빌드 완료 후 실행되는 명령STOPSIGNAL시스템 콜 시그널 설정HEALTHCHECK컨테이너의 헬스 체크SHELL기본 쉘.. 2025. 3. 6. Docker 명령어 정리 컨테이너 생성 및 시작docker run [옵션] [인수]옵션설명--attach, -aForeground Mode--detach, -d컨테이너를 생성하고 백그라운드에서 실행--cidfile컨테이너 ID를 파일로 출력--interactive, -i컨테이너 표준 입력(STDIN)--tty, -t터미널 이용--user, -u사용자명 지정--restart=[no | on-failure:횟수 | always | unless-stopped]명령 실행 결과에 따른 재시작 옵션--rm명령 실행 완료 후 컨테이너를 자동으로 삭제--add-host=호스트명:IP주소컨테이너의 /etc/hosts에 호스트명과 IP 주소를 정의--dns=IP주소컨테이너용 DNS 서버의 IP 주소 지정--expose지정한 범위의 포트 번호를 .. 2025. 3. 3. 이전 1 2 3 4 ··· 26 다음