Study: ComputerScience(CS)/CS: Linux
[Linux] 리눅스 로컬네임서버(/etc/hosts) 설정: DNS 서버 만들기
DNS(Domain Name System) 란? DNS는 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었습니다. 특정 컴퓨터(또는 네트워크로 연결된 임의의 장치)의 주소를 찾기 위해, 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 식별 번호(IP 주소)로 변환해 줍니다. e.g. 브라우져에 "www.naver.com" 을 입력하면 자동으로 Naver 서버의 IP를 찾아 접속하게 됩니다. i.e. "www.naver.com" 도메인을 DNS 서버에서 조회하여 IP를 받아오게 되는 것입니다. 조회 순서는 다음과 같습니다. 로컬 캐시 조회 /etc/hosts 조회: /etc/hosts DNS 서버 조회: /etc/resolve.conf 1. ..
[Linux] 리눅스 파일 시스템(File System)
리눅스 파일 시스템 구조 리눅스 파일 시스템 리눅스 파일시스템 특징은 유닉스 파일시스템을 모태로 하고 있습니다. 리눅스 파일시스템은 프린터, 터미널, 디스크 동 모든 주변 장치들도 하나의 파일로 취급합니다. 이것을 가상 파일 시스템이라고 칭하기도 합니다. 리눅스는 디렉토리와 서브 디렉토리 간에 트리형태로 되어있습니다. 루트 디렉터리부터 "트리"구조로 되어있습니다. 여기서 알아할 지식은 루트 디렉터리(root directory)는 '/'로 표시됩니다. 또한 아스키 파일과 이진 파일을 동등하게 취급합니다. 유닉스하고 리눅스는 이 둘을 동등하게 취급합니다. 윈도우는 동등되게 취급되지 않습니다. 윈도우는 텍스트파일은 변형과정을 거쳐서 프로세스로 올라오는 반면 이진파일은 없습니다. 하지만 리눅스 유닉스는 차이 없..
[Linux] 리눅스 디렉토리(폴더) 구조: /home, /bin, /etc, /usr...
💡 본 문서는 리눅스를 설치하면 기본적으로 생성되는 폴더 구조에 대해 정리한 글입니다. 리눅스의 디렉토리는 대부분 유닉스와 유사하며, 유닉스의 종류(AT&T 계열과 BSD계열)에 따라 약간의 차이가 있습니다. 리눅스 연합에서는 이러한 배포판의 파일 시스템 차이를 표준화하기 위해 FSSTND(File System Standard) 표준안을 마련해 놓고 있으며, 아래는 리눅스의 파일시스템 구조를 나타낸 것입니다. 파일(폴더) 구조 / 리눅스 파일 최상위 디렉토리 모든 디렉토리들의 시작점으로 일반적인 데이터를 저장하지 않습니다. /bin (BINaries) 대부분의 실행파일을 포함합니다. 시스템을 운영하기 위한 기본적인 명령어들이 있습니다. e.g. cp, mv, cd, vi.... /boot (BOOT) 부..
[Linux] 리눅스 *.so.* 파일 경로: 동적 라이브러리 링킹하는 방법 (feat. 정적(static) vs 동적(dynamic))
💡 본 문서는 '동적 라이브러리 링킹하는 방법'에 대해 정리해놓은 글입니다. 리눅스에서 간혹 어떠한 프로그램을 설치하거나 실행할 때, 무슨무슨 so 파일(*.so), 가령 libX11.so.6 파일(*.so.*)이 없다고 할 때가 발생합니다. 이 문제에 대한 개념 및 원인과 해결책에 대해 정리하였으니 참고하시기 바랍니다. 1. 동적 라이브러리 1.1 정적 VS 동적 라이브러리 정적 라이브러리의 경우: 프로그램을 컴파일할 때 실행파일에 포함되어 배포됩니다. 속도가 빠르다는 장점을 가지고 있지만, 실행파일의 크기가 커지고 메모리를 상당히 차지하게 됩니다. 동적 라이브러리의 경우: 실행 프로그램에서 필요할 때만 라이브러리를 메모리에 올립니다. 여러 명령어에서 사용되는 동일한 부분을 특정 디렉터리를 만들어 모아..
[Linux] 리눅스 cURL 명령어: 다양한 프로토콜로 웹 요청 / 원하는 파일을 내려받자.
cURL을 이용하여 다양한 통신 프로토콜에 데이터를 전송할 수 있습니다. 일반적으로 웹 서비스 개발 시 테스트 및 디버깅 용도로 많이 사용되고 cmd에서 실행 가능하므로 웹 요청에 필요한 배치 작업을 자동화할 수 있습니다. 옵션 short long Discription etc -k --insecure https 사이트를 SSL certificate 검증없이 연결한다. wget 의 --no-check-certificate 과 비슷한 역할 수행 -l --head HTTP header 만 보여주고 content 는 표시하지 않는다 -D --dump-header 에 HTTP header 를 기록한다. -L --location 서버에서 HTTP 301 이나 HTTP 302 응답이 왔을 경우 redirection ..