본문 바로가기

리눅스

(14)
[linux] 특정 크기의 파일 만들기 리눅스에서 파일 처리를 할 때 미리 공간을 확보하거나 내부 마운트를 하기 위해 일정 크기의 파일을 만들어야 할 경우가 있습니다. 리눅스를 공부해 보신 분이라면 아래와 같은 명령을 떠올리실지도 모르겠습니다. dd if=/dev/zero of=test_file.img bs=4M count=256 /dev/zero 특수 장치에서 4M씩 읽어서 test_file.img에 쓰는 명령이라 속도가 느립니다. 제 컴퓨터에서 실행했을 때 13초가 걸렸습니다. 다행히도 이런 문제를 해결하기 위한 것인지 리눅스에서 truncate, ftruncate라는 system call을 제공합니다. truncate system call은 파일 쓰기 대신 inode를 수정하여 파일 크기를 변경합니다. 그러므로 dd보다 더욱 빨리 수행될..
Tails OS 소개 Tails는 기록을 남기지 않고 안전하게 Tor를 사용가능하게 하는 익명성 강화를 위한 OS입니다. https://tails.boum.org/index.en.html 기본적으로 USB에 설치하여 Live 부팅을 통해 이용하는 것으로, 우분투 설치하기 전에 USB로 부팅하여 체험해 보는 것과 동일한 방식입니다. OS 자체를 USB에서 RAM으로 올려서 실행하기 때문에 컴퓨터에 기록이 남지 않고, 기존 OS에서 Tor 브라우저를 사용하는 것보다 악성코드로 인한 유출에 자유로울 수 있습니다. Tails를 처음 실행하면 위와같은 모습입니다. Tor 브라우저를 실행하면 기본적으로 NoScript와 uBlock origin 플러그인이 설치되어 있는 것을 볼 수 있습니다. 이것으로 혹시 모를 악성코드에 대비하여 안전..
man 페이지의 특정 섹션 보기 리눅스에서 명령어나 라이브러리의 함수의 자세한 설명과 인자들을 보기 위해서 man 페이지를 자주 사용합니다. 다만 동일한 이름의 명령어와 함수가 존재하는 경우가 있습니다. 그래서 함수의 설명과 인자를 보고싶었는데 정작 man 페이지에서는 명령어의 메뉴얼을 보여주는 것을 본 적이 있을겁니다. man 페이지는 내용에 따라서 여러 섹션으로 나뉘어 있습니다. 리눅스에서는 아래와 같이 8개의 섹션이 정의되어 있습니다. 1. 명령어2. system call3. 라이브러리 함수4. 특수 파일5. 파일 포맷 및 관습6. 게임7. 기타8. 시스템 관리 명령어 이렇게 한 페이지에 여러 섹션으로 나뉘어져 있기 때문에 페이지 이름이 중복되더라도 문제없이 메뉴얼이 저장, 표시될 수 있습니다. man 페이지 이름이 중복되는 것들..
리눅스 시스템 시간 동기화하기 ㅋ리눅스 시스템의 시간 동기화에 대해 사용되는 프로그램을 찾아보면 주로 ntpd, rdate를 소개하고 있습니다. 다만 둘 다 새로운 패키지를 설치해야 한다는 귀찮음과 rdate를 사용하여 정기적으로 동기화하려면 cron이나 systemd timer 등의 다른 프로그램의 도움이 필요합니다. 그래서 저는 요즘 대부분의 배포판에 도입된 systemd의 timesyncd 를 사용하여 시간 동기화를 하는 것을 추천합니다. systemd가 적용되어 있다면 systemd-timesyncd도 자동적으로 설치되기 때문에 따로 설치할 필요도 없고, systemd의 특유의 간단한 설정으로 어렵지 않게 적용할 수 있습니다. 먼저 timesyncd의 설정 파일은 /etc/systemd/timesyncd.conf 에 존재합니다..
hostnamectl로 리눅스 호스트명 변경하기 옛날 init 시절에 호스트명을 변경하려면 상당히 귀찮았습니다. 거기다 파일 하나만 바꿨다간 갑자기 에러가 뜨거나 하는 경우도 빈번했습니다. 하지만 systemd가 도입되면서 hostnamectl 이란 명령이 새로 생겼고, 이 명령을 사용하면 간단하며 안전하게 호스트명을 변경할 수 있습니다. hostnamectl를 아무 인자없이 실행하면 시스템의 호스트명, 샤시, Machine ID, Boot ID, 가상화, 커널 버전 등의 정보를 출력합니다.이것은 제 컴퓨터에 구축해둔 컨테이너에 접속하여 hostnamectl을 실행한 모습입니다. 현재 호스트명은 test로 설정된 것을 볼 수 있습니다. 이 호스트명을 변경하려면 set-hostname 과 변경할 호스트명을 인자로 입력하면 됩니다. # hostnamect..
아치리눅스 pacman 사용하기 데비안 계열에서는 apt를, 레드햇 계열은 yum을 사용하듯이 아치리눅스는 pacman이라는 패키지 관리자를 통해 시스템의 패키지들을 관리합니다. pacman 에서는 여러 옵션들을 제공하지만 실제로 사용하는 옵션은 그리 많지 않습니다. 업그레이드, 검색, 설치, 삭제 정도만 알아두면 사용에 큰 어려움이 없습니다. 1. 시스템 전체 업그레이드 pacman에서 시스템의 모든 패키지들을 업그레이드하는 것은 아치리눅스를 사용하면서 가장 많이 사용하게될 명령입니다. 명령은 아래와 같습니다. $ sudo pacman -Syu 이를 실행하면 pacman은 패키지 데이터베이스를 업데이트하고 업데이트가 필요한 패키지를 찾아서 사용자가 업그레이드를 할지 말지 물어봅니다. 2. 패키지 검색 아치리눅스를 사용하다보면 추가적으..