Ubuntu 기본 환경 설정은 아래 목록대로 진행 (필요에 따라 목록 업데이트 예정)

  - vim 설치 및 환경 설정

    : vim 설치 및 환경 설정

  - VirtualBox ubuntu와 윈도우 공유 directory 설정

    : VirtualBox ubuntu ↔ 윈도우 공유 폴더 설정

  - ssh 설치 및 환경 설정

    : ssh 설치 및 환경 설정

  - tftp 설치 (Petalinux 권장)

    : tftp 설치 및 환경 설정

  - samba 설정

 

Petalinux image build 시 compile image가 $project dir/images/linux에 생성되나, /tftpboot/ directory에도 함께 생성된다.

이 때문에 tftp 설치를 권장하고 있어 설치와 환경 설정을 진행한다.

 

1. tftp 설치하기

    터미널 창에서 아래 명령을 입력해서 관련 프로그램을 설치한다.

~$ sudo apt install tftp tftpd xinetd

 

2. tftp를 사용하기 위한 환경 설정

~$ sudo vim /etc/xinetd.d/tftp
service tftp
{
    socket_type	= dgram
    protocol	= udp
    wait	= yes
    user	= root
    server	= /usr/sbin/in.tftpd
    server_arg	= -s /tftpboot
    disable	= no
    per_source	= 11
    cps		= 100 2
    flags	= IPv4
}

 

3. file up/down등을 위한 directory 생성과 권한 수정

~$ sudo mkdir /tftpboot/
~$ sudo chmod 777 /tftpboot/

 

4. tftp service 재시작

~$ sudo /etc/init.d/xinetd restart

 

5. tftp 사용 예시는 다음 기회에...

Ubuntu 기본 환경 설정은 아래 목록대로 진행 (필요에 따라 목록 업데이트 예정)

  - vim 설치 및 환경 설정

    : vim 설치 및 환경 설정

  - VirtualBox ubuntu와 윈도우 공유 directory 설정

    : VirtualBox ubuntu ↔ 윈도우 공유 폴더 설정

  - ssh 설치 및 환경 설정

    : ssh 설치 및 환경 설정

  - tftp 설치 (Petalinux 권장)

    : tftp 설치 및 환경 설정

  - samba 설정

 

윈도우등에서 Ubuntu에 접근하기 위한 수단 중 하나로 ssh 세팅

 

1. ssh server 설치하기

~$ sudo apt install openssh-server

 

2. ssh service 활성화 상태 확인 - Active : active (running) 확인!!

~$ sudo systemctl status ssh

  ※ ssh service 끄기/켜기

~$ sudo systemctl disable --now ssh
~$ sudo systemctl enable --now ssh

 

3. 방화벽에 ssh 접속 허용 규칙 추가하기

~$ sudo ufw allow ssh

 

4. VirtualBox port forwarding 설정하기

  1) VirtualBox Ubuntu의 IP address를 확인해보면 일반적으로 10.0.2.15 값을 할당 받으며, 이 주소로는 접속 불가.

      Host OS인 Windows 10은 IP time등 공유기에서 할당 받은 IP의 경우 192.168.0.xxx 형식임

  2) Host인 Windows 10 ip 설정 확인을 위해 [윈도]+R을 눌러 실행창을 띄우고 cmd 입력 후 확인

  3) Windows 10의 외부 네트웍 접속이 가능한 사설 ip와 VirtualBox Ubuntu 접속이 가능한 내부 사설 ip를 확인

      여기서 필요한 값은 VirtualBox 연결이 가능한 ip address 값임

  4) VirtualBox 관리자 창에서 설정을 누르고 [네트워크] 항목에서 [고급] 메뉴를 펼침

  5) 펼침 메뉴에서 [포트 포워딩(P)] 클릭

  6) 포트 포워딩 규칙 창 오른쪽 상단 규칙 추가 버튼을 누르고 다음과 같이 입력하고 확인 클릭

  6) Ubuntu를 재시작하고 윈도우 teraterm등에서 ssh 접속 시험 진행

      접속 IP는 192.168.56.1, port는 22 (변경 권장. VirtualBox는 가상환경으로 변경하지 않았음)

      SSH Authentication 창에서 계정, 비번 입력후 OK를 눌러 ssh 정상 접속을 확인할 것

 

