Instruktaż/Tutorial Natywny Debian Squeeze z X Window, OpenMediaVault oraz Ajenti dla platformy x86

Silas Mariusz

rm -rf /
Help us, GOD!
5 Kwiecień 2008
10 364
34
2 830
153
40
Nowy Sącz
forum.qnap.net.pl
QNAP
TS-x77
Ethernet
1 GbE
(równolegle działający do obecnego systemu QTS4)
Natywny Debian Squeeze
z X Window System przez pulpit zdalny Microsoft RDP
oraz OpenMediaVault i Ajenti


dla serwerów QNAP TurboNAS z procesorami Intel
kontrolowany z Centrum Aplikacji (App Center)/QPKG


(intel86/amd64 TurboNAS, QNAP NAS model: TS-509/809/x39/x59/x69/x79)

- przewodnik instalacji -
2013, Silas Mariusz

[Notki informacyjne]
1 Natywna instalacja nie pozbawia użytkownika oryginalnego systemu QTS4 - dwa systemy pracują jednocześnie.
2 Na Debianie domyślnie uruchamia się odrębne SSH na porcie TCP 18022 z użytkownikiem 'root', połączenie pulpitu zdalnego po protokole RDP na porcie TCP 3389, panel zarządzania OpenMediaVault po serwerze Web (Apache) uruchomionym na porcie TCP 18080 i szyfrowanym 18443 oraz Ajenti na szyfrowanym porcie 18000.

[Instalacja]
Wykonaj poniższe dwa punkty, aby zainstalować natywnego Debiana:​
  1. Utwórz udział sieciowy o nazwie 'debpool' na pierwszym woluminie dysku. (HDA_DATA - dla konfiguracji z woluminem na pojedynczym dysku; lub MD0_DATA - dla konfiguracji RAID).
  2. Za pomocą klienta SSH (np. PuTTY) zaloguj się na serwer i wykonaj poniższe polecenia:
    (pamiętaj, aby w ustawieniach PuTTY, Window > Translation wybrać kodowanie UTF-8 w celu poprawnego wyświetlania znaków ASCII.)
    Bash:
    mkdir -p /share/Public/debby       # Utworz katalog tymczasowy
    cd /share/Public/debby             # Przejdz do utworzonego katalogu
     
    # Pobierz uprzednio przygotowany rootfs Debiana (intel86) dla QNAP TurboNAS
    wget http://pool.qnapclub.pl/projects/packages/debian/native/intel86/squeeze.tar.gz
    tar zxvf squeeze.tar.gz            # Rozpakuj zawartosc pliku
    rm -f squeeze.tar.gz               # Usun spakowany plik
     
    # Przenies Debiana do udzialu sieciowego debpool utworzonego w punkcie 1
    mv squeeze /share/debpool/
     
    # Wykasuj katalog tymczasowy
    cd ..
    rm -rf debby
     
    # Znajdz katalog w ktorym przechowywane sa paczki QPKG
    publicdir=`/sbin/getcfg Public path -f /etc/config/smb.conf`
    qpkgdir=`cd $publicdir && cd ../.qpkg/ && pwd`
     
    cd $qpkgdir                        # Przejdz do katalogu QPKG
     
    # Pobierz program uruchamiajacy Debiana i jego uslugi
    wget http://pool.qnapclub.pl/projects/packages/debian/native/intel86/debian6-qpkg.tar.gz
    tar zxvf debian6-qpkg.tar.gz       # Rozpakuj zawartosc pliku
    rm -f debian6-qpkg.tar.gz          # Usun spakowany
     
    # Podlinkuj program do uslug systemowych
    ln -sf $qpkgdir/debian6/debian6.sh /etc/init.d/debian6.sh
    ln -sf $qpkgdir/debian6/debian6.sh /etc/rcS.d/QS101debian6
    ln -sf $qpkgdir/debian6/debian6.sh /etc/rcK.d/QK101debian6
     
    # Dodaj program uruchamiajacy Debiana do aplikacji zainstalowanych
    export PATH="$PATH:/sbin"
    qpkgconf=/etc/config/qpkg.conf
    setcfg debian6 Name debian6 -f $qpkgconf
    setcfg debian6 Version "6.0.7" -f $qpkgconf
    setcfg debian6 Author "Silas Mariusz" -f $qpkgconf
    setcfg debian6 QPKG_File "debian6.qpkg" -f $qpkgconf
    setcfg debian6 Date "2013-09-03" -f $qpkgconf
    setcfg debian6 Shell "$qpkgdir/debian6/debian6.sh" -f $qpkgconf
    setcfg debian6 Install_Path "$qpkgdir/debian6" -f $qpkgconf
    setcfg debian6 WebUI "/" -f $qpkgconf
    setcfg debian6 Enable FALSE -f $qpkgconf
     
    # Przekopiuj ikony Debiana do systemu
    cp -af $qpkgdir/debian6/.qpkg_icon.gif /home/httpd/RSS/images/debian6.gif
    cp -af $qpkgdir/debian6/.qpkg_icon_80.gif /home/httpd/RSS/images/debian6_80.gif
    cp -af $qpkgdir/debian6/.qpkg_icon_gray.gif /home/httpd/RSS/images/debian6_gray.gif
     
    # Ustaw w Debianie haslo dla systemowego uzytkownikowi root (SSH, RDP, ...)
    # -- o haslo zostaniesz zapytany
    chroot /share/debpool/squeeze passwd root
     
    # Ustaw haslo dla panelu zarzadzania OpenMediaVault
    # -- w wyswietlonym menu wybierz pozycje "3 Change WebGUI password"
    chroot /share/debpool/squeeze omv-firstaid
     
    # Przelacz status wlaczenia (Enable) aplikacji na TRUE
    /etc/init.d/debian6.sh enable
     
    # To juz koniec. Uruchom Debiana :)
    /etc/init.d/debian6.sh start
    # Enjoy!
