본문 바로가기

반응형

IT

WSL의 개념, WSL1, WSL2 비교(Window Subsystem for Linux) 1. WSL (Window Subsystem for Linux)의 개념 Windows Subsystem for Linux (WSL)은 Microsoft가 개발한 Windows 운영 체제에서 Linux 환경을 실행하기 위한 기술입니다. WSL은 Windows 10 이상의 버전에서 사용할 수 있으며, 기존의 Windows 환경과 별개로 Linux 바이너리 및 명령을 실행할 수 있게 해줍니다. WSL은 기본적으로 Ubuntu 배포판을 지원하지만, Windows 10 버전 2004부터는 다른 Linux 배포판인 Fedora, Debian 등을 선택적으로 설치할 수 있게 되었습니다. 사용자는 Microsoft Store를 통해 원하는 Linux 배포판을 다운로드하고 설치할 수 있습니다. WSL을 사용하면 Wind.. 더보기
리눅스 쉘스크립트로 MAC 주소 가져오기(MAC 값으로 hostname 변경) # ifconfig를 이용해 MAC 가져오기 mac_address=$(ifconfig eth0| grep -oE '([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}' | head -n 1) # MAC에서 콜론 제거 mac_address_no_colon=${mac_address//:/} # 하위 6자리만 추출하기 last_six_digits=${mac_address_no_colon:6} #확인 echo "$mac_address" echo "$mac_address_no_colon" echo "Last 6 digits without colon: $last_six_digits" #하위 6자리를 포함하여 hostname 변경 myname="host-$last_six_digits" echo "$myna.. 더보기
리눅스 호스트 네임 변경하기(hostname, hostnamectl) 리눅스에서 hostname은 컴퓨터 또는 네트워크에 할당된 고유한 이름입니다. 호스트네임은 네트워크에서 다른 시스템과 통신할 때 식별하는 데 사용되며 네트워크 관리 및 구성, 서버 식별, 로그 분석 등에 중요한 역할을 합니다. 호스트네임은 다른 컴퓨터나 네트워크에서 접근할 수 있는 유효한 이름이어야 합니다. 일반적으로 소문자, 숫자, 하이픈(-)으로 구성되며, 최대 길이 제한이 있을 수 있습니다. 리눅스 호스트 네임을 확인하는 방법은 다음과 같습니다. > hostname host001 이 명령어는 실제로 /etc/hostname 파일에 기술된 이름 >cat /etc/hostname host001 1. 호스트 이름 변경하기 (1) 호스트명을 변경하려면 /etc/hostname 파일의 내용을 직접 수정 (재.. 더보기
리눅스, USB에 장치가 연결되었는지 검사하기(libusb 사용, 블루투스 동글 등) libusb 라이브러리를 이용하여 usb에 연결된 장치를 검사하는 방법이다. 1. libusb 소스 빌드 https://libusb.info/ libusb Overview libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware. It is portable: Using a single cross-platform API, it provi libusb.info 위사이트에서 libusb-1.0.26 소스를 내려받아 다음과 같이 빌드하고 .. 더보기
파일 전송 프로토콜 개념과 유용한 프로그램(filezilla, winscp, cyberduck) 파일 전송 프로토콜(File Transfer Protocol, FTP)은 컴퓨터 네트워크 상에서 파일을 전송하기 위해 사용되는 프로토콜입니다. 기본적으로 클라이언트-서버 모델을 기반으로 작동하며, 클라이언트가 서버로부터 파일을 업로드하거나 서버로부터 파일을 다운로드하는 데 사용됩니다. 일반적으로 파일 공유, 웹 호스팅, 소프트웨어 업데이트, 서버 백업 등 다양한 용도로 사용되고 있으며 FTP를 사용하여 파일을 전송하려면 FTP 클라이언트 소프트웨어가 필요하며, 일반적으로 FTP 서버에 접속하여 파일을 전송합니다. 일반적인 파일전송 클라이언트 프로그램을 보면 일반적으로 몇가지 전송 프로토콜을 지원하고 있는데 주로 ftp, sftp, scp를 제공합니다. 각각을 간단히 설명하면 다음과 같습니다. 1. FTP.. 더보기
우분투 패키지 찾기, 설치없이 다운로드 하기(수동 설치, dpkg 사용법) 개발을 하다보면 가끔 인터넷이 되지 않는 환경(외부망과 분리)에서 서버를 구축해야하는 경우가 있습니다. apt나 yum으로 항상 설치를 하는데 익숙하다 보니 인터넷이 안되면 난감합니다. 이럴때 미리 설치할 패키지를 다 준비해 놓았다가 설치하는 방법을 사용하게 됩니다. 그럼 미리 패키지를 다운로드 받아 놔야겠죠?? 여기서는 usb 디바이스의 목록을 보기위한 lsusb 명령을 제공하는 usbutils 패키지를 준비하고 설치하는 과정으로 설명합니다. 1. 패키지 검색 먼저 repo에 패키지가 있는지 검색해보면 목록이 보입니다. > apt-cache search usbutils usbutils - Linux USB utilities 2. 패키지 다운로드 여기서 설치해버리지말고 다운로드만 받아보겠습니다. > ap.. 더보기
DNS 서버란 무엇인가? 알려진 DNS 서버들(네임서버) DNS 서버는 'Domain Name System’의 약자로, 인터넷에서 도메인 이름을 IP 주소로 변환하는 역할을 합니다 하지만 IP 주소는 일련의 숫자로 이루어져 있어 사람이 기억하기 어렵습니다 (xxx.xxx.xxx.xxx) DNS 서버는 사람이 쉽게 기억할 수 있는 도메인 이름(예를 들면 www.google.com) 을 해당하는 IP 주소로 변환하여 사용자가 원하는 웹사이트에 접속할 수 있도록 합니다. 사실 DNS는 하나의 서버라기 보다는 계층 구조를 갖는 엄청나게 많은 서버들의 집합이라고 보는것이 맞습니다. 일반적으로는 SK, LG, KT 등 사용자의 인터넷 서비스 제공자(ISP)가 제공하는 DNS 서버를 사용하는 것이 가장 빠른 응답 속도를 제공할 수 있습니다만 오픈된 다른 DNS 서버들도 많.. 더보기
소켓 생성시 127.0.0.1과 0.0.0.0 차이점 서버를 생성할 때 기능 시험을 위해 호스트의 IP와 관계 없이 서버 소켓을 127.0.0.1로 주고 port를 지정하면 로컬에서 클라이언트를 구현하여 테스트 할때 별 문제가 없습니다. 하지만 개발을 완료 한 후 외부에서 접속 하려고 하면 접속이 안되는 것을 볼 수 있습니다. 가끔 착각하는 것이 서버 소켓에 내 아이피를 명시하지 않아도 서버 주소를 통해 외부에서 들어오는 모든 접속에 대하여 포트만 맞으면 받아 줄거라 생각합니다. 하지만 두가지는 명확히 다릅니다. 소켓을 생성할 때 127.0.0.1과 0.0.0.0의 차이는 다음과 같습니다. 1. 127.0.0.1 127.0.0.1은 로컬 루프백 인터페이스를 나타내는 IP 주소이며 로컬 머신에서만 접근 가능합니다. 따라서, 127.0.0.1은 하나의 호스트 .. 더보기

반응형