※※ SSH 접속 port 변경하기 ※※

SSH 접속 port를 변경함으로써 혹시 모를 외부 침입을 방지하는 조치 중 하나.

 

1. sshd_config 파일 편집하기

~$ sudo vim /etc/ssh/sshd_config

    줄번호 13의 #Port 22 확인, 못 찾는 경우 vim 명령 모드 상태에서 /port 등으로 검색해서 찾기

 

2. #Port 22에서 주석 처리를 삭제하고 port 번호를 원하는대로 변경한 후 저장 및 vim 종료

 

3. 포트 변경에 따라 ssh service를 재시작해주고, 방화벽 규칙도 함께 변경해 줄 것

~$ sudo systemctl restart ssh
~$ sudo ufw deny 22
~$ sudo ufw allow 1234

 

Ubuntu 기본 환경 설정은 아래 목록대로 진행 (필요에 따라 목록 업데이트 예정)

  - vim 설치 및 환경 설정

    : vim 설치 및 환경 설정

  - VirtualBox ubuntu와 윈도우 공유 directory 설정

    : VirtualBox ubuntu ↔ 윈도우 공유 폴더 설정

  - ssh 설치 및 환경 설정

    : ssh 설치 및 환경 설정

  - tftp 설치 (Petalinux 권장)

    : tftp 설치 및 환경 설정

  - samba 설정

 

VirtualBox ubuntu와 윈도우 간 파일 공유를 쉽게 하기 위한 설정 진행

1. VirtualBox 관리자 창에서 Ubuntu18.04를 선택하고 설정 아이콘을 누름

2. 설정 창이 뜨면 [공유 폴더] 항목을 누르고 오른쪽 위 추가 버튼을 클릭

3. 공유 추가 팝업이 뜨면 폴더 경로의 drop-down 버튼을 누르고 기타...를 선택해 공유할 directory를 선택

4. 폴더 이름이 자동으로 채워지면 그대로 두고, 자동 마운트 체크, 마운트 지점은 사용자 home directory에 share 생성하도록 설정

5. 확인을 눌러 창을 닫고 ubuntu 18.04를 부팅!!

  1) ~/share directory 접근시 허가 거부 발생함 : share directory의 소유권한 문제

  2) user 추가 명령으로 사용자 계정을 vboxsf group에 추가

~$ sudo adduser [user-id] vboxsf 또는
~$ sudo usermod -G vboxsf -a [user-id]

  3) Ubuntu 재부팅 후 groups 명령으로 group 추가를 확인하고 ~/share/ 접근 가능 확인.

     - ~/share directory의 소유자/그룹은 변경되지 않음

     - Ubuntu 바탕화면에 ~/share/ 바로가기(파일탐색기) 아이콘 생성됨

 

Cli 환경 기본 편집기인 vi가 있으나 개선된 vim이 손에 익어 vim을 설치하고 환경 설정도 진행.

 

Ubuntu 기본 환경 설정은 아래 목록대로 진행 (필요에 따라 목록 업데이트 예정)

  - vim 설치 및 환경 설정

    : vim 설치 및 환경 설정

  - VirtualBox ubuntu와 윈도우 공유 directory 설정

    : VirtualBox ubuntu ↔ 윈도우 공유 폴더 설정

  - ssh 설치 및 환경 설정

    : ssh 설치 및 환경 설정

  - tftp 설치 (Petalinux 권장)

    : tftp 설치 및 환경 설정

  - samba 설정

 

1. vim 설치

  1) 단축키 Ctrl+Alt+T로 터미널을 실행하고 vim 설치 명령 입력

~$ sudo apt install vim

  2) 설치가 완료되면 환경 설정 파일 편집

~$ vim .vimrc

       vim이 실행되면 i를 눌러 편집 모드로 들어가서 아래 문구들을 입력

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도 괜찮은 듯 하여 우선 사용!!

아래 link에서 jellybeans.vim 파일을 다운받아 저장.

GitHub - nanotech/jellybeans.vim: A colorful, dark color scheme for Vim.

 

