su

su

 

su 명령어는 "super user"의 약자이고 다른 사용자로 전환하는 데 사용됩니다. 그래서 종종 'switch-user' 라고 불리기도 합니다.
su 명령어가 사용자 이름 없이 단독으로 실행되면 root 사용자로 로그인됩니다. 

 

su 와 su - 차이

$ su aingface

 

대체 무슨 차이일까요? 보통 다른 유저로 전환하기 위해서 위 명령어처럼 입력하면 비밀번호를 묻는 메세지가 출력됩니다.

 

 

[dodoria@aingface ~ ]$ su aingface
Password:
[aingface@aingface dodoria]$
[aingface@aingface dodoria]$ ls
ls: cannot open directory .: Permission denied 
[aingface@aingface dodoria]$
[aingface@aingface dodoria]$ cd
[aingface@aingface ~]ls  
bin lost 
[aingface@aingface ~ ]$

 

❗️ [사용자이름@호스트이름]은 사용자에게 현재 작업 중인 시스템의 상태 및 위치를 보여주는 CLI에서 중요한 요소입니다.

 

위 코드를 확인해보겠습니다. 사용자 ainface가 사용자 dodoria의 원래 로그인 세션으로부터 환경을 유지하고, 현재 작업 디렉토리 및 실행 파일로의 경로 또한 동일하게 유지된다는 점에 유의해야 합니다.

이때 사용자 ainface가 작업 디렉토리(아직 사용자 dodoria의 작업 디렉토리)를 나열하려고 하면 "ls: not open directory .: permission deny" 라는 오류가 표시됩니다. 하지만 마지막에 사용자 ainface는 아무런 옵션 없이 cd 명령을 실행한 후 자신의 홈 디렉토리를 나열할 수 있습니다.

-, 또는 -l 또는 -l(log in 플래그)으로 su를 호출하면 일반적으로 로그인할 때와 유사한 로그인 인터페이스를 제공합니다.

아래 코드의 모든 명령은 동일합니다.

$ su - aingface
OR
$ su -l aingface
OR
$ su --login aingface

 

 

 아래 코드의 경우 사용자 ainface 에게 실행 파일 경로를 포함하여 자신의 기본 로그인 환경이 제공됩니다. 이를 통해 사용자 자신의 기본 홈 디렉토리에 접속하게 됩니다.

[dodoria@aingface ~]$ su - aingface
Password:
Last login: Tue Mar 31 22:03:07 EAT 2024 on pts/0 
[aingface@aingface ~ ]$
[aingface@aingface ~ ]$ 1s bin lost 
[aingface@aingface ~ ]$

 

참고

https://www.tecmint.com/difference-between-su-and-su-commands-in-linux/

가상머신에서 실행 중인 리눅스 환경에서 작업할 때 호스트 머신과 양방향 복사 붙여넣기를 하는 일은 여간 수고스러운 일이 아닐 수가 없다.

처음엔 말 그대로 위와 같은 작업을 위해 클립보드 공유 설정을 양방향으로 하기도 했다. 하지만 계속 호스트 머신과 가상머신을 스윗칭하며 작업하는 일은 효율적이지 못하다. 그래서 호스트머신에서 SSH 접속을 하기로 했다. 본문은 그 내용을 다룬다.

 

 

 

우선 리눅스 가상머신에 접속해서 내부 아이피를 찾는다.

 

 

 

ssh username@hostname_or_ip_address

 

그 뒤 호스트 머신에서 ssh 로그인을 한다. 위와 같이 명령어를 입력해주면 된다. 

 

 

  

 

활용 예시는 위와 같다. 이제 호스트 머신의 터미널에서 가상머신의 리눅스에 접속해서 작업을 할 수 있다!

1. 요약

본문에서는 Apple Slicon M1 Mac pro 칩에서  VirtualBox/ VMWare Fusion/ UTM 가상머신에서 RHEL9 iso 파일을 부팅하기까지 과정을 다뤘다. 상세한 셋팅은 다루지 않았고 어떤 VM에서 부팅이 되는지를 중점적으로 다뤘다. VirtualBox 7.0 버전에서는 부팅 가능한 디스크 또는 드라이브가 없다는 에러 메세지가 출력되며 부팅이 되지 않았다. VMWare Fusion에서는 CentOS 9 실행된다. 그러나 RHEL9은 실행되지 않았다. UTM에서는 설치가 되고 GUI 화면까지 진입했다. 그러나 Root 계정 비밀번호를 재설정하기 위해 재부팅을 하면 까만 화면에 - 문자만 깜빡이는 현상을 볼 수 있었다.  결과적으로 그 어떤 VM도 Windows 10에서 실행한 것과 같이 완벽 호환은 되지 않았다. UTM을 사용한다면 Root 비밀번호 재설정을 제외하고 RHEL 9.0 버전을 실행해서 실습할 수 있을 것이다. 혹은 CentOS 9을 실행해보는 것을 추천한다.

 

2. 실행 환경

칩  Apple M1 Pro
OS mac OS Ventura 13.4.1

 

  

3. RHEL 9.0 이미지 링크

https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.0/x86_64/product-software

 

 

4. 가상머신 

4.1 Virtual Box 설치 후 실행

