dd 명령어를 사용하여 0xFF로 채워진 빈 데이터 블럭을 생성하려면 다음의 명령어를 사용하면 된다. $ dd if=/dev/zero ibs=64k count=16 | tr "\000" "\377" > empty_block.dat 위의 명령어는 64K 단위로 /dev/zero 디바이스에서 데이터를 읽어 16개의 블럭을 생성하는데, 이것을 tr 명령어로 8진수 0x00의 값을 0xFF로 변경한 데이터를 리다이렉션 시켜 empty_block.dat을 생성한다. 즉, 위의 명령어 실행으로 1MB 크기의 빈 블럭이 생성된다. dd 명령어를 사용하여 0xFF로 채워진 빈 데이터 블럭을 생성하려면 다음의 명령어를 사용하면 된다. $ dd if=/dev/zero ibs=64k count=16 | tr "\000" "..
브라우저 캐시 데이터를 SSD에 반복해서 쓰고 지우는 것은 SSD 좋지 않기 때문에, 캐시 데이터 크기 및 저장 위치를 램디스크로 변경하기 위해서는 우선 램디스크를 생성해야 한다. 램디스크는 /etc/fstab 아래와 같이 스크립트를 추가한다. tmpfs /var/ramdisk tmpfs defaults,noatime,size=2048M,mode=1777 0 1 램디스크는 크기를 2GB로 설정하였고, access time은 기록하지 않도록 설정한 것이다. /var/ramdisk 디렉토리는 SSD가 아닌 메모리에 할당된 램디스크에 생성된다. 여기에 브라우저 캐시 데이터가 저장할 것이다. 1. 파이어폭스 아래 이미지와 같이 파이어폭스 주소 영역에 about:config을 입력하면 파이어폭스 환경설정 메타데이..
우분투의 아카이브 매니저는 7zip과 RAR 압축 형식을 기본으로 지원하지 않기 때문에 관련 패키지를 추가로 설치해야 한다. 7zip과 RAR 압축 형식을 지원하기 위해 아래의 패키지를 설치하도록 한다. $ sudo apt install p7zip rar 위 패키지 설치로 아카이브 매니저는 7zip 및 RAR 형식의 압축 파일을 대한 해제가 가능하다. 윈도우에서 압축한 zip 파일 내에 파일이나 디렉토리 이름에 한글이 포함되어 있고, 이것을 우분투에서 압축 파일을 해제한다면 100% 한글이 깨지는 현상을 볼 수 있을 것이다. 이것은 한글 인코딩 방식을 UTF-8 방식을 채택한 우분투와 다르게 윈도우는 기존 제품의 하위 버전 호환성을 위해 고전적인 EUC-KR 방식을 사용하기 때문에 발생한 문제이다. 우분..
우분투에서 시리얼 프로그램으로 다양한 기능을 제공하는 Minicom을 많이 사용하지만, 로그 및 디버그 메시지 등의 시리얼 출력 기능에만 충실한 시리얼 터미널 프로그램이 필요하다면 아래 소스를 빌드하여 사용하면 좋을 것이다. 위 코드를 빌드하여 사용하려면 사용자 계정에 dialout 그룹 권한을 갖고 있어야 /dev/ttyXXX에 접근이 가능하다. 따라서 usermod 명령어로 사용자 계정에 dialout 권한을 할당해야 한다. $ sudo usermod -G dialout -a gon 아래와 같이 /etc/group 파일에서 dialout에 사용자 계정을 추가하는 방법도 있다. dialout:x:20:gon 위 두가지 방법 중 어느 것을 사용해도 상관없지만, 중요한 것은 위의 com.c 소스로 빌드한 ..
문서의 중요도에 따라 배포시 워터마크 포함시키거나 패스워드를 설정하여 배포하는 경우가 많이 있다. 문서가 외부에 유출되면 안되기 때문에 이중삼중으로 설정 하였겠지만, 매번 문서를 볼때마다 패스워드를 입력하는 것은 번거롭기 때문에 패스워드를 제거해서 따로 관리를 한다. 우분투는 설치시 QPDF 기본 App으로 포함되어 있기 때문에 따로 설치가 불필요하다. 사용방법은 매우 간단하며 아래 명령어를 참고하면 쉽게 PDF 설정된 패스워드를 제거할 수 있다. $ qpdf -password= -decrypt passwd_file.pdf remove_password_file.pdf QPDF는 윈도우 버전도 소스포지에서 제공하는 것 같으나, 바이너리 배포하는지 아니면 소스를 받아서 빌드해야 하는 확인이 필요하다. 가장 ..
samba는 이기종 시스템간 파일 공유를 위한 파일 시스템을 제공하며, 설치는 아래와 같다. $ sudo apt install samba samba-common cifs-utils 파일 공유 권한 및 공유 디렉토리 등의 samba 설정은 /etc/samba/smb.conf 파일을 수정하면 된다. 아래의 설정은 logonDesk 파일시스템을 Anonymous 접근을 허용하며, RW 권한은 read-only로 설정한 것을 나타낸다. [logonDesk] path = /media/gon browsable = yes read only = yes guest ok = yes logonDesk 외부 접속시 표시되는 이름 path = /media/gon 공유 디렉토리 설정 외부 접근이 가능하기 위해 상위/하위 디렉토리..
openssl 지원하는 secure terminal과 secure ftp 설치는 아래와 같다. $ sudo apt install openssh-server openssh-sftp-server 개인 PC에서 openssh-server는 거의 사용하지 않지만, NAS 장비 없이 PC로 간단한 NAS를 구성하려면 sftp를 사용할 수 있다. openssh-sftp 설치는 매우 간단하며 어떤 설정 변경도 없이 태블릿이나 스마트폰에서 PC에 저장된 동영상을 스트리밍 할 수 있다.
1. tftp install $ sudo apt install tftpd-hpa tftp-hpa 2. tftp setup tftp home directory를 /tftpboot로 설정하고 권한을 777으로 설정하고, tftpa-hpa 설정 파일을 아래와 같이 수정하도록 한다. 다른 설정은 기본 값을 사용하고 home directory만 변경하였다. tftp 설정 파일은 /etc/default/tftp-hpa 이다. RUN_DAEMON="yes" # Auto start TFTP_USERNAME="tftp" TFTP_DIRECTORY="/tftpboot" # /tftpboot home directory TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure" 위 설정 파일을 ..
VIM의 수많은 옵션 중에 내가 사용하는 옵션은 아래와 같으며, /etc/vim/vimrc 파일을 수정하면 된다. set number set statusline=3 set expandtab set tabstop=4 set shiftwidth=4 set smartindent set hlsearch set enc=utf-8 set fenc=utf-8 set fencs=utf-8,cp949,cp932,euc-jp,shift-jis,big5,ucs-2le,latin1 au BufReadPost * \ if line("'\"") > 0 && line("'\"")