GitHub - nanotech/jellybeans.vim: A colorful, dark color scheme for Vim.

A colorful, dark color scheme for Vim. Contribute to nanotech/jellybeans.vim development by creating an account on GitHub.

github.com

 

  2) 다운 받은 jellybeans.vim 파일을 vim color scheme 보관 directory로 이동

      vim color scheme이 보관된 경로는 /usr/share/vim/vim00/colors이며 여기서 00은 설치된 vim version에 따라 다름

~$ sudo mv ./다운로드/jellybeans.vim /usr/share/vim/vim80/colors/

  3) jellybeans.vim 파일의 소유자, 그룹을 root로 변경

~$ sudo chown root:root /usr/share/vim/vim80/colors/jellybeans.vim

  4) 다시 .vimrc 파일을 편집하면서 colorscheme jellybeans 문구를 추가하고 저장 및 종료

 

※ Jellybeans color scheme capture

Ubuntu 18.04 설치가 끝나고 OS 기본 설정 과정

 

1. 로그인 창에서 사용자 이름을 누르고 설치 중 설정했던 계정 비밀 번호를 입력해서 로그인!!

 

2. 로그인이 되면 Ubuntu에서 새로운 점 창이 기본으로 떠있음. 그냥 닫아도 되나 입력해도 무방.

3. 시간이 좀 지나면 우분투 20.04.6 LTS 업그레이드 권장 팝업이 뜨는데 업그레이드 하지 않음을 선택!!!!

4. 소프트웨어 업데이터 창이 뜨면 지금 설치를 눌러 업데이트 진행, 업데이트 완료 후 지금 다시 시작을 눌러 재부팅!

5. 재부팅이 완료되면 장치 - 게스트 확장 CD 이미지 삽입... 을 눌러 VirtualBox 확장 기능 설치 필요.

  1) 바탕화면에 VBox_GAs_6.1.44 아이콘이 생기고 실행 여부를 확인하는 팝업 창이 뜨면 실행을 클릭

  2) Terminal 창이 뜨고 Press Return to close this window... 메시지가 뜨면 설치 완료. VBox_GAs_6.1.44 아이콘 오른쪽 클릭하고 꺼내기 선택해서 제거하고 Ubuntu 재부팅!!

  3) 이 단계까지 진행하고 나면 재부팅시 해상도 변경 되는 현상 없앨 수 있음

     - Ubuntu settings - Device - Display에서 설정한 해상도는 가상 머신 재부팅 시 유지 안됨

     - Oracle VM VirtualBox 실행 창을 마우스 드래그로 해상도 변경한 경우 재부팅해도 해상도 유지됨

 

6. 한영키 사용을 위한 fcitx 설치하기

  1) Setting(설정) 창에서 지역 및 언어 -> 설치된 언어 관리 실행

  2) 언어 지원 팝업에서 설치 선택

  3) Terminal 창을 실행하고 fcitx-hangul 설치하기

~$ sudo apt-get update && sudo apt-get upgrade
~$ sudo apt install fcitx-hangul

  4) fcitx-hangul 설치가 끝나고 언어 지원 창을 다시 실행하면 키보드 입력기에 fcitx 항목이 추가됨.

      키보드 입력기를 fcitx로 변경하고 재부팅하면 한영키 사용 가능!!

Xilinx社 Zynq를 이용한 Embedded linux 개발을 시작하면서 이런 저런 작업을 하다보니 100GB로 할당했던 Ubuntu 가상머신 용량에 부족함을 느끼게 되어 200GB로 재할당하고 Ubuntu 설치 및 초기 설정, 개발 환경 설정등을 새로 하게 되었습니다.

이왕 하는거 블로그에 그 기록을 남겨 재 설정하는 경우가 다시 발생한다면 준비 시간을 조금이라도 줄여보고자 기록을 남깁니다.

VirtualBox에서 resize 옵션으로 크기를 조절하는 방법도 있으나 Ubuntu에서 파티션 재설정도 해야하는데 이 부분이 잘 되지 않아 그냥 새로 설정하였습니다.

 

