23 KiB
| title | description | image | authors | |
|---|---|---|---|---|
| 리눅스 사용 - 가상머신 | 리눅스 커널이 탑재된 환경에서 실 사용감을 익혀본다. | /assets/blog/03-linux-03/Hyperviseur.svg |
|
-
https://sourceforge.net/projects/qbittorrent/files/latest/download 또는 https://www.fosshub.com/qBittorrent.html 에서 qBittorrent 다운로드 - 설치
-
https://cdimage.ubuntu.com/xubuntu/releases/jammy/release/ 또는 https://ftp.kaist.ac.kr/ubuntu-cdimage/xubuntu/releases/jammy/release/ 에서 Xubuntu 토렌트 다운로드
다운로드 한 .torrent 파일을 더블클릭하여 iso 파일 다운로드
Xubuntu를 다운로드 하는 동안 https://www.virtualbox.org/wiki/Downloads 접속
Windows hosts 를 클릭하면 다운로드가 진행되지만 이번에는 curl로 다운로드를 해 보기 위해 주소를 복사하기만 한다.
- Cygwin 실행 -
cd로 다운로드 할 경로로 이동 curl -O까지 입력한 뒤 우클릭 - Paste를 하여 복사해 둔 VirtualBox 주소 붙여넣기- 실행
qBittorrent에서 Progress가 100%이면서 상태가 Seeding이면 Xubuntu 다운로드가 끝난 것이다.
항목을 우클릭해서 다운로드 대상 폴더를 확인
이름란에 xubuntu 입력 - ISO 이미지에 토렌트로 받았던 이미지를 선택
Skip Unattended Installation 체크
프로세서는 초록색 범위 내에서 선택
시스템 전체에서 남는 공간 중 xubuntu 가상머신에 할당할 크기 지정 - Next - Finish
설정
디스플레이에서 비디오 메모리 용량을 초록색 범위 내에서 할당
3D 가속 활성화 체크
시작
VirtualBox 내부에 마우스 포인터가 갇히는 경우 오른쪽 Ctrl 키를 누르면 빠져나올 수 있다.
설치 클릭
키보드 레이아웃은 English (US) 선택
서드파티 소프트웨어 설치 체크 - 계속
지금 설치 - 계속 - 변경사항을 디스크에 쓰기 창에서 계속
시간대 선택
사용자명 xubuntu
패스워드는 보안상 쉽게 탈취되지 않도록 짓는 것이 원칙이지만 가상머신 내에서 테스트용도로 사용하기 때문에 편한대로 간결하게 지어도 괜찮을 것이다.
설치가 끝날 때 까지 대기
설치 중 참고사항
유명 소프트웨어 중에 LTS라는 릴리스 모델을 채택하고 있는 프로젝트가 여럿 있는데 우분투는 2년에 한 번씩 짝수해 4월마다 LTS 버전을 출시하고 있다.
https://en.wikipedia.org/wiki/Ubuntu_version_history#Table_of_versions
각 버전마다 별명이 있으며 2022년 4월에 출시한 22.04 버전은 jammy라는 코드네임이 붙어있다.
Xubuntu는 ubuntu에 xfce를 탑재한 리눅스 배포판이다.
기본 우분투의 Nautilus 파일탐색기는 일부 외장 디스크 unmount시 spindle parking 시퀀스가 올바르게 작동하지 않는 문제가 있지만 Xubuntu의 파일탐색기에서는 해당 문제가 일어나지 않는다.
하이퍼바이저 성능만 따지면 VirtualBox보다 QEMU가 더 빠르긴 하지만 리눅스에서 설치하는 virt-manager가 함께 있어야 편리하게 쓸 수 있기 때문에 본 자습서에서는 VirtualBox를 사용한다.
QEMU는 호스트와 아키텍처가 일치하지 않는 프로세서도 가상화 할 수 있기 때문에 해당 내용에 관심이 있다면 관련 자료를 알아보는 것도 좋다.
{/* DMA */}
Cygwin으로도 리눅스의 여러 기능을 사용할 수 있지만 가상머신에 운영체제 전체를 설치하면
- Cygwin에서 rm으로 실수로 파일을 삭제하는 등 시스템에 영향을 줄 수 있는 여지가 가상머신 내부에서는 없기 때문에 가상머신 내부에서 완전히 망가지더라도 해당 이미지 외부로 아무 영향을 주지 않는다.
- X 디스플레이 서버 구동
- 패키지 매니저 탑재
- 컨테이너 구동
- RAID 구성
- 부트로더 설정
- 리눅스 심볼릭 링크
- sysctl 등으로 커널 조작
등을 사용할 수 있다.
WSLg 또는 VcXsrv로 리눅스 그래픽 환경을 구동할 수 있지만 Windowing system이 서로 달라서 네이티브 리눅스 환경과 재현도 차이가 날 수 있다.
Xubuntu 설치가 끝나면 재시작
만약 재시작 화면이 끝나지 않고 멈춰 있다면 가상머신을 강제로 리셋하면 된다.
부팅이 끝나면 세션 관리자가 뜬다.
다시 시스템을 시작한다.
사용 언어와 관련된 필요 패키지를 자동으로 감지해서 띄워주면 그대로 설치하면 된다.