[Notki poinstalacyjne]
1 Aby zalogować się na pulpit zdalny protokołem RDP, w systemie Windows kliknij menu Start, przejdź do Programy > Akcesoria systemu i wybierz Podłączanie pulpitu zdalnego (%windir%\system32\mstsc.exe). Jako nazwę komputer podaj adres IP lub nazwę hosta serwera. Następnie kliknij przycisk Pokaż opcje, aby rozwinąć ustawienia i przejść do zakładki Ekran gdzie można zdefiniować rozmiar pulpitu zdalnego. Kliknij przycisk Podłącz, aby uruchomić sesję zdalną. Loguj się używając autoryzacji użytkowników systemu Debian (w tym root i zdeklarowanego hasła podczas instalacji).
2 Aby zalogować się na konsolę, czyli shell Debiana, uruchom klient połączeń SSH (np. PuTTY) i loguj się na port TCP 18022 przy użyciu użytkowników z systemu Debian (w tym root).
3 OpenMediaVault oraz Ajenti zostało zainstalowane wyłącznie w celach demonstracyjnych i może nie być w pełni funkcjonalne. Ponadto OpenMediaVault i Ajenti korzystają z własnych systemów zarządzania użytkownikami. Nazwa użytkownika administratora dla OpenMediaVault to 'admin' (hasło ustalone z konsoli przez omv-firstaid), natomiast dla Ajenti to 'root' a domyślne hasło to 'qnapclub.pl'.
4 OpenMediaVault dostępne jest na porcie 18080 (http://adres_IP:18080) a Ajenti na porcie szyfrowanym 18000 (https://adres_IP:18000).

[Automatyczne uruchamianie usług]
Wraz z uruchomieniem Debiana, uruchamiają się poniższe usługi, których programy kontrolne znajdują się w (/deb/squeeze)/etc/init.d:
Kod:
'clean-run-services'
'screen-cleanup'
'tmux-cleanup'
'dbus'
'smartmontools'
'hostname.sh'
'ifupdown'
'bind9'
'stunnel4'
'snmpd'
'ssh'
'apache2'
'proftpd'
'openmediavault'
'openmediavault-beep'
'collectd'
'postfix'
'rsync'
'x11-common'
'xrdp'
'transmission-daemon'
'munin-node'
'ntp'
'bitlbee'
'ircd-hybrid'
'lm-sensors'
'ajenti'
Aby edytować listę uruchamianych usług, edytuj plik: (/deb/squeeze)/env.init

[Screenshots]
Dostęp przez połączenie pulpitu zdalnego (RDP):
qnap_debian_native_x86_01.jpg qnap_debian_native_x86_02.jpg qnap_debian_native_x86_03.jpg qnap_debian_native_x86_04.jpg qnap_debian_native_x86_05.jpg qnap_debian_native_x86_06.jpg qnap_debian_native_x86_07.jpg qnap_debian_native_x86_08.jpg

Uruchomione usługi i procesy z poziomu konsoli:
qnap_debian_native_x86_09.jpg

OpenMediaVault:
qnap_debian_native_x86_10.jpg qnap_debian_native_x86_11.jpg qnap_debian_native_x86_12.jpg qnap_debian_native_x86_13.jpg

Ajenti:
qnap_debian_native_x86_14.jpg qnap_debian_native_x86_15.jpg
 
Ostatnio edytowane:
  • Lubię to
Reakcje: pawurb1978
Działa , super dzięki wielkie opracowałem wcześniej podobną ścieżkę to mi nie poszło ale teraz jest ok:eek:klaski:Jeszcze bym tylko spytał gdzie znajduje się plik żeby edytować co się odpala razem z debianem bo programy typu ircd-hybrid są mi zbędne ;>
 
  • Lubię to
Reakcje: Silas Mariusz
Dzięki.
Zacząłem procedurę instalacji (step by step wg instrukcji). Końcowa faza wykazuje jednak pewne niepokojące fakty:
Kod:
##--> Debian Native Environment Services Control Program ....... <--##
----------------------------------------------------------------------
      $ /env.init                      / Silas Mariusz silas@qnap.com
---------------------------------------/------------------------------
---- start services:BEG
----------------------------------------------------------------------
executing: clean-run-services -- executing: screen-cleanup -- executing: dbus -- Starting system message bus: dbus.
executing: smartmontools -- executing: hostname.sh -- executing: ifupdown -- Setting up networking....
executing: bind9 -- Starting domain name service...: bind9 failed!
executing: stunnel4 -- SSL tunnels disabled, see /etc/default/stunnel4
executing: snmpd -- Starting network management services: snmpd.
executing: ssh -- Starting OpenBSD Secure Shell server: sshd.
executing: apache2 -- Starting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.1.2 for ServerName
.
executing: proftpd -- Starting ftp server: proftpd.
executing: openmediavault -- Cleaning up...done.
executing: openmediavault-beep -- executing: collectd -- Starting statistics collection and monitoring daemon: collectd.
executing: postfix -- Starting Postfix Mail Transport Agent: postfix.
executing: rsync -- rsync daemon not enabled in /etc/default/rsync, not starting... ... (warning).
executing: x11-common -- executing: xrdp -- Starting Remote Desktop Protocol server : xrdpstart-stop-daemon: unable to start /usr/sbin/xrdp (Permission denied)
executing: transmission-daemon -- Starting bittorrent daemon: transmission-daemon.
executing: munin-node -- Starting Munin-Node: done.
executing: ntp -- Starting NTP server: ntpd.
executing: bitlbee -- Starting BitlBee IRC/IM gateway: bitlbee.
executing: ircd-hybrid -- Starting Hybrid 7 IRC Server: ircd-hybridstart-stop-daemon: unable to start /usr/sbin/ircd-hybrid (Permission denied)
executing: lm-sensors -- Setting sensors limits.
executing: ajenti -- Starting Ajenti:
started.
----------------------------------------------------------------------
---- start services:END
----------------------------------------------------------------------

Zwracam uwagę na błędy "Permission denied".
Zacząłem sobie trochę grzebać i z ręki wpiąłem się w chroot'a:
Kod:
[/] # chroot /share/debpool/squeeze
[\w] # pwd
/
[\w] # ls
bin  boot  build.tmp  dev  env.init  etc  export  home  lib  media  mnt  opt  proc  root  sbin  selinux  share  srv  sys  tmp  usr  var
[\w] # whoami
root
[\w] # su root

PLVL=1
Cannot find /proc/version - is /proc mounted?

/proc is empty (not mounted ?)

>>> Aliases
alias           chmod           alias           cpr
alias           df              alias           df1
alias           diff            alias           dsiz
alias           du              alias           env
alias           h               alias           inice
alias           j               alias           la
alias           lc              alias           lk
alias           llh             alias           lll
alias           lr              alias           lt
alias           lu              alias           lx
alias           mann            alias           n
alias           p               alias           path
alias           php             alias           pp
alias           ps1             alias           ps2
alias           resetw          alias           subash
alias           top             alias           tree
alias           updatedb        alias           who
alias           wtf

10/02   Aristotle dies of indigestion, 322 BC
10/02   Mohandas K. Gandhi born at Porbandar, Kathiawad, India, 1869
10/02   First robotics-based CAM, 1939
10/02   Beat Gaetzi <beat@FreeBSD.org> born in Zurich, Switzerland, 1980
10/02   Thurgood Marshall sworn as the first black Supreme Court Justice, 1967
10/02   Anniversary of Guinean Independence in Guinea
Cannot find /proc/version - is /proc mounted?

[2:0:29][root@NAS-PPS:not a tty][/]
#
# ps
Cannot find /proc/version - is /proc mounted?
Cannot find /proc/version - is /proc mounted?
Cannot find /proc/version - is /proc mounted?

[2:0:30][root@NAS-PPS:not a tty][/]
#

Brzydko to wygląda...

Na co teraz skierować uwagę?
 
Hmmm...
Problem w tym, że "po drodze" nie dodawałem nic od siebie - tylko twoja instrukcja.
Jest jednak minimalny progress, przynajmniej 'ps' działa, bo przy wcześniejszym
Kod:
chroot /share/debpool/squeeze
nie działał.
Teraz jest tak:
Kod:
[/] # chroot /deb/squeeze
[\w] # ps
  PID TTY          TIME CMD
22205 pts/6    00:00:00 sh
22219 pts/6    00:00:00 ps
24581 pts/6    00:00:00 sh
26023 pts/6    00:00:00 xrdp
30392 pts/6    00:00:45 java
30728 pts/6    00:00:26 dropbox
30742 pts/6    00:00:00 inotify_dropbox
30782 pts/6    00:00:00 inotifywait
30783 pts/6    00:00:00 inotify_dropbox
[\w] # /etc/init.d/xrdp status
Checking status of Remote Desktop Protocol server: xrdp apparently not running failed!
Checking status of RDP Session Manager: sesman apparently not running failed!
[\w] # /etc/init.d/xrdp start
Starting Remote Desktop Protocol server : xrdpstart-stop-daemon: unable to start /usr/sbin/xrdp (Permission denied)
[\w] # whoami
root
[\w] # cat /proc/version
Linux version 3.4.6 (root@NasX86-12) (gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)) #1 SMP Fri Jul 26 03:17:46 CST 2013
[\w] #
 