사용환경

  - Host OS : Windows 10 또는 Windows 11

  - Virtual OS : Ubuntu 18.04 LTS (Zynq용 petalinux가 18.04에서만 build 가능했음. 20.04부터 불가)

  - 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) 지금 다시 시작을 누르고 재부팅 메시지가 뜨면 파일 - 종료 - 시스템 끄기로 가상 머신 종료하고 다시 시작,

        Ubuntu 로그인 화면이 뜨면 설치 과정은 완료!

Raspberry Pi - Ubuntu간 smaba를 통한 파일 공유

양쪽 모두 Samba server 설정은 되어 있고, 윈도우에서 Raspberry Pi, Ubuntu 모두 smaba 접속 정상 확인

 

 

Ubuntu - Windows - Raspberry Pi 이렇게 Windows를 경유하여 파일 공유 가능한 상태에서 중간 경로를 삭제하고 직접 공유를 하기 위한 설정 시작

 

Samba client 설치

~$ sudo apt install smbclient cifs-utils

 

Samba 접속하여 사용할 공유 폴더 생성 및 설정

~$ mkdir smb_client
~$ sudo mount -t cifs //접속대상IP/pi ~/smb_client/ -o user=[id],pass=[passwd]

 

Ubuntu 바탕화면에 smb_client 바로가기 아이콘 생성되고, 해당 아이콘 실행 시 파일 앱에서 Raspberry Pi 공유 디렉토리 정상 확인됨

마찬가지로 terminal에서도 정상 연결 확인

 

Ubuntu 재부팅 후에도 자동 mount 되도록 설정하기

~$ sudo vim /etc/fstab

제일 아랫줄에 아래 내용 추가

//[접속대상_IP]/[Section_이름]  /Mount위치(절대경로) cifs user=[id],pass[passwd] 0 0

이 후 재부팅 시 Ubuntu에서 Raspberry Pi samba에 자동 접속 및 mount 됨.

 

※ 공유 디렉토리로 설정한 smb_client 권한이 root로 잡혀 있어 파일 복사가 안되는 상황

    (추후 방법 찾아 update하기!!)

VirtualBox - Ubuntu에서 Windows와 공유 폴더 설정

윈도우에서 우분투와 공유할 폴더를 생성

 

VirtualBox 메뉴 [장치]-[공유 폴더]-[공유 폴더 설정...] 항목 선택

 

오른쪽 공유 폴더 추가 버튼 클릭

 

폴더 경로 항목에서 기타를 누르고 윈도우에서 생성한 폴더 지정

 

공유 폴더 지정 후 [자동 마운트]와 [항상 사용하기] 두 항목을 선택

 

기본 설정이 끝나고 우분투 터미널 창 실행

/media directory 내부를 확인하면 공유 폴더로 sf_VM_Share가 생성되어 있는것을 확인 할 수 있음.

공유 폴더는 윈도우에서 지정한 이름 앞에 sf_가 항상 붙는 것 같고 공백문자는 _로 대체됨.

groups 명령으로 확인해보면 vboxsf group에 대한 권한 문제로 sf_VM_Share directory 접근 금지 상태임.

/media 하위에 sf_VM_Share directory 확인됨

sudo adduser [userid] vboxsf 명령 또는

sudo usermod -G vboxsf -a [userid] 명령으로

현재 사용 중인 user id에 vboxsf 그룹을 추가함

User ID에 vboxsf 그룹 추가

그룹 추가 명령을 실행하고 바로 groups를 실행하면 변경 사항이 없음.

우분투 재부팅 후 groups 명령을 실행하면 User ID에 vboxsf 그룹이 추가된 것을 확인할 수 있음.

우분투 재부팅 후 그룹 추가 확인됨

 

이후 sf_VM_Share directory에 접근 가능해지고, 윈도우와 공유 가능.

Terminal 환경에서 공유 폴더 확인
GUI 환경에서 공유 폴더 확인

리눅스에서 "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 한번에 권한 설정 할 경우 편합니다.

2진수와 16진수를 아실런지요..? 2진수는 각 비트(칸)에 0또는 1 숫자만 들어가는거고 16진수는 2진수를 4칸씩 묶어서 읽는다고 이해하시면 됩니다.

 

 