No bootable option or device was found

 

 Windows 10 OS에서 잘 동작하는 VirtualBox를 사용하려 했으나, m1 버전은 베타버전만 지원했다. 그러나 부팅 가능한 디스크 또는 드라이브가 없다는 에러와 함께 부팅할 수 없었다.  

 

4.1.1 VirtualBox 공식 페이지에서 파일을 다운로드 받아 설치 (부팅 불가)

7.0.10 링크 : https://www.virtualbox.org/wiki/Download_Old_Builds_7_0 다운로드 링크: https://www.vmware.com/kr/products/fusion/fusion-evaluation.html

 

 

 

4.1.2 brew를 사용해 virtualbox beta 버전 설치(부팅 불가)

 

brew install virtualbox-beta 명령어 입력 시 No available formular with name "virtualbox-beta" 라는 문구를 볼 수 있다. 이 때 brew tap homebrew/cask-versions 명령어를 입력한 뒤 다시 brew install virtualbox-beta을 입력해서 설치할 수 있다. brew tap homebrew/cask-versions 명령어를 사용하면 homebrew/cask-versions 저장소를 Homebrew에 추가해서 해당 저장소에서 제공하는 여러 버전의 어플리케이션을 설치할 수 있게 해준다. 

 

 

aingface-ui-MacBookPro:~ aingface$ brew tap homebrew/cask-versions
==> Tapping homebrew/cask-versions
Cloning into '/opt/homebrew/Library/Taps/homebrew/homebrew-cask-versions'...
remote: Enumerating objects: 268996, done.
remote: Counting objects: 100% (10377/10377), done.
remote: Compressing objects: 100% (208/208), done.
remote: Total 268996 (delta 10230), reused 10257 (delta 10169), pack-reused 258619
Receiving objects: 100% (268996/268996), 67.07 MiB | 7.07 MiB/s, done.
Resolving deltas: 100% (187025/187025), done.
Tapped 249 casks (283 files, 74.7MB).
aingface-ui-MacBookPro:~ aingface$ brew install virtualbox-beta
==> Caveats
virtualbox-beta requires a kernel extension to work.
If the installation fails, retry after you enable it in:
  System Settings → Privacy & Security

For more information, refer to vendor documentation or this Apple Technical Note:
  https://developer.apple.com/library/content/technotes/tn2459/_index.html

==> Downloading https://www.virtualbox.org/download/testcase/VirtualBox-7.0.13_BETA4-160458-macOSArm64.dmg
#################################################################################################################### 100.0%
==> Installing Cask virtualbox-beta
==> Running installer for virtualbox-beta with sudo; the password may be necessary.
Password:
installer: Package name is Oracle VM VirtualBox
installer: choices changes file '/private/tmp/choices20231130-96403-v060fm.xml' applied
installer: Upgrading at base path /
installer: The upgrade was successful.
🍺  virtualbox-beta was successfully installed!

 

두 가지 방법 외에 이미지 파일을 다시 다운로드해도 같은 문제가 발생했다. 

 

 

 

4.2 Vmware Fusion 설치 후 실행

다운로드 링크: https://www.vmware.com/kr/products/fusion/fusion-evaluation.html

 

Fusion 13은 macOS 12 이상을 실행하는 Intel 및 Apple Silicon Mac을 지원한다고 명시되어 있다. 위 사진에서 빨간 사각형이 되어있는 부분을 누르면 다운로드가 가능하다. 그러나 RHEL 9.0은 부팅되지 않았다. 이미지를 찾을 수 없다는 에러를 마주했다. 

 

4.3 UTM 설치 후 실행

다운로드 링크: https://mac.getutm.app/

 

무사히 설치를 할 수 있었다. 그러나 Root 비밀번호를 초기화했더니 - 만 깜빡이고 화면이 바뀌지 않았다. 그 외에는 잘 동작한다. 

 

 

5. lessons Learned 4.3 UTM 설치 후 실행

 

시간이 촉박하다면 Windows 환경에서 VirtualBox를 사용해서 하는 것을 추천한다. m1 맥북프로에서 실습을 시도했으나 잘 되지 않아서 정말 괴로웠다. 환경 구축에 3일을 소요했으나 실패했다. iso 파일을 다운로드 받는데 용량이 7기가 쯤 되었고 다운로드까지 1시간넘게 걸렸다. 무작정 시도하기보단 자료 조사에 시간을 들이고 시도 했으나, 나의 랩탑에서는 부팅할 수 없었다. 



 

 

6. 참고 링크

1. Homebrew Formulae: https://formulae.brew.sh/cask/virtualbox#default
2. Set up VirtualBox for Virtual Machine in macOS with Apple Silicon (M1, M2, Pro, Ultra) with Homebrew: https://youtu.be/tumi5TT1Xxs?si=dxC3LN7egXS5vNH_
3.HOW TO DOWNLOAD AND INSTALL LINUX RHEL 9 FOR FREE: https://romankurnovskii.com/en/posts/howto-install-rhel-9-free/

리눅스 운영체제 특징

- 멀티태스킹, 멀티 유저 

 

 

Thin Provisioning과 Thick Provisioning

Thin Provisioning

  - 동적 할당

Thick Provisioning

 - 정적 할당

 

 

Danamic 과 Static 

Danamic 

- == Automatically == 자동으로

Static

- 정해준 대로만 

 

+ Recent posts