set number " 편집기에 줄 번호 표시
set ai " 자동 들여쓰기 설정
set si " Smart 들여쓰기 설정
set cindent " C언어 style 들여쓰기 설정
set shiftwidth=4 " 들여쓰기 간격 4칸(공백)
set tabstop=4 " tab 간격 4칸
set ignorecase " 대소문자 구분 없이 검색 진행
set hlsearch " 검색한 문자열 highlight 표시
set nocompatible " Cursor(방향)키로 이동 가능
set fileencodings=utf-8,euc-kr " File 저장 시 utf-8, euc-kr 형식으로
set fencs=ucs-bom,utf-8,euc-kr " 한글 파일은 euc-kr, 유니코드는 utf-8
set bs=indent,eol,start " Back-space키 사용 가능
set ruler " 상태 표시줄에 cursor 위치 표시
set title " 상태 표시줄에 파일 이름 표시
set showmatch " 쌍이 되는 괄호를 표시
set wmnu " tab키를 누른 경우 자동완성 목록을 보여줌
syntax on " 문법에 따라 color code 적용
filetype on " File 유형을 감지하도록
filetype indent on " File 유형에 따른 들여쓰기
set mouse=a " 마우스로 cursor 이동 가능하게 함
.vimrc file을 저장하고 재 실행해보면 왼쪽이 오른쪽처럼 줄 번호 표시로 바뀌어 있음
2. vim의 color theme (color scheme) 설정
1) 개인적으로는 Source insight의 Cocoa theme 또는 dracula theme가 좋으나 cocoa scheme은 찾지 못했고, dracula scheme은 적용이 어려운 것 같아 나중에 업데이트 예정. Jellybeans scheme도 괜찮은 듯 하여 우선 사용!!
Xilinx社 Zynq를 이용한 Embedded linux 개발을 시작하면서 이런 저런 작업을 하다보니 100GB로 할당했던 Ubuntu 가상머신 용량에 부족함을 느끼게 되어 200GB로 재할당하고 Ubuntu 설치 및 초기 설정, 개발 환경 설정등을 새로 하게 되었습니다.
이왕 하는거 블로그에 그 기록을 남겨 재 설정하는 경우가 다시 발생한다면 준비 시간을 조금이라도 줄여보고자 기록을 남깁니다.
VirtualBox에서 resize 옵션으로 크기를 조절하는 방법도 있으나 Ubuntu에서 파티션 재설정도 해야하는데 이 부분이 잘 되지 않아 그냥 새로 설정하였습니다.
- Virtual machine program : VirtualBox 6.1.44 (Ubuntu 설치 시 세부 설정 가능. 7.x부터는 간편 설정으로 넘어감)
1. VirtualBox 프로그램을 실행하고 우측 상단 새로 만들기 (N) 클릭
1) 가상 머신 만들기 팝업창에서 [머신 폴더] 드랍다운 버튼을 누르고 [기타...]를 선택해 가상 OS 파일이 저장될 위치 지정
2) 가상 머신의 이름을 입력하고 종류는 [Linux], 버전은 [Ubuntu (64-bit)]을 선택
3) 메모리 크기는 8192MB - Xilinx의 petalinux 개발 환경 권장사양
4) 하드 디스크 항목은 [지금 새 가상 하드 디스크 만들기]를 선택하고 [만들기] 클릭
※ 가상 머신 만들기 팝업창 모양이 바로 아래와 같다면 아래 전문가 모드(E) 버튼을 클릭하고 진행
2. 새롭게 뜬 팝업 창에서 아래처럼 설정
1) 파일 위치 : 지정 위치가 맞는지 다시 확인 및 생성될 OS image명 확인
2) 파일 크기 : 목적에 맞게 최대 한계치 입력 (여기서는 200GB로 설정)
3) 물리적 하드 드라이브에 저장 : 동적 할당 (실제 사용량에 따라 vdi 파일이 커지거나 작아짐)
- 고정 크기 선택 시 파일 크기에서 할당한 크기만큼 고정 크기를 가짐 (여기서는 200GB 크기가 됨)
3. [만들기]를 누르고 관리자 창에서 왼쪽 Ubuntu18.04 항목이 생긴 것을 확인, 설정 아이콘을 클릭하여 설정 창 띄움
1) 일반 - 고급 탭에서 클립보드 공유와 드래그 앤 드롭 모두 양방향으로 설정
2) 시스템 - 마더보드 탭에서 부팅순서에 플로피 체크 해제하고 제일 아래로 이동 (필수 아님)
앞 단계에서 RAM 용량 설정을 잘못했다면 여기서 다시 설정 가능
3) 시스템 - 프로세서 탭에서 CPU 개수를 원하는 만큼 설정
4) 디스플레이 - 화면 탭에서 비디오 메모리를 원하는 만큼 할당
5) 저장소 - 저장 장치 - 컨트롤러:IDE의 ODD 비어 있음을 클릭하고 광학드라이브의 CD 아이콘 - 디스크 파일 선택... 순서로 눌러 설치할 ubuntu의 iso 파일 위치를 지정, 아래 캡쳐처럼 사용했던 이력이 남아 있는 경우 해당 이미지 이름 바로 클릭, 여기까지 설정하고 확인을 눌러 설정을 종료함
4. 다시 VirtualBox 관리자 창에서 Ubuntu18.04가 선택된 상태에서 시작 아이콘을 누름
5. Ubuntu18.04 [실행 중] - Oracle VM VirtualBox 창이 뜨고 잠시 동안 깜빡거리다가 Ubuntu 설치 창이 뜸. x를 눌러 종료!
(그냥 진행 시 해상도 문제로 [다음], [취소], [확인]등의 버튼이 보이지 않음.
1) Quit the installation? 팝업창에서 Quit를 눌러 설치 종료
2) Ubuntu 체험하기 창에서 오른쪽 위 Dropdown 버튼을 누르고 설정 선택
3) Settings창에서 Devices를 선택하고, Display에서 Resolution 1280x960이상으로 변경
Resolution 부분을 누르면 나타나는 목록중에 새로운 해상도를 선택.
이 후 Apply Changes? 부분에서 몇 번 왼쪽으로 드래그하다 보면 창이 이동하면서 Apply 버튼 나타남
녹색 Apply 버튼을 눌러 해상도 설정하고 Keep Changes 버튼을 눌러 해상도 값 유지
4) Setting 창을 닫고 바탕화면에 Install Ubuntu 18.04.6 LTS 아이콘을 더블 클릭해서 다시 설치 시작!
5) Welcome 창에서 언어 목록 스크롤하여 [한국어] 선택하고 계속하기
6) 키보드 레이아웃도 한국어 - 한국어-한국어(101/104키 호환)으로 설정하고 계속하기 클릭
7) 일반 설치를 선택, 기타 설정에 2가지 항목은 모두 체크 상태에서 계속하기
8) 설치 형식에서는 파티션 세부 설정이 가능하도록 기타를 선택할 것
9) 새 파티션 테이블...을 누르고 팝업창에서 계속하기를 눌러 새 파티션 만들기 작업 시작.
10) 남은 공간 - + 순서로 클릭하면서 아래와 같은 용량으로 파티션 설정
- 용도 : 스왑 영역, 크기 : 8192MB로 설정
- 용도 : EXT4, 마운트 위치 : /, 크기 : 20480MB (20GB)
- 용도 : EXT4, 마운트 위치 : /boot, 크기 : 500MB
- 용도 : EXT4, 마운트 위치 : /home, 크기 : 나머지 용량 전부
11) 파티션 설정이 끝나면 지금 설치 버튼을 누르고 팝업 창에서 계속하기를 눌러 설치 진행
12) 거주 위치 설정
13) 사용자 계정 생성을 위해 빈칸을 채우고 계속하기 버튼이 활성화 되면 클릭해서 설치 진행
14) 지금 다시 시작을 누르고 재부팅 메시지가 뜨면 파일 - 종료 - 시스템 끄기로 가상 머신 종료하고 다시 시작,
리눅스에서 "ls -al" 명령어를 통해 file 및 directory를 확인하는 경우 아래와 같이 출력됩니다.
합계 24 밑줄을 보면 drwxrwxr-x 로 시작하는데요.
맨 앞에 d는 directory를 의미하고 -인 경우 file임을 의미하죠.
다음에 rwxrwxr-x 부분이 file 및 directory 권한에 관한 표기 입니다.
9개 문자에서 3개씩 나누면 rwx가 반복 되는군요.
그 의미에 대해 알아봅시다.
앞서 말한대로 맨 앞 d또는 -는 directory인지 file인지 표기하는 문자이고요. 다음 rwx는 읽기, 쓰기, 실행을 의미 합니다.
3번 반복되는 것은 현재 login되어 있는 user, user가 속한 group, 그리고 user나 group이 아닌 기타 사용자의 권한을 순서대로 표기한 것입니다.
file명이 녹색으로 나타나는 hello file의 경우를 보면 -rwxrwxr-x 이렇게 표기가 되어 있는데요. 이 의미는 이것은 파일이고, user는 읽기/쓰기/실행 모두 가능, group역시 읽기/쓰기/실행 모두 가능, 마지막으로 other는 읽기와 실행은 가능하지만 쓰기는 불가하다는 의미이지요.
그럼 file이나 directory의 권한을 어떻게 바꿀까요?
chmod 명령어를 사용합니다. chmod 명령어 뒤에 권한 설정 명령을 덧붙이고 그 뒤에 file또는 directory명을 덧 붙여서 사용하지요.
도와달랬는데 참 복잡하네요. ^^
chmod [user][권한] [file]
이렇게 이해하시면 될 것 같습니다. 물론 중간에 option이 있는데 ubuntu 기준으로 권한 설정 변경이 기본인지 굳이 -c를 붙이지 않아도 변경 설정이 잘 되는군요.
[user]는 권한을 설정하려는 user입니다. Login하고 있는 user 즉 나의 권한을 변경할 때는 u, 그룹은 g, others 즉 기타 사용자는 o이고 셋 모두의 권한을 한번에 변경하려면 a 입니다.
[권한]은 읽기/쓰기/실행 권한 입니다. 읽기 가능으로 변경하려면 +r, 불가는 -r, 쓰기 가능은 +w, 불가면 -w 이런 식입니다.
[file]은 권한을 변경하려는 file이나 directory의 이름이고요.
녹색 실행 파일인 hello를 login user가 실행 못하게 막겠다면 chmod u-x hello 라고 입력하면 됩니다.
그럼 아래와 같이 -rwxrwxr-x에서 -rw-rwxr-x로 변경이 됩니다. 이 file을 실행하려고 하면 권한이 없다고 나올 거에요.
Login user 권한이 rwx에서 rw-로 바뀐 것 보이시죠?
이 상태에서 실행을 해보면 허가 거부라고 뜨는 것도 보이네요.
다시 chmod u+x hello 로 login user에게 실행 권한을 줬습니다. -rw-rwxr-x에서 -rwxrwxr-x로 변경 되었네요.
실행도 잘 되어서 Hello world~ 문구가 출력되었고요.
u+r, u-r, g-x, o+w등 다양하게 설정하려는 권한에 맞춰 조정해주면 됩니다.
이렇게 문자와 기호를 이용하여 권한 설정을 해봤는데요. 숫자를 통해서도 가능합니다. u+r 이런 [user][권한] 자리에 숫자를 넣는거죠. Login user, Group, Others 한번에 권한 설정 할 경우 편합니다.
위에서 본 표가 조금 복잡해졌죠? 0~7까지 숫자를 연속 3개 사용하는데요. 0은 불가, 1은 가능을 의미합니다.
표에서 보면 Login user의 file 권한을 읽기가능/쓰기불가/실행가능으로 설정한다면 1/0/1이 되어 숫자 5가 됩니다.
chmod 555 hello로 하면 Login user, Group, Others 모두 hello file에 대해 읽기나 실행은 가능하지만 쓰기, 즉 수정은 불가능 해지겠죠. chmod 777 hello로 하면 모두 읽기/쓰기/실행이 가능해지고요. chmod 750 hello로 하면 Login user는 모두 가능, Group은 쓰기만 불가, Others는 모두 불가가 됩니다.