위에서 본 표가 조금 복잡해졌죠? 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는 모두 불가가 됩니다. 

 

보시는 것 처럼 권한이 계속 바뀌고 있죠? 그럼 오늘은 이만~

 

Embedded 공부를 위해 Linux 맛부터 봐야겠다는 생각이 들었습니다.

Linux는 Ubuntu로 결정하였고 Version은 14.04 LTS 입니다.

현재 최신 버전은 14.10이지만 LTS(Long Term Support)는 14.04까지 나와있어 14.04로 갑니다.

 

단순히 Linux 맛을 보는 것이나 Embedded 개발을 위해서 보통 Vmware같은 가상머신에 linux를 설치해

사용하지만 좀 더 공부해서 NAS server로도 활용할 계획인지라 저가형 PC까지 맞추기로 했습니다.

 

그래도 블로그에는 Vmware를 통해 설치해본 내용을 올리겠네요. OS가 완전 load되기 전에 설치화면이나

Booting 화면을 capture하는 재주가 없어서 ^^

 

Vmware나 각종 가상 머신 프로그램 설치나 다루는 방법은 걍 쿨하게 넘어가죠.

대신 이번 편에선 Vmware 10을 이용해 ubuntu 설치하기 위한 기본 단계까지만 다룹니다.

 

 

먼저 Ubuntu를 설치하기 위해서 설치CD나 image가 필요하겠죠.

http://www.ubuntu.com 에 들어가보시면 down 받을 수 있지만 해외 server라 그런지 많이 느리네요.

http://ftp.kaist.ac.kr/ubuntu-cd/14.04.1 에 들어가 봅시다.

 

뭐가 좀 복잡하죠? 자세히 보시면 Ubuntu 14.04와 Ubuntu 14.04.1 두 가지 버전에서 Desktop/Server,

64bit/32bit 이렇게 각각 나뉘어 있네요.

14.04와 14.04.1의 차이는 LTS(Long Term Support)이냐 아니냐 차이입니다.

14.04.1이 LTS이고 말 그대로 보안패치등을 오랫동안 지원해준다는 얘기이겠죠 뭐.

전 Ram 4GB 쓸 거니까 64bit 버전에 desktop버전을 골랐어요.

ubuntu-14.04.1-desktop-amd64.iso 글자를 클릭하면 이미지 파일 다운로드~

 

 

이제부터 Vmware 설정 부분입니다. Vmware는 그냥 기본값으로 Next> 만 눌러 설치한 걸로 기억하니

별게 없네요. 다시 지웠다가 설치하는 것도 좀 그렇고...

 

 

1. 설정이라긴 그렇지만 놋북 화면 크기가 1600*900이라 좁네요. View에서 Toolbar와 Tabs 옵션을

   껏습니다. 이러면 Ubuntu 다 깔고 해상도 1366*768 했을 때 화면에 거의 딱 맞게 차더군요.

 

 

2. File - New Virtual Machine 또는 키보드에서 Ctrl+N 눌러줍시다.

 

 

3. 그냥 막 Custom으로 ㅋ

 

원래는 Typical로 해도 상관 없을 것 같긴한데 Custom으로 해봤네요. 별 차이 없을 듯.

그냥 아래 화면 하나 더 나오는 듯 합니다.

 

 

4. 아무것도 안 건드리고 Next>

 

 

5. Ubuntu 설치 단계를 다 밟기 위해 맨 마지막 옵션을 골랐는데요.

   두 번째 Installer disc image file을 고르고 다운 받았던 iso 파일 선택해주면 다음 단계에서

   이름과 계정 생성 정보 입력 하는 것만으로 알아서 설치 완료해 줍니다.

 

 

6. 전 단계에서 수동을 골랐으니 고생 좀 해보죠 뭐.

    Linux를 골라 놓고 Version은 Ubuntu 64-bit로 맞춰서 Next>

 

 

7. 가상 머신 이름과 저장 위치 설정입니다. 뭐 대강 넘어가죠.

 

 

8. 사용 중인 놋북 CPU가 i5이니까 Processor는 1개에 Core수는 4개로 맞췄습니다.

 

 

