본문 바로가기

전체 글225

sysctl 명령어 명칭이 비슷해 보이지만 systemctl과는 전혀 다른 명령어입니다. sysctl 는 런타임 시에 /proc/sys 하위 디렉토리에 있는 커널 매개변수 값을 변경할 때 사용하는 명령어입니다. 리눅스 커널에 대한 설정값을 변경하고 조회가 가능합니다. 그래서 시스템 관리자는 DDos 방어를 위해서 이 명령어를 알고 있어야 하고 네트워크 트래픽 관련된 커널 매개변수들을 숙지해야 합니다. 참고로, /proc/sys 하위 디렉토리에 존재하는 디렉토리 구분자는 '/' 대신에 '.'으로 대체하는 점 유의하시기 바랍니다. 기본형식: sysctl [options] [variable[=value] ...] 옵션(options) Option Description -a --all 모든 변수 표시 -A alias of -a -.. 2022. 4. 24.
Ninja(닌자) 빌드 시스템 이해하기 닌자(Ninja)는 속도에 중점을 둔 소형 빌드 시스템입니다. 다른 빌드 시스템과 다른 점은 상위 레벨 빌드 시스템에서 입력 파일을 생성하도록 설계되었으며 최대한 빨리 빌드를 실행하도록 설계되었습니다. Make는 증분 빌드(또는 무연산 빌드)를 수행 할 때 안정성을 위해 속도가 상대적으로 느려집니다. 이렇게 하면 예를 들어 약39,000 개의 입력 파일을 하나의 실행 파일로 컴파일하는 크로미움(chromium) 과 같은 대규모 프로젝트에서 작업하는 개발자의 작업 속도가 상당히 느려질 수 있습니다. 실제로 크롬(chrome)은 Ninja의 주요 사용자입니다. 이러한 의미로 닌자(Ninja)는 Make를 대체하기 위한 것일 수 있습니다. Make 와는 달리 Ninja 빌드 파일은 손으로 직접 작성하지 않으므.. 2022. 4. 23.
CMakeLists.txt 파일 기본 골격 만들기 컴파일 하기 위해 필요한 CMakeLists.txt 뼈대를 만들고 샘플을 살펴보겠습니다. CMakeLists.txt 기본 템플릿 # 요구 CMake 최소 버전 CMAKE_MINIMUM_REQUIRED ( VERSION ) # 프로젝트 이름 및 버전 PROJECT ( "" ) SET ( PROJECT_VERSION_MAJOR ) SET ( PROJECT_VERSION_MINOR ) # 빌드 형상(Configuration) 및 주절주절 Makefile 생성 여부 SET ( CMAKE_BUILD_TYPE ) SET ( CMAKE_VERBOSE_MAKEFILE ) # 빌드 대상 바이너리 파일명 및 소스파일 목록 SET ( OUTPUT_ELF "${CMAKE_PROJECT_NAME}-${PROJECT_VERSIO.. 2022. 4. 23.
GCC 버전과 C++ 버전 매칭 Ubuntu 버전에 따라 기본으로 설치되는 GCC 버전과 C++ 버전이 달라서 헷갈리는 경우가 종종 있어서 참고용으로 매칭 테이블을 작성했습니다. C++11은 GCC 4.8.1 부터 전체 사양을 지원합니다.1998년에 첫 번째 표준인 C++ 98이 공개된 후 오랜 기간동안 정체기를 거치다가 2011년이 되어서야 새로운 개념들이 추가된 버전이 공개되었습니다. C++ 11부터 Modern C++ 이라고 부릅니다.C++GCC versionDescription (compiler option)C++26GCC 14 ~experimental-std=c++2c, -std=gnu++2cC++23GCC 11 ~experimental-std=c++23, -std=c++2b, -std=gnu++2bC++20GCC 8 ~-st.. 2022. 4. 22.
윈도우 원격 데스크톱으로 우분투에 접속하기 윈도우에서 원격 PC에 접속하기 위해 자주 사용하는 원격 데스크톱을 통해 리눅스(우분투)에 접속해 보겠습니다.하지만 원격 데스크톱으로 윈도우 시스템간에 접속해서 사용하는 것 만큼 만족도는 높지 않다는 점은 어쩔 수 없는 건지도 모르겠습니다.VNC로도 원격 접속이 가능하긴 하지만 윈도우에 별도의 프로그램을 설치해야 하기 때문에 윈도우에 기본 탑재되어 있는 원격 데스크톱을 이용해서 리눅스에 접속하겠습니다. xdrp 설치리눅스에 접속하기 위해서는 리눅스에 xdrp가 설치되어 있는지 확인이 필요합니다.$ systemctl status xdrp위 명령어를 실행 시켰을 때,"Unit xrdp.service could not be found.y" 라는 메시지가 출력된다면 xrp가 설치되어 있지 않은 상태이므로 아래 .. 2022. 4. 22.
우분투(Ubuntu) 설치 USB 만들기 Ubuntu 22.04 Jammy Jellyfish 가 배포되었습니다. Ubuntu 20.04를 사용중인데 22.04로 업그레이드 하려면 어떻게 할까요? 첫번째는 사용하면서 최신 버전으로 업그레이드 하는 방법이 있을 테고, 하나는 설치 USB를 만들어 멀티부팅을 하거나 새 버전으로 갈아 치우면 될 것 같습니다. 저는 새 술은 새 부대에 담으라고 했으니 설치 USB를 만들어 새로 설치하려고 합니다. 1. 최신 버전 다운로드 우분투(Ubuntu) 홈페이지 다운로드 페이지에 가셔서 최신버전을 받습니다. 특정 버전을 다운로드 받으려면 우분투 릴리즈 페이지에 접속해서 다운로드 받으세요. 2. 설치 디스크 만들기 2.1. 윈도우에서 시동 디스크 만들기 (Rufus) 윈도우(Windows)는 Rufus 라는 프로그램.. 2022. 4. 22.