패스워드란에는 운영체제 설치 단계에서 입력했던 패스워드를 입력한다.
소프트웨어 업데이트 알림에 대해서도 그대로 설치를 진행한다.
상단 작업표시줄 우클릭 - Panel - Add New Items...

우상단 ! 아이콘 클릭 - Delete finished notifications 클릭해서 VirtualBox 알림 정리

새로 생긴 빈 Launcher 아이콘 우클릭 - Properties

Name란에 xterm 이라고 작성하면 다 쓰기 전에 Create Launcher XTerm 이 펼쳐진다.
클릭 - Create

sudo apt purge apport* whoopsie*실행하여 설치된 패키지 제거y입력 - 엔터sudo apt autoremove실행하여 사용하지 않는 패키지 제거
whiskermenu - Settings Manager - IBus Preferences

More... - Korean 검색 - Korean 클릭 - Hangul 선택 - Add
기존에 있었던 Input Method인 English 선택 - Remove

whiskermenu - Log Out... - restart

Guest Additions 설치
이미지 삽입 후 잠시 기다리면 /media/xubuntu/VBox_GAs_major.minor.patch 경로에
마운트 된 내용이 나온다.

xterm에서 해당 경로로 이동 -> ./autorun.sh -> 패스워드 입력

근데 바로 설치를 진행할 수 없다.
sudo apt install gcc make perl 로 의존성 패키지
설치를 한 뒤 다시 시도

의존성 패키지 설치가 끝난 뒤 다시 ./autorun.sh 실행

autorun.sh 절차가 끝나면 sudo /sbin/rcvboxadd quicksetup all 실행 후
시스템 재시작

xterm 설정
.Xresources 라는 파일명으로 다음 내용을 저장해 놓는다.
XTerm.termName: xterm-256color
XTerm*utf8: 1
XTerm*utf8Title: true
XTerm.vt100.locale: true
XTerm.vt100.foreground: white
XTerm.vt100.background: black
*background: rgb:00/00/00
*foreground: rgb:ff/ff/ff
*color0: rgb:00/00/00
*color1: rgb:d3/62/65
*color2: rgb:ae/ce/91
*color3: rgb:e7/e1/8c
*color4: rgb:7a/7a/b0
*color5: rgb:96/3c/59
*color6: rgb:41/81/79
*color7: rgb:be/be/be
*color8: rgb:66/66/66
*color9: rgb:ef/81/71
*color10: rgb:e5/f7/79
*color11: rgb:ff/f7/96
*color12: rgb:41/86/be
*color13: rgb:ef/9e/be
*color14: rgb:71/be/be
*color15: rgb:ff/ff/ff
XTerm.vt100.faceName: Roboto Mono
XTerm.vt100.faceNameDoublesize: Noto Sans Mono CJK KR
XTerm.vt100.faceSize: 12
! disable bold font faces, instead make text light blue.
XTerm.vt100.colorBDMode: true
XTerm.vt100.colorBD: rgb:82/a4/d3
! disable underlined text, instead make it white.
XTerm.vt100.colorULMode: true
XTerm.vt100.colorUL: rgb:e4/e4/e4
XTerm.vt100.metaSendsEscape: true
XTerm*eightBitInput: false
XTerm.vt100.backarrowKey: false
XTerm.ttyModes: erase ^?
Xft.antialias: true
Xft.hinting: true
Xft.rgba: rgb
Xft.autohint: false
Xft.hintstyle: hintslight
Xft.lcdfilter: lcddefault
Xft.embolden: true
XTerm*selectToClipboard: true
xterm*dynamiccolors: true
*VT100*colorMode: on
*VT100*dynamicColors: on
XTerm.vt100.translations: #override \n\
Ctrl <Key> minus: smaller-vt-font() \n\
Ctrl <Key> plus: larger-vt-font() \n\
Ctrl <Key> 0: set-vt-font(d)
XTerm*charClass: 33:48,36-47:48,58-59:48,61:48,63-64:48,95:48,126:48
! Only select text
xterm*highlightSelection: true
! Remove trailing spaces
xterm*trimSelection: true
!If you want your terminal to scroll down anytime you press a key, use this setting:
XTerm*ScrollKey: true
! Do not scroll when there is new input e.g. tail -f /var/syslog
!xterm*scrollTtyOutput: false
XTerm*fullscreen: never
XTerm.vt100.scrollBar: true
xterm*rightScrollBar: true
!XTerm.vt100.scrollbar.width: 8
XTerm*cursorBlink: false
가상머신 종료 후 Settings - Network - Adapter 2 탭에서
Attached to: Host-only Adapter 선택 - OK - 가상머신 구동

