데이터베이스

Linux에 Oracle 19c 설치하기 2[rpm] 및 X11-forwarding(X display){23년4월19일}

늦게 시작한 개발자 2023. 4. 20. 10:44

이전 시간에 작성을 했듯이 모든 사전 작업을 1단원에서 마무리를 하였으니 이제 알집까지 풀어놓은 Oracle을 설치해보도록 하겠다.

이제 압축도 풀었고 모든 것이 다 되었으나 한가지 문제점이 발생하게 될 것이다. 그것은 바로 X display에 관련된 내용일 것이다.

[root@localhost db_home_1]# ./runInstaller
ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.

ERROR: You must not be logged in as root to run this tool.

위 내용을 보자면 ./runInstaller을 통해 나는 오라클을 설치하겠다는 뜻으로 명령어를 입력했으나 아래의 내용을 살펴보면 display 그래픽 할만한게 없다라는 뜻의 내용을 살펴볼 수 있다. 그래서 주로 많이 사용하는 X display를 많이 활용하는데 몇몇 OS에서는 애초에 display가 설정되어 있어서 문제 없이 진행할 수 있으나 내가 진행하고 있는 환경에서는 red hat인데 첫화면에서 부터 X11-forwarding 이 X 표시가 되어 있는 것을 확인할 수 있다.

처음 MobaXterm을 실행하면 나오는 모습이다.

그렇다면 필요로 하는 것은 이제 X11-forwarding이 필요하다는 것인데, 이부분에 대해서 먼저 진행을 한뒤에 작성을 해보고자 한다.

우선은 필요로 하는 프로그램은 X11이라는 프로그램이 필요하다.

https://nangman14.tistory.com/25

 

X11 Forwarding을 통해 AWS EC2에서 GUI 사용해보기

AWS 서비스 중 EC2를 사용하다보면 Putty 등의 SSH 터미널 원격 접속을 사용할 일이 많다. 하지만 이러한 방법은 GUI가 지원되지 않아 그래픽을 사용하는 결과물을 바로 볼 수 없다는 단점이 있다. 이

nangman14.tistory.com

X11에 대한 포워딩을 해줘야 하는데 해당 블로그에서는 Putty를 활용한 방식과 현재 내가 사용하고 있는 MobaXetrm 모두 활용방법에 대해서 명시되어 있다.

해당 블로그 내에서는 Xming이라는 프로그램을 설치하도록 이야기를 해준 상황이다.

https://sourceforge.net/projects/xming/

 

Xming X Server for Windows

Download Xming X Server for Windows for free. X Window System Server for Windows. Xming is the leading X Window System Server for Microsoft Windows 8/7/Vista/XP (+ server 2012/2008/2003). It is fully featured, small and fast, simple to install and because

sourceforge.net

해당 사이트에 들어가 다운로드를 누르게 되면 여러가지 버튼이 나오는데 다른 것들 누를 필요 없이 기다리고 나면 프로그램을 다운받게 될 것이다. 아마 나머지 버튼들은 자신들이 제공되는 다른 프로그램에 대한 광고로 보여진다.

해당 프로그램을 설치를 한뒤 딱히 건드릴 만한 것들은 없었으며 현재 MobaXetrm이 켜져있다면 프로그램을 재접속 하는 것을 추천한다. 처음에는 acpet라는게 나오는데 딱히 추가적 변경점이 생긴 것은 아니었기 때문에 다시 해주는게 가장 좋다고 이야기를 적는다.

그렇게 재접속을 해서 확인을 해보면 다음과 같은 첫 화면을 확인해볼 수 있을 것이다.

분명 첫 화면에 X11-forwarding의 화면 모습은 X 였지만 지금은 V의 모습!

하지만 그렇다고 완성이 된 것은 아니기 때문에 추가적으로 더 작성을 하자면 포워딩을 해줘야 한다는 것이다.

## 위의 프로그램을 설치했다고 x11-forwarding이 된것은 아니다!! 아래의 내용을 반드시 익혀야 한다.

# X11 환경을 설정
[root@localhost ~]# yum install xorg-x11-apps.x86_64
[root@localhost ~]# yum install xorg-x11-xauth.x86_64
[root@localhost ~]# yum install xorg-x11-server-Xorg.x86_64

# ssh 환경 설정
[root@localhost ~]# vi /etc/ssh/sshd_config
[root@localhost ~]# cat /etc/ssh/sshd_config

X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes

[root@localhost ~]# xhost +
# 만약 이때 아래처럼 나올 경우
-bash: xhost: command not found
# 부족한 xorg를 설치한다던가 (xorg*를 했을 경우 할 필요는 없을듯 하다.)
[root@localhost ~]# echo $DISPLAY
# echo $DISPLAY를 입력시 아무런 내용이 나오지 않는다면, 설정이 잡혀있지 않다는 뜻이다.
# 그렇기에 export를 통해 display 주소를 입력해줘야 한다.
# 19c .bash_profile 설정 당시 ####export DISPLAY=192.168.111.137:10.0 을 했기 때문에
# echo $DISPALY 입력시
localhost:10.0 혹은 192.168.111.137:10.0 이 나올 수 있는데 없다면 아래처럼 입력하면된다.
[root@localhost ~]# export DISPLAY=192.168.111.137:10.0