tar zxvf squeeze.tar.gz # Rozpakuj zawartosc pliku
U mnie na tym etapie gdzieś podczas rozpakowywania mam taki błąd:
squeeze/usr/src/linux-headers-2.6.32-5-686-bigmem/arch/x86/kernel/
squeeze/usr/src/linux-headers-2.6.32-5-686-bigmem/arch/x86/kernel/asm-offsets.s
squeeze/usr/src/linux-headers-2.6.32-5-686-bigmem/Module.symvers
squeeze/usr/src/linux-source-2.6.32.tar.bz2
gzip: inflate error 1
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
[/share/Public/debby] #
jechać dalej? Chyba nie, bo pewnie nie cały plik rozpakowany?
 
Sprawdź wolne miejsce, gdy jest aż za nadto pobieraj, aż się rozpakuje poprawnie, po pobraniu sprawdź wielkość pliku, i porównaj z poprzednim ewentualnie może gdzieś podana jest wielkość oryginalna - pozaglądaj. Prosiłem kiedyś SysOp-a o jakąś sumę kontrolną, pewno nie ma z czym porównać bo jeszcze nie zdążył wygenerować.
 
Faktycznie coś jest nie tak. Za każdym razem zatrzymuje się w innym miejscu:
squeeze/usr/lib/libgstfft-0.10.so.0.21.0
squeeze/usr/lib/libxklavier.so.16.0.0
squeeze/usr/lib/libcrypto.so.0.9.8
gzip: bad block type 3

tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

A miejsca na dysku na pewno jest bardzo dużo. Pobierany plik (pobierałem kilkakrotnie na różnych komputerach), zawsze ma 1.342.954.178 B.
 
Prosiłem kiedyś SysOp-a o jakąś sumę kontrolną, pewno nie ma z czym porównać bo jeszcze nie zdążył wygenerować.
Sysop dla armel'owego Ci zrobił :)
http://pool.qnapclub.pl/projects/packages/debian/native/armel/debiansqueezenwheezy.md5
Kod:
b5e68bea58db550956155addaa14a969  debiansqueezenwheezy.tar.gz

Brak checksumy trochę boli no ale cóż zrobić.
Darowanemu koniowi nie patrzy się w zęby :D
... dla intela nie ma :)
 
  • Lubię to
Reakcje: kaktus