8-1. 내가 사용하는 CPU의 core수를 모르겠다! 하시면 어짜피 멀티 프로세서는 아니실거고요.

      Core수를 알기 위해서 키보드에 왼쪽 Ctrl+Shift+ESC 3개 키를 동시에 눌러봅시다.

      Windows 작업 관리자가 뜨고 성능 탭에 가면 CPU 사용 현황이 4개 칸으로 된 거 보이시죠.

      이 칸 수가 core의 수 입니다. 2개면 2칸으로 나오겠죠.

 

 

9. 사용할 Ram은 4GB로. 2GB도 충분하겠지만 Ram은 좀 남아 도는 편인지라 ^^

 

 

10. 아래는 Network Type 설정 옵션입니다.

 

 Use bridged networking 가상 머신에서 도는 Ubuntu가 공유기에 직접 붙는 경우입니다.
공유기를 통해 여러 PC가 붙는 경우 가상 머신도 공유기에서
직접 IP를 받아오게 되어 단독 PC처럼 동작 하는 건데요.
쉽게 말하자면 network에 있는 단말기들 모두가 접속
가능해지는 거죠.
 Use network address translation (NAT) IP address를 가상 머신이 돌고 있는 PC에서 받아오는 것이라
하네요. 특별히 setting하지 않으면 가상 머신이 돌고 있는 PC
외에 같은공유기에 물린 다른 단말기들은 접속 할 수 없다.
정도로 이해..
 Use host-only networking 단독 netwrok구성에 외부와 접속 하지 않는 것이라네요.
사실 잘 모르겠어요.
 Do not use a network connection 인터넷 사용하지 않는 것이랍니다.

 ※ 내용 추가 : Use bridged networking을 선택시 공유기에서 IP address를 받아오지만 외부 인터넷

                     망까지 연결되지 않음을 확인하였네요. 설정을 만지면 될 지 모르겠지만 그냥 두 번째 옵션

                     인 Use network address translation (NAT)을 선택해서 인터넷 접속되는 것을 확인

                     하였습니다. 이 옵션으로 바꾸고 끝. 인터넷 접속이 안되면 update도 각종 pakage 설치도

                     불가하고 알아보는 것도 좀 그래서 ㅋ. 어짜피 local PC외에는 접속할 일이 없으니까요.

 

 

11. Recommended가 붙은 걸로 Next>

 

 

12. 이것도 마찬가지로 Recommended 보고 Next>

 

 

13. 새로 만들거니까 Create a new virtual disk에서 Next>

 

 

14. HDD size 정하는 건데요. 기본값은 20GB인데 50GB 잡았고요. 이건 뭐 원하시는대로.

     아래 네모칸 Allocate all disk space now.에 체크하시면 50GB가 바로 잡힙니다.

     Ubuntu에서 실제 그 용량을 쓰지 않고 있어도 50GB.

     체크 안 하시면 최대 50GB로 해서 필요한만큼 파일 용량이 커짐요.

     Store virtual disk as a single file을 선택하면 이미지 파일을 하나로 관리한다는 건데

     실제로는 관련 파일 몇개 더 추가되기는 합니다. 어쨌든 간단하니까 한개인걸로.

 

 

15. 이미지 파일 이름 정하는 건데 그냥 기본값대로 Next>

 

 

16. H/W 세부 설정 하는 거고요. 이것도 그냥 Finish

 

 

17. 자 이제 기본적인 가상 머신 환경은 갖추어졌네요. 이미지 파일을 올리고 실행시켜서 설치 들어가면

    되겠습니다. 이 상태에서 CD/DVD(SATA) Auto detect를 누르시면 다음 단계에서 설치할 OS 이미지를

    고를 수 있습니다.

 

 

18. Use ISO image file을 고르고 Browse를 눌러 다운 받은 Ubuntu iso 파일을 골라주고 OK버튼 눌러주세요.

 

 

19. 그럼 이렇게 다시 화면으로 돌아오는데 여기서 왼쪽 위에 Power on this virtual machine을 누르면

     컴퓨터 켠 것과 마찬가지가 됩니다. CD롬에 설치CD 넣고 컴퓨터를 켰으니까 설치가 시작되겠죠.

 

 

설치하기는 다음편에~

+ Recent posts