HanG321 Blog
Be Shine, Be Smile, Be Wild
  • Home
  • Blog
    • 好文閱讀 readings
    • 生活記事 diary
    • 時事評論 commentary
    • 科技資訊 technology
    • 電腦編程 programming
    • 金融財經 finance
    • 音樂電影 music/movie
  • About

Debian Chroot on DSM

August 16, 2014|chroot, Debian, DSM, XPEnology|科技資訊4
Home » Blog » 科技資訊 » Debian Chroot on DSM
Debian Chroot on DSM

Use Debian chroot instead of ipkg (optware) on DSM 5.0. Here is a installation notes of XPEnology on HP N36L

Prerequisite:

add custom source:  Package Centre > Settings > Package Sources

Name: SynoCommunity
Location:  https://synocommunity.com/packages 

Readme:

https://github.com/SynoCommunity/spksrc/blob/develop/spk/debian-chroot/src/app/help/enu/index.html

Installation:

– required python on SynoCommunity, DSM default python not OK.

– select Debian Chroot and click install

– after installation completed, ssh to DSM as root

Shell
1
2
3
root@diskstation> /var/packages/debian-chroot/scripts/start-stop-status chroot
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.utf8)
root@diskstation:/#

– now under chroot

Shell
1
2
3
4
5
6
7
8
9
##backup and update source list. e.g. from France to Australia
##see https://www.debian.org/mirror/list
sed -i.`date +%Y%m%d` 's/fr.debian.org/au.debian.org/g' /etc/apt/sources.list
aptitude update
aptitude upgrade
aptitude install locales
dpkg-reconfigure locales
dpkg-reconfigure tzdata
aptitude install less vim curl rsync screen openssh-server

– enable home for users: Control Panel > User > Advance, “Enable user home services”, Apply.
ls -al /var/services/homes  symbolic link updated and pointed correctly

– some additional directories want to be mount by startup script

Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# diff -u /var/packages/debian-chroot/scripts/start-stop-status
--- start-stop-status.org
+++ start-stop-status
@@ -20,6 +20,16 @@
         grep -q "${CHROOTTARGET}/dev " /proc/mounts || mount -o bind /dev ${CHROOTTARGET}/dev
         grep -q "${CHROOTTARGET}/dev/pts " /proc/mounts || mount -o bind /dev/pts ${CHROOTTARGET}/dev/pts
 
+        grep -q "${CHROOTTARGET}/home " `realpath /var/services/homes` || mount -o bind `realpath /var/services/homes` ${CHROOTTARGET}/home
+
+        [ ! -d ${CHROOTTARGET}/volume2 ] && mkdir -p ${CHROOTTARGET}/volume2
+        grep -q "${CHROOTTARGET}/volume2 " /volume2 || mount -o bind /volume2 ${CHROOTTARGET}/volume2
+
         # Start all services
         ${INSTALL_DIR}/app/start.py
     fi
@@ -35,6 +45,11 @@
     umount ${CHROOTTARGET}/dev
     umount ${CHROOTTARGET}/sys
     umount ${CHROOTTARGET}/proc
+
+    umount ${CHROOTTARGET}/home
+    umount ${CHROOTTARGET}/volume2
}
 
daemon_status ()

– setup users on debian domain

Shell
1
2
3
4
5
6
## find user id
id -u username
id -g username
 
## Debian domain. XXXX YYYY is the id value
adduser username -uid XXXX --gid YYYY --home /home/username

– change Port form 22 to 2222, so Synology still using default port 22, Debian domain will use 2222 port

Shell
1
2
cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.`date +%Y%m%d`
vim /etc/ssh/sshd_config

–  (optional) create share folder via UI, e.g. “bridge”. Later use for packages manually install and share across Debian and Synology (e.g. maven)

Shell
1
2
# on both Debian domain and Synology domain, create symbolic link to both
ln -s /volume2/bridge /usr/local/bridge

– config profile

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#on Debian domain
#file name is unimportant, only required as *.sh. number for ordering only.
vim /etc/profile.d/S20_java.sh
  # copy-and-paste from Synology /etc/profile
  PATH=$PATH:/volume2/@appstore/JavaManager/Java/bin # Synology Java Manager Package
  PATH=$PATH:/volume2/@appstore/JavaManager/Java/jre/bin # Synology Java Manager Package
  JAVA_HOME=/volume2/@appstore/JavaManager/Java/jre # Synology Java Manager Package
  CLASSPATH=.:/volume2/@appstore/JavaManager/Java/jre/lib # Synology Java Manager Package
  LANG=en_US.utf8 # Synology Java Manager Package
  export CLASSPATH PATH JAVA_HOME LANG # Synology Java Manager Package
  #EOF
 