xterm 실행 - ip addr 를 실행해서 방금 추가한 어댑터의 주소를 확인한다.
보통 enp0s8 인터페이스에 192.168.56.101 로 할당 받는다.

apt search openssh로 검색sudo apt install openssh-server로 openssh 서버 설치systemctl status sshd로 데몬 구동 상태 확인
Cygwin에서 scp로 위에서 저장한 .Xresources 파일을 가상머신에 복사해 보도록 한다.
복사가 끝나면 가상머신의 xterm에서 xrdb ~/.Xresources 를 실행해서 적용

현재 .Xresources의 설정에서는 font size는 Ctrl 를 숫자0과 백스페이스 사이에 있는 -기호 또는 +기호를 눌러서 줄이거나 키울 수 있다.
https://invisible-island.net/xterm/manpage/xterm.html
https://stuff.mit.edu/afs/sipb/project/doc/ixresources/xres.html
https://wiki.debian.org/Xresources
xterm 대신 다른 터미널을 쓰려면 Ctrl Alt t 를 눌러서 xfce4-terminal
을 실행하면 된다.

또는 리눅스 내부에서 터미널을 쓰는 대신 Cygwin으로 ssh 접속을 할 수도 있다.
- scp 명령과 비슷한 방식으로
ssh xubuntu@192.168.56.101실행 - 패스워드 입력
exit로 종료
ip addr 은 iproute2에 포함된 커맨드 중 하나로써 리눅스에서는 ifconfig
대신 사용하는 커맨드이다.
ifconfig 은 net-tools 프로젝트에 포함된 커맨드인데 BSD에서는 계속 ifconfig 을 기본으로 설정해 놓고 있다.
Host-only Adapter 는 처음에 VirtualBox를 설치할 때 같이 설치되었다.

Advanced Package Tool
상단에서 sudo apt purge apport* whoopsie* 라는 명령으로 apt를 처음 사용해 보았는데
apt는 데비안 계열에서 채택하고 있는 패키지 매니저이다.
Microsoft의 운영체제에서는 2012년 Windows 8이 나오기 전까지는 주로 exe나 msi를 확보해서 프로그램 추가/제거를 수행했는데 이런 방식으로 소프트웨어를 배포하면 DLL 지옥이라고도 하는 구성요소 손망실 문제가 발생하기 쉽다.
이런 문제로 인해 소프트웨어 배포 및 관리를 체계적으로 수행하는 패키지 매니저가 개발되기 시작했고 APT 외에도 레드햇 계열에서 사용하는 yum과 dnf, 아치 계열에서 사용하는 pacman 정도가 널리 알려져 있다.
패키지 매니저가 수행하는 체계적 관리라 함은 소프트웨어 일괄 업데이트, ELF 등 연관 라이브러리 탐색/업데이트/제거 등을 자동으로 수행하는 것이다.
최근에는 AppImage나 flatpak처럼 플랫폼 독립적인 배포 방식 또한 이용저변을 넓혀가고 있다.
Google Play Store나 Apple App Store 또한 일종의 패키지 매니저라고 할 수 있다.
apt search midnight로 Midnight Commander 검색sudo apt install mc로 해당 패키지 설치mc실행- F10 으로 종료
apt search 패키지명 형식으로 현재 설정된 저장소로부터 내려받아 설치할 수 있는지 확인할 수 있다.
sudo apt install 패키지명 으로는 해당 패키지를 설치할 수 있다.
패키지 설치 직전에 [Y/n] 으로 여부를 확인하는데 대문자가 기본 동작으로
지정되어 있기 때문에 y 를 입력하지 않고 그대로 엔터를 쳐도 y를 입력한
것과 똑같이 진행한다.
패키지 설치는 시스템을 변경시키는 행위이기 때문에 관리자의 권한이 필요한데, sudo를 어떤 명령어 앞에 붙여서 실행하면 최소 권한의 원칙을 유지하면서 시스템에 변동을 줄 수 있다.
원래 sudo를 사용하기 전에 visudo로 sudoer 추가를 해 줘야 하는데 ubuntu에는 해당 설정이 미리 되어 있기 때문에 본 자습서에서는 따로 다루지 않았다.
예시로 설치한 mc 는 ncurses 기반 파일탐색기이다.

필요에 따라서 sudo apt install gcc make perl 처럼 여러 패키지를 한꺼번에
설치할 수도 있다.
{/* repo 설정 PS1
mv/rm . / touch {1..5} mv . - cd로 이동하지 않고 타겟을 현재 디렉토리로 이동하는 방법 스크립트 bash프롬프트 - export, PATH 등 source
sha ps / top ip / ss nmcli / dig nginx -s / hosts systemctl mount dd git mc / ncdu / cmus users who
vm2(bind9) - ubuntu server -> Windows host - DNS query ddns-confgen */}


























