이 후 x11 정상 작동을 위해 reboot를 실행시켜 준다.

[root@localhost ~]# vi /etc/ssh/sshd_config
# 입력하게 된다면 코드들이 많이 있는데 이 중에서

#GatewayPorts no
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes


여기서 X11Forwarding 이 yes로 되어 있어야 한다.
x11프로그램을 설치해서 그런지 몰라도 자동으로 yes로 변경되어 있었다.
또한 아래의 두개는 주석처리가 되어있었는데 주석처리를 풀어주면서 localhost는 no로 변경을 해주었다.
X11DisplayOffset 10
X11UseLocalhost yes

이렇게 완료가 되었다면 반드시 systemctl reload ssh를 해줘야 한다. 

또한 제대로 X Display를 진행하기 앞서 패키지를 설치해줘야 한다.

 

## 아래의 코드들은 꼭 필수가 아니며 위의 ## x11 환경설정을 읽어보자

$ yum group install "GNOME Desktop" -y
$ yum install xorg-x11-apps -y
$ yum install xorg-x11-xauth -y
$ yum install xorg-x11-server-Xorg -y
$ yum install xorg-x11-utils -y

$ yum install xclock -y	 < 이것은 필수는 아니지만, 확인하기에 가장 좋은 방식이다.

이때까지만 하더라도 xclock을 설치하여 진행했음에도 불구하고 진행되고 있지 않았다.

https://blog.rgbplace.com/295

 

[Error] xhost unable to open display

모니터가 없거나 x-window 모드가 아닐 때 ssh 로 접속 후 콘솔창에서 xhost + 를 입력하면 이러한 오류가 떴었다. 해결방법 1. 로컬로 접속 후 startx, xhost + 제일 확실한 방법이다 2. ssh -XY 으로 접속 후e

blog.rgbplace.com

해당 블로그에 적히 내용 중에

로컬로 접속 후

xhost +

 

문장을 찾아 낸 후에 적용을 하였다.

이때까지만 하더라도 xclock을 입력시 한줄 띄고 아무것도 반응이 일어나지 않아서 제대로 작동되지 않은 줄 알았지만, 확인 해보니 vmware가 변경되어 있는 상황에서 해당 시계가 뜬 것을 확인해볼 수 있었다.

xclock이 나타난 모습

위의 사진처럼 원격지가 아닌 본체에 발생이 되면 안된다는 이야기를 들었다. 하루 종일 작업을 했을 당시 다른 블로그들을 살펴본 바로는 왜 본채에서 발생되었는지 알 수 없으나 하루 지난 뒤 다시 xclock을 사용 했을때는 아래와 같이 제대로 작동 되었음을 확인 했다. 분명히 x11작업을 해서 reboot까지 여러번 진행을 했음에도 불구하고 이러한 상황이 발생 된 것은 아직 알 수 없는 상황이다.

만약 시계가 잘 작동 된다면 

[root@localhost ~]# xdpyinfo

해당 코드를 입력하여 명령어가 제대로 출력되는지 확인할 수 있는데 안된다면, reboot 를 통해 전체를 리부트 해보는 것을 추천해준다.

 

그럼에도 안될 경우에는 root 환경에서 echo $DISPLAY를 입력 후 아이피의 뒷자리를 확인해본다.

(이상하게도 자꾸 DISPLAY 주소가 변경되어가지고 이상함에 혼란스럽다.)

그리고 해당 작업을 진행하기 전에 xdpyinfo를 꼭 입력하자.

아무 반응이 아닌 여러 내용이 나오면 문제가 없다는 것을 뜻한다.

 

이제 모든 과정이 되었다면 반드시 설치는 서비스계정(필자는 Oracle이라는 단어로 만들었다.)으로 프로그램 설치작업을 진행해야한다. root에서 아무리 진행을 하고 싶어도 x display가 연결이 안된다는 둥 연결을 해주면 root에서 설치는 안된다고 나오니 말이다.

이렇게 된다면 다시 ./runInstaller 를 입력하면 

이제 꿈에 그리던 설치 작업이 들어가게 된다. 

x11 작업만 하는데 8시간은 공부했던 것 같은데 아직 모르는 부분이 많은 것 같다.

## 추가로 문제가 발생한 시점이 한가지 있었는데 그것은 바로 VMware가 고정 ip가 아니라는 점으로 인해서 MobaXterm에서의 ip가 변경되었던 점이다.

 모든 프로그램을 설치했음에도 display의 경우에는 ip가 이미 이전것으로 고정이 되어 있는데 이때는 이미 프로그램 상으로는 이전 아이피로 display 주소를 잡아 놨기 때문에 clock을 입력하게 된다면 can't open display 하면서 이전 아이피 주소로 명시되며 뜨지 않는다 이때 수정해야할 작업이 바로 이전 시간에 진행했던 vi .bash_profile에서의 ip 주소를 변경한 후 reboot를 해줘야 하는 상황이다. 그래야 다음에 다시 clock을 입력 했을때 제대로 나의 아이피가 나온다.

 만약 reboot를 하지 않았을 경우 아이피는 동일한데 작동이 안되는 모습을 볼 수 있을 것이다.