# enable color for ls and PS1
vim /etc/profile.d/S01_allusers.sh
  export LS_OPTIONS='--color=auto'
  eval "`dircolors`"
  alias ls='ls $LS_OPTIONS'
  alias ll='ls $LS_OPTIONS -la'
  alias l='ls $LS_OPTIONS -lA'
 
  if [ "$BASH" ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '
    if [ -f ~/.bashrc ]; then
      . ~/.bashrc
    fi
  fi
  #EOF
 
source /etc/profile && source /root/.profile
# verify
java -version

– ~/.profile  , different PS1 for both Synology and Debian ssh login

.profile
Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
  . "$HOME/.bashrc"
    fi
fi
 
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi
 
if [ ! -r /etc/debian_chroot ]; then
  PS1='\u@\h \W \$ '
fi

– (optional) on Synology domain, edit /etc/profile as well:  PS1='\u@\h \W \$ '

Final

– ssh username@diskstation   for original synology ash shell. Or
– ssh -p 2222 username@diskstation  for debian bash shell

reference
  • https://wiki.debian.org/chroot
  • https://sites.google.com/a/courville.org/courville/home/synology-debian-chroot
  • https://juju.net.nz/michaelh/notes/ds123.html
August 4, 2017 user

Related Posts

  • XPEnology DSM 6.1
    XPEnology DSM 6.1October 12, 2017
  • convert .mkv to .mp4 without transcoding
    convert .mkv to .mp4 without transcodingOctober 3, 2016
  • Debian chroot on DSM 5.2
    Debian chroot on DSM 5.2June 9, 2015

Popular Posts

  • Install XPEnology (DSM) 5.1 on ESXi 6 (HP MicroServer Gen 8)
    Install XPEnology (DSM) 5.1 on ESXi 6 (HP MicroServer Gen 8)June 8, 2015
  • assembly
    assemblyFebruary 11, 2006
  • 呢幾日個blogger 有問題….
    呢幾日個blogger 有問題….October 28, 2004
← MySql 中文亂碼 utf8 latin1
Servers Ultimate Pro (Free Today) →

4 Responses to Debian Chroot on DSM

  • install ipkg on DSM 5.0 | HanG321 Blog August 21, 2014

    […] ignore & don’t use ipkg. it’s gone after upgrade and packages too old. I used Debian-Chroot from custom package provider […]

    Reply
  • 1234567890 January 6, 2015

    Why did you grep in /volume2 instead of in /proc/mounts?

    – grep -q “${CHROOTTARGET}/volume2 ” /volume2 || mount -o bind /volume2 ${CHROOTTARGET}/volume2

    + grep -q “${CHROOTTARGET}/volume2 ” /proc/mounts || mount -o bind /volume2 ${CHROOTTARGET}/volume2

    Reply
  • Omer April 18, 2015

    Thank you very much, this post has been very helpful!

    Reply
  • Debian chroot on DSM 5.2 | HanG321 Blog June 9, 2015

    […] similar to previous blog: http://35.233.158.97/2014/08/16/debian-chroot-on-dsm/ […]

    Reply

Leave a Reply to 1234567890 Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.




最新文章 Recent Posts

  • Serverless Cloud Run Development: Challenge Lab
  • ionic 4: capacitor & pwa
  • Open file limit of tomcat and mysql in Linux server
  • avoid subquery in mysql update statement
  • hacktoberfest

最新留言 Recent Comments

  • admin on LikeCoin
  • Edmond on LikeCoin
  • John Smith on Install macOS High Sierra on VMware
  • admin on Install macOS High Sierra on VMware
  • nana on Install macOS High Sierra on VMware




熱門文章 Popular Posts

  • Install XPEnology (DSM) 5.1 on ESXi 6 (HP MicroServer Gen 8)
    Install XPEnology (DSM) 5.1 on ESXi 6 (HP MicroServer Gen 8) June 8, 2015
  • 呢幾日個blogger 有問題….
    呢幾日個blogger 有問題…. October 28, 2004
  • assembly
    assembly February 11, 2006
  • 新工作
    新工作 January 6, 2009
  • 嫁人要嫁工程師
    嫁人要嫁工程師 April 27, 2006

標籤雲 Tag Cloud

CentOS Character chroot Cluster crash cryptography DD-WRT debug Domino DSM Dual Core DWA email ESXi GCP git google HylaFax IE Java Javascript JRE LikeCoin Linux log LotusScript mint MX MySQL nginx PKI PowerShell Qwiklabs srt telent VMware vpn vSphere WinXP wordpress XPEnology 專欄 網絡資訊 選股 風帆

日曆 Calendar

August 2014
M T W T F S S
  « Jul   Sep »  
 123
45678910
11121314151617
18192021222324
25262728293031

Follow Me

Follow Us on RSSFollow Us on TwitterFollow Us on YouTube

文章存檔 Archives

Copyright © 2004-2021 hang321.net. All Rights Reserved