Kartais tenka susidurti ir administruoti senesnes Linux tarnybines sotis, kurios produkcijoje būna tiesiog „užšaldytos ir nejudinamos“ iki veikia taip kaip turi. O tai nėra geroji praktika, nes sistemos tobulėja ir keičiasi. Ištaisomos buvusio programinio lygio klaidos, įvedami nauji patobulinimai ir ir padidinamas tokių sistemų veikimo patikimumas. Bet šį kartą ne apie tai. Susidūrėme su viena iš tokių sistemų, kurioje atsirado naujas valdymo poreikis – pasiekti sistemos grafinę terpę naudojant VNC.
Poreikis neskamba labai sudėtingas ir nereikalauja didesnių pastangų jį įgyvendinti. Tačiau mūsų aptariama Linux sistema buvo kažkada oficialiai nupirkta ir turėjo programinį palaikymą iš RedHat. Bėgant metams šis palaikymas buvo nepratęstas, o pati sistema liko neatnaujinta. Todėl reikės šiek tiek paieškotį senesnių programinių paketų saugyklos ir įgyvendinti naują valdymo poreikį.
Primiausia sužinosime Linux OS programinės įrangos versiją.
cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.1 (Santiago)
Ir sužinome kokiam procesorio tipui reikės programinės įrangos paketų.
uname –a
Linux vm-linux 2.6.32-131.17.1.el6.x86_64 #1 SMP Thu Sep 29 10:24:25 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
Matome, kad tai RedHat 6.1 x86_64 .Todėl ieškosime analogiškų programinių paketų, kurios galime sudiegti neperkompiliuojant pačių programinių kodų. Šiuo atveju tinkamiausias programinių paketų šaltinis bus CentOS 6 x86_64.
Pridedame CentOS šaltinį į turimos sistemos programinių paketų šaltinių sąrašą.
vim /etc/yum.repos.d/centos.repo
[centos]
name=CentOS-6
baseurl=http://ftp.heanet.ie/pub/centos/6/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://ftp.heanet.ie/pub/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6
Kada turime programinių paketų šaltinį galime bandyti sudiegti VNC. Diegsime TigerVNC programą.
yum install tigervnc-server
Jei viskas pavyko sėkmingai, turėsite jau sudiegtą tigervnc-server. Liko tik sukonfigūruoti. VNC vartotojui priskirsime :1 virtualų ekraną su rezoliucija 1366x768.
vim /etc/sysconfig/vncserver
VNCSERVERS="1:user01"
VNCSERVERARGS[1]="-geometry 1366x768"
Priskirsime slaptažodį varototojui user01.
su user01
vncpasswd
Paleidžiame vncserver programą ir padarome, kad perkrovus sistemą programa startuotų pati.
service vncserver start
chkconfig vncserver on
Jei naudojama ugniasienė pridedame naują taisyklę ir išsaugome.
iptables -I INPUT -m state --state NEW -p tcp --destination-port 5901 -j ACCEPT
service iptables save
Peržiūrime ar yra prisijungusių prie naujo VNC serverio.
vncserver -list