묻고 답해요
137만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결시스템엔지니어가 알려주는 리눅스 실전편 Bash Shell Script
서버 구축시 문제 발생
서버구축시에 cent2/3이 생성이 되지 않습니다.윈도우 defender옵션기능은 꺼져있습니다.
-
미해결취미로 해킹#1(OverTheWire - Bandit)
nc -zvnw로 하면 권한 거부되었다가 ssh -p 2220 -i 로 하니까 되는 이유
nc -zvnw 이렇게 수업처럼 접속하고 22접속이 succeed라고 뜬 후에 ssh -i ./ssh.privatekey bandit14@localhost이렇게 수업이랑 똑같이 명령어 입력했을 때는 public key라면서 권한이 거부되었는데, 그 후 바로 ssh -p 2220 -i ./ssh.privatekey bandit14@localhost라고 포트번호를 2220으로 해서 i옵션을 쓰니까 14계정으로 로그인이 되던데 이유가 뭔가요?
-
미해결리눅스 성능 분석 시작하기
안녕하세요 netstat 2번째에서 궁금한게 있습니다.
열두번째 강의 netstat(2)dptj 5:56부근에 close_wait는 애플리케이션 이상 동작이라고 설명을 해주셨는데, 이 부분이 잘 이해되지 않습니다.client로 부터 fin 패킷을 받아서 close_wait이 되는걸로 이해했는데, 이게 왜 이상동작일까요?
-
미해결리눅스 쉘 스크립트
환경변수 PWD, OLDPWD 관련하여 질문드립니다.
안녕하세요 강사님.환경변수 PWD, OLDPWD에 관하여 질문드립니다. 쉘을 두개 띄워놓고 해당 환경변수를 출력하면 각 쉘에서 나온 값이 다르게 나오더라고요.어떻게 서로 다른 쉘에서 같은 문자의 환경변수가 다른 값을 갖는지 궁금합니다. 아래는 구글링을 좀 하면서 서로 다른 값을 가질수 있는 방법을 생각해본것인데 맞게 추론한것인지 궁금합니다. export로 로컬 환경변수를 생성 또는 수정할 수 있다. 그렇다면 혹시 PWD, OLDPWD는 로컬 환경 변수로 동작하는 것이 맞을까요?그리고 만약 로컬 환경변수가 맞다면 cd를 실행하면 cd 프로그램(프로세스?)에서 환경변수를 바꾸는 것인지, cd 프로그램은 쉘의 자식 프로세스인데 자식 프로세스가 부모 프로세스의 로컬 환경변수를 바꿀 수 있는지 궁금합니다.
-
미해결리눅스 쉘 스크립트
함수 return 값과 출력하는 값 동시에 가져오기
안녕하세요 강사님.함수 return 값을 받고 싶은 경우 함수를 실행하고 $? 로 받을 수 있고, 함수가 출력하는 값을 받고 싶은 경우 함수를 $()로 실행하고 $?로 받는 것으로 이해했습니다.그렇다면 함수를 한번만 실행하고 return 값과 출력 값을 모두 받을수 있는 방법이 있을까요? 두개의 값을 모두 얻고 싶으면 함수를 두번 다르게 실행하여 값을 얻는 것밖에 생각나지 질문 드립니다.
-
미해결리눅스 필수 유틸리티 4종 마스터 - awk, sed, grep, find
그룹 정규표현식 질문
s002_정규표현식 강의에서 마지막 예문admin$ echo "Give me liberty, or Give me death" |grep -P '(Give).+\1' 로 Give 에 괄호로 그룹지정을 해주셨다고 하셨는데 왜 마지막 Give까지 매칭이 되는지 궁금합니다 아니면 강의 후반에 해당 내용이 자세히 다뤄지는지 문의드립니다
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
클라우드 서비스 구축 강좌에서..
클라우드 서비스 구축 강좌에서 맥으로 터미널까지 가서 처음 cd하고 폴더명 입력을 할때 폴더명은 어디서 알 수 있나요??
-
해결됨리눅스 입문 - 개념으로 탄탄히!!
kill -TERM 옵션
kill -TERM 옵션이나 -ABRT의 옵션처럼 kill -l로 조회한 시그널에서 SIG만 빼면 그대로 옵션으로 사용할 수 있는 원리인걸까요?예를 들어 15) SIGTERM에서 SIG만 빼고 TERM을 옵션으로 kill -TERM 25963로 사용하는 원리가 맞는걸까요?
-
해결됨인프라공방 - 그럴듯한 서비스 만들기
brainbackdoor-management
brainbackdoor-management는 라우팅 테이블을 public-rt에 연결해야하나요?
-
미해결이것이 우분투 리눅스다
Client가상머신 재생성이 안됩니다.
거의 마지막에 클라이언트 가상머신 삭제하고 다시 만드려니까 Unable to create a new virtual machine: No permission to perform this operation. 이라고 안내 창이 떠요.별 짓 다해보다 안되서 뻘짓으로클라이언트 폴더도 삭제 하고 다시 만들려니까 관리자 권한으로 삭제해야한다네요...어떻게 해결할 수 있을까요?
-
미해결리눅스 쉘 스크립트 마스터
BASH_REMATCH 변수가 어디서 나온거죠?
관련 답변 읽어보았으나 여전히 이해가 안되서 질문드립니다. 어디서 BASH_REMATCH 변수가 나오는건지 모르겠습니다.$LANG =~ $locale이 되면 자동으로 BASH_REMATCH가 생성되는건지 어쩐건지 설명 없이 바로 그냥 저 변수에 2번째 요소와 1번째 요소를 호출하는게 이해가 안됩니다. 그리고 =~도 무슨 말씀인지 모르겠습니다. 대체로 명령어 실행했을 때 현상 만을 설명해주시고 원리 설명이 없어서 이해가 너무 어렵습니다. 참고할만한 정규표현식 관련 사이트 같은게 있으면 추천 좀 부탁드립니다.
-
해결됨
젠킨스와 도커를 사용해서 배포할 때
인터넷에서 조사한 대로 하다가 에러를 만났는데 해결전에 프리티어 기간이 끝나서 결국 실습으로 해결하지 못해서 질문드립니다 ㅠㅠ 제가 진행한게 맞는지 이해한게 맞는지도 독학으로 하다보니 잘 모르겠네요...진행한 순서 : EC2 리눅스 생성EC2 시간 설정과 프로젝트에서 사용할 환경변수 설정git 설치 sudo yum install git도커 다운 sudo yum install docker도커 시작 sudo systemctl start docker도커로 자바 다운 docker pull openjdk:11도커로 젠킨스 이미지 다운로드 docker pull jenkins/jenkins:jdk11다운로드 이미지 조회 docker images젠킨스 이미지를 컨테이너로 실행 ocker run -d -p 8080:8080 -p 50000:50000 -v /home/jenkins:/var/jenkins_home -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -u root jenkins/jenkins:jdk11젠킨스에서 가입젠킨스에서 시간 설정젠킨스에서 사용할 플로그인 다운받아서 플러그인 올리기로 등록젠킨스 디렉토리 생성 sudo mkdir -p /home/jenkins/.sshSSH 권한 부여 sudo chmod 700 /home/jenkins/.sshSSH key 생성 sudo ssh-keygen -t rsa키 파일 설정 구간 /home/jenkins/.ssh/id_rsa비밀번호 없이 진행할 수 있도록 jenkins ALL=(ALL) NOPASSWD: ALLssh 퍼블릭을 복사해서 개발서버(authorized_keys)에 복사git에서 프로젝트의 레포지토리의 설정에서 Deploy keys에 ssh 퍼블릭을 넣음웹훅 설정 : 젠킨스가 설치된 서버 :포트/github-webhook/Git Token 발급Credential 등록 Kind : SSH Username with private keyUsername : 깃허브 아이디(닉네임)password : git token ID : 원하는 값 설정(아무거나)private key : ssh private 넣기Publish Over SSH 설정 name : 본인이 사용하고자하는 이름HostName : EC2 퍼블릭 ipusername : 리눅스니 ec2-userdirectory : 인스턴스 디렉토리`/home/ec2-user`여기서 Test Configurations을 누르면 에러발생여기서부터 막혀서 진행이 안됐는데 다음꺼는 조사한 거로 정리한건데 맞는지 확인을 위해 올립니다.Dockerfile 작성 FROM openjdk:11-jre-slim-buster ARG JAR_FILE=build/libs/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"] 젠킨스 item 생성 :파이프라인 파이프라인 설정파이프라인 충돌 방지 옵션 체크스크립트 작성pipeline { agent any stages { stage('Checkout') { steps { git branch: '원하는 브랜치명', url: '본인의 깃 레파지토리 URL(.git으로 끝나는링크)' } } stage('Build') { steps { sh './gradlew build' } } stage('Dockerize') { steps { sh ''' docker stop my_container_name || true docker rm my_container_name || true docker rmi my_image_name || true docker build -t my_image_name . ''' } } stage('Deploy') { steps { sh 'docker run -d --name my_container_name -p 8080:8080 my_image_name' } } } }도커 허브에 회원가입도커 로그인젠킨스 build 부분 수정./gradlew clean build echo " Execute shell start" # 도커 빌드와 개시 삭제 sudo docker build --no-cache -t cova1256/dev . # 기존 서버에 있는 컨테이너 중지 sudo docker stop spring-container || true #기존 서버에 있는 컨테이너 삭제 sudo docker rm -f spring-container || true # 도커 로그인 sudo docker login -u cova1256 -p password 입력 # 도커 이미지 태그 설정 및 태그가 없다면 오류가 발생해도 넘어가도록 true 처리 sudo docker image tag dev cova1256/dev || true # 도커 허브에 나의 레포지토리에 도커 푸시 sudo docker push cova1256/dev # 푸시 후 빌드한 이미지 삭제 sudo docker rmi -f cova1256/dev || true echo " Execute shell end"빌드 후 조치echo " 빌드 후 조치 start" # 기존에 있는 이미지를 삭제합니다. sudo docker rmi -f cova1256/dev || true # 기존에 있는 컨테이너를 중지합니다. sudo docker stop spring-container || true # 기존에 있는 컨테이너를 삭제합니다. sudo docker rm -f spring-container || true # 컨테이너를 설치하고 실행합니다. sudo docker run -d -p 8080:8080 --name spring-container cova1256/dev # none인 이미지 삭제 sudo docker rmi $(docker images -q -f dangling=true) echo " 빌드 후 조치 end" 질문 1 : 제가 진행했던 진행하려고 정리하는 방식이 맞나요?질문 2 : 저는 현재 EC2 외부에서 환경변수를 사용하는 방법을 사용했는데 Docker에서 외부 설정 파일 주입할 수도 있다고 하던데 Docker을 사용할 때는 후자의 방법을 선택해야 하나요?질문 3 : 저 에러는 어떻게 고칠 수 있을 까요? 찾아보니 권한을 줘야한다고 해서 주었고 git이나 젠킨스에 모두 넣었는데...
-
해결됨시스템엔지니어가 알려주는 리눅스 기초편 Bash Shell Script
강의 자료 제공 가능할까요?
복습하기가 어렵네요.. ㅜㅠ
-
해결됨풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
CMD, ENTRYPOINT 관련 문의입니다..
안녕하세요 강사님.Dockerfile 작성을 위한 주요명령 익히기4 의 10분 10초 처럼 Cmd의 값이 뒤에 붙지않고 null로 뜨는데,, 로그를 봤을때는 hello /bin/sh hi 로 Cmd 인자가 정상적으로 붙습니다. Dockerfile 은 정상적으로 작성했습니다. 혹시 제가 놓친부분이 또 있을까요? 몇번 강의돌려도 null로 뜨는건 똑같아서..
-
해결됨시스템엔지니어가 알려주는 리눅스 실전편 Bash Shell Script
버츄얼박스 설치에러
안녕하세요 버츄얼박스 최신버전을 다운로드 했다가 다시 올려주신 버츄얼박스 버전으로 다운로드를 하는데 설치에러가 나오면서 다운로드가 되지않습니다. 이럴 경우 어떻게 해결할수 있을까요?
-
해결됨풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
docker rmi 관련 문의입니다.
안녕하세요 선생님.docker 주요 명령 익히기6(컨테이너 다루는 다양한 옵션) 8분:25초 에서 해당 이미지를 제하려고하면 하기와 같은 오류가 뜨면서 삭제가 안되는데, 조치할수있는 사항이 있을까요?.. ubuntu@ip-172-31-38-226:~/2021_DEV_HTML$ docker system dfTYPE TOTAL ACTIVE SIZE RECLAIMABLEImages 4 4 305.5MB 0B (0%)Containers 11 1 28B 26B (92%)Local Volumes 0 0 0B 0BBuild Cache 0 0 0B 0Bubuntu@ip-172-31-38-226:~/2021_DEV_HTML$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEubuntu latest b6548eacb063 12 days ago 77.8MBhttpd alpine 489db2792d7f 13 days ago 59.3MBhttpd latest a6ca7b52a415 3 weeks ago 168MBhello-world latest 9c7a54a9a43c 7 months ago 13.3kBubuntu@ip-172-31-38-226:~/2021_DEV_HTML$ docker rmi httpd:latestError response from daemon: conflict: unable to remove repository reference "httpd:latest" (must force) - container 919738d198d7 is using its referenced image a6ca7b52a415ubuntu@ip-172-31-38-226:~/2021_DEV_HTML$ 감사합니다..
-
해결됨리눅스 성능 분석 시작하기
질문있습니다.
안녕하세요, 신입 시스템 엔지니어입니다.선배님들이 리눅스 커널 이야기를 강추해주셨습니다. 우연히 제가 수강중인 강사님이시더라구요. (반가웠습니다)혹시 책 개정 예정이 있으신가요?궁굼해서 여기에 남겨봅니다.그리고 리눅스, 도커, 쿠버네티스 관련책 추천도 해주시면 정말 감사하겠습니다.아참, 브런치 글 정말 잘 읽고 있습니다.
-
미해결지금 당장 리눅스 - 무료 클라우드 서버 활용하기
교수님 저희 DB 접속할 때 로컬로 접속해야하는 거 아니에요?
아래 Prod DB 접속하는 거 보면 127.0.0.1 이 아니라 146.56.147.0 같은 호스트의 IP인데이러면 DNS로 나갔다가 다시 저희 DB로 접속할텐데그럼 느려지는 거 아닌가요?! 이 문제 해결하려면 어떻게 해야할까요?127.0.0.1로 했을 때 동작을 안해서요... ㅠ [.env]JWT_SECRET= test2022DEV_DB_HOST= 127.0.0.1DEV_DB_DATABASE= saju_db_devDEV_DB_USERNAME= rootDEV_DB_PASSWORD= 1234DEV_DB_PORT= 3306TEST_DB_HOST= TEST_DB_DATABASE= TEST_DB_USERNAME= TEST_DB_PASSWORD= PROD_DB_HOST= 146.56.147.0PROD_DB_DATABASE= saju_db_prodPROD_DB_USERNAME= test_adminPROD_DB_PASSWORD= test1234SLACK_KEY=
-
해결됨시스템엔지니어가 알려주는 리눅스 실전편 Bash Shell Script
스크립트 실행 결과 미표시
텔레그램봇으로 알림이 안뜨는건 nginx의 용량이 안차서 그런것 같은데 혹시 고의적으로 용량을 늘릴 수 있는 방법 있을까요?
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
도커 -v 옵션 후 재기동 시 재활용 법
안녕하세요. 도커 -v로 mysql 실행 후 중지 후 재기동 시 처음 -v 옵션으로 만든 폴더를 재사용하고 싶은데 재기동시 -v 옵션으로 기동하면 기존에 만든 사용자 및 테이블이 삭제가 되네요.. -v로 만든 볼륨을 재사용하려면 재기동시 어떻게 하면 될까요? (기존 만든 사용자와 db 테이블을 재사용하고 싶습니다.)