Aller au contenu

Avoir Une Debian Compl


Messages recommandés

Bonjour,

Pour ceux que ça intéresse, voici la procédure que j'ai utilisé pour avoir une Debian complète et fonctionnelle sur mon DS413 (DSM 4.2).

Il faut pour ça, bien entendu, être connecté en telnet ou en ssh sous le compte root.

1 - télécharger et installer les pré-requis (tr et md5sum)

cd /tmp
wget http://ftp.fr.debian.org/debian/pool/main/c/coreutils/coreutils_8.5-1_powerpc.deb
ar x coreutils_8.5-1_powerpc.deb data.tar.gz
tar xvf data.tar.gz -C / ./usr/bin/tr ./usr/bin/md5sum
rm coreutils_8.5-1_powerpc.deb data.tar.gz

2 - télécharger et installer la dernière version de debootstrap

cd /tmp
mv /usr/share/debootstrap /usr/share/debootstrap.org
wget http://ftp.fr.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.26+squeeze1_all.deb
ar x debootstrap_1.0.26+squeeze1_all.deb data.tar.gz
tar xvf data.tar.gz -C /
rm debootstrap_1.0.26+squeeze1_all.deb data.tar.gz
(cd / ; tar cf - dev) | gzip -9 > /usr/share/debootstrap/devices.tar.gz

3 - Créer l'arborescence Debian (j'ai choisi dans mon cas la release wheezy)

debootstrap --arch powerpc wheezy /volume1/@debian
rm -rf /volume1/@debian/dev/*

4 - monter les file-system système du Syno sur Debian

mount -o bind /dev /volume1/@debian/dev
mount -o bind /dev/pts /volume1/@debian/dev/pts
mount -o bind /sys /volume1/@debian/sys
mount -o bind /proc /volume1/@debian/proc

5 - faire un chroot, et profiter de la Debian

chroot /volume1/@debian

Attention, le processeur du DS413 (Freescale P1022) le supporte pas l'instruction LWSYNC, ce qui provoque le plantage des programmes qui l'implémentent. Pour contourner ce problème, le plus simple est de remplacer l'instruction LWSYNC par SYNC qui est, ellle, supportée.

Pour avoir un système complètement opérationnel, j'ai créé le script init_debian qui se charge du paramétrage de la Debian, y compris lors de chaque reboot du Syno:


#! /bin/sh

LOCAL_DIR=$(dirname $0)

ERR_NOCNF=1
ERR_NOVAR=2

[ ! -f $LOCAL_DIR/debian.conf ] && { echo "ERROR: $LOCAL_DIR/debian.conf not found." >&2 ; exit $ERR_NOCNF ; }

. $LOCAL_DIR/debian.conf

for var in DIRECTORY INTERFACE IP GATEWAY NETMASK
do
   eval '[ "$DEBIAN_'$var'" == "" ] && { echo "ERROR: DEBIAN_$var variable not found in debian.conf" >&2 ; exit $ERR_NOVAR ; }'
done

echo
echo "Creating management scripts"
   echo "   /usr/local/bin/debian"
   cat <<-END | cut -d| -f2- > /usr/local/bin/debian
        |#! /bin/sh
        |
        |LOCAL_DIR=$(dirname $0)
        |ERR_NOCNF=1
        |ERR_NOVAR=2
        |
        |[ ! -f $LOCAL_DIR/debian.conf ] && { echo "ERROR: $LOCAL_DIR/debian.conf not found." >&2 ; exit $ERR_NOCNF ; }
        |. $LOCAL_DIR/debian.conf
        |[ "$DEBIAN_DIRECTORY" == "" ] && { echo "ERROR: DEBIAN_DIRECTORY variable not found in debian.conf" >&2 ; exit $ERR_NOVAR ; }
        |
        |[ $# -eq 0 ] && set - bash
        |
        |chroot $DEBIAN_DIRECTORY $@
        END

   echo "   /usr/local/bin/start_debian"
   cat <<-END | cut -d| -f2- > /usr/local/bin/start_debian
        |#! /bin/sh
        |
        |LOCAL_DIR=$(dirname $0)
        |ERR_NOCNF=1
        |ERR_NOVAR=2
        |
        |[ ! -f $LOCAL_DIR/debian.conf ] && { echo "ERROR: $LOCAL_DIR/debian.conf not found." >&2 ; exit $ERR_NOCNF ; }
        |. $LOCAL_DIR/debian.conf
        |[ "$DEBIAN_DIRECTORY" == "" ] && { echo "ERROR: DEBIAN_DIRECTORY variable not found in debian.conf" >&2 ; exit $ERR_NOVAR ; }
        |
        |echo "mounting filesystems :"
        |for fs in dev dev/pts proc sys
        |do
        |   mounted=$(mount | grep -i " $DEBIAN_DIRECTORY/$fs ")
        |   if [ "$mounted" = "" ]
        |   then
        |      echo "   mounting /$fs to $DEBIAN_DIRECTORY/$fs"
        |      mount -o bind /$fs $DEBIAN_DIRECTORY/$fs
        |   else
        |      echo "   $DEBIAN_DIRECTORY/$fs already mounted"
        |   fi
        |done
        |
        |echo
        |echo "Starting Services"
        |for svc in $(ls $DEBIAN_DIRECTORY/etc/init.debian/* 2>&-)
        |do
        |   service=$(basename $svc xxx)
        |   echo -n "   "
        |   chroot $DEBIAN_DIRECTORY /etc/init.debian/$service start
        |done
        END

   echo "   /usr/local/bin/stop_debian"
   cat <<-END | cut -d| -f2- > /usr/local/bin/stop_debian
        |#! /bin/sh
        |
        |LOCAL_DIR=$(dirname $0)
        |ERR_NOCNF=1
        |ERR_NOVAR=2
        |
        |[ ! -f $LOCAL_DIR/debian.conf ] && { echo "ERROR: $LOCAL_DIR/debian.conf not found." >&2 ; exit $ERR_NOCNF ; }
        |. $LOCAL_DIR/debian.conf
        |[ "$DEBIAN_DIRECTORY" == "" ] && { echo "ERROR: DEBIAN_DIRECTORY variable not found in debian.conf" >&2 ; exit $ERR_NOVAR ; }
        |
        |echo "Stopping Services"
        |for svc in $(ls -r $DEBIAN_DIRECTORY/etc/init.debian/* 2>&-)
        |do
        |   service=$(basename $svc xxx)
        |   echo -n "   "
        |   chroot $DEBIAN_DIRECTORY /etc/init.debian/$service stop
        |done
        |
        |echo
        |echo "Unmounting filesystemps"
        |for fs in dev/pts dev proc sys
        |do
        |   mounted=$(mount | grep -i " $DEBIAN_DIRECTORY/$fs ")
        |   if [ "$mounted" = "" ]
        |   then
        |      echo "   $DEBIAN_DIRECTORY/$fs not mounted"
        |   else
        |      echo "   umounting $DEBIAN_DIRECTORY/$fs"
        |      umount -l $DEBIAN_DIRECTORY/$fs
        |   fi
        |done
        END

   echo "   /usr/local/etc/rc.d/debian.sh"
   cat <<-END | cut -d| -f2- > /usr/local/etc/rc.d/debian.sh
        |#!/bin/sh
        |
        |case "$1" in
        |   start)   /usr/local/bin/start_debian ;;
        |   stop)    /usr/local/bin/stop_debian ;;
        |   restart) $0 stop ; sleep 1  ; $0 start ;;
        |   *)       echo "usage: $0 { start | stop | restart }" >&2
        |            exit 1
        |            ;;
        |esac
        END
echo
echo "Creating Debian System files"
   echo "   /root/.bashrc"
   cat <<-END | cut -d| -f2- > $DEBIAN_DIRECTORY/root/.bashrc
        |. /etc/profile
        |
        |if tput colors >&-
        |then
        |   export PS1='$(tput bold)$(tput setab 1)$(tput setaf 7)DEBIAN (w)#$(tput sgr0) '
        |else
        |   export PS1='DEBIAN (w)# '
        |fi
        |
        |export LS_OPTIONS='--color=auto'
        |eval "$(dircolors)"
        |alias ls='ls $LS_OPTIONS'
        |alias ll='ls $LS_OPTIONS -l'
        |alias l='ls $LS_OPTIONS -lA'
        END

   echo "   /etc/init.debian/S01Networking"
   [ ! -d $DEBIAN_DIRECTORY/etc/init.debian ] && mkdir $DEBIAN_DIRECTORY/etc/init.debian
   cat <<-END | cut -d| -f2- > $DEBIAN_DIRECTORY/etc/init.debian/S01Networking
        |#! /bin/bash
        |
        |echo "----- $(date) : $@" >>/var/log/S01etworking.log
        |
        |case $1 in
        |   start)  echo -n "Starting eth0:0   : " | tee -a /var/log/S01etworking.log
        |           ifdown --force eth0:0 2>&1 >>/var/log/S01etworking.log
        |           ifup eth0:0      2>&1 >>/var/log/S01etworking.log
        |           if [ "$(ifconfig eth0:0 2>&- | grep UP)" == "" ]
        |           then
        |              echo "FAILED, please check /var/log/S01etworking.log" | tee -a /var/log/S01etworking.log
        |              exit 1
        |           else
        |              echo "OK" | tee -a /var/log/S01etworking.log
        |              exit 0
        |           fi
        |           ;;
        |
        |   stop)   echo -n "Stopping eth0:0   : " | tee -a /var/log/S01etworking.log
        |           ifdown --force eth0:0 2>&1 >>/var/log/S01etworking.log
        |           if [ "$(ifconfig eth0:0 2>&- | grep UP)" == "" ]
        |           then
        |              echo "FAILED, please check /var/log/S01etworking.log" | tee -a /var/log/S01etworking.log
        |              exit 1
        |           else
        |              echo "OK" | tee -a /var/log/S01etworking.log
        |              exit 0
        |           fi
        |           ;;
        |
        |   restart)$0 stop
        |           $0 start
        |           ;;
        |
        |   status) ifconfig eth0:0
        |           ;;
        |
        |   *)      echo "Syntax: $0 start|stop|restart|status"
        |           exit 2
        |           ;;
        |esac
        END
   chmod 700 $DEBIAN_DIRECTORY/etc/init.debian/S01Networking

   echo "   /etc/resolv.conf"
   cp -p /etc/resolv.conf $DEBIAN_DIRECTORY/etc/resolv.conf

   echo "   /etc/hosts"
   echo "127.0.0.1      localhost" > $DEBIAN_DIRECTORY/etc/hosts

   echo "   /etc/apt/sources.list"
   cat <<-END | cut -d| -f2- > $DEBIAN_DIRECTORY/etc/apt/sources.list
        |deb http://ftp.debian.org/debian testing main contrib
        |deb-src http://ftp.debian.org/debian testing main contrib
        |
        |deb http://ftp.debian.org/debian/ wheezy-updates main contrib
        |deb-src http://ftp.debian.org/debian/ wheezy-updates main contrib
        |
        |deb http://security.debian.org/ wheezy/updates main contrib
        |deb-src http://security.debian.org/ wheezy/updates main contrib
        |
        |deb http://ftp.fr.debian.org/debian/ experimental main contrib non-free
        |deb-src http://ftp.fr.debian.org/debian/ experimental main contrib non-free
        END

   echo "   /etc/mtab"
   fs=$(df $DEBIAN_DIRECTORY | grep -v 1K-blocks | cut -d  -f1)
   fstyp=$(grep "^$fs " /etc/mtab | cut -d  -f3)
   echo $fs / $fstyp > $DEBIAN_DIRECTORY/etc/mtab

   echo "   /etc/fstab"
   echo $fs / $fstyp 0 0 > $DEBIAN_DIRECTORY/etc/fstab

   echo "   /etc/network/interfaces"
   cat <<-END | cut -d| -f2- > $DEBIAN_DIRECTORY/etc/network/interfaces
        |auto $DEBIAN_INTERFACE
        |iface $DEBIAN_INTERFACE inet static
        |       address $DEBIAN_IP
        |       netmask $DEBIAN_NETMASK
        |       gateway $DEBIAN_GATEWAY
        END

   echo "   /usr/local/bin/remove_lwsync"
   cat <<-END | cut -d| -f2- > $DEBIAN_DIRECTORY/usr/local/bin/remove_lwsync
        |#! /bin/sh
        |
        |echo "Removing LWSYNC opcode"
        |if [ $# -eq 0 ]
        |then
        |   dirs="/bin /lib /usr/bin /usr/lib /usr/local /sbin"
        |else
        |   dirs=$@
        |fi
        |
        |for dir in $dirs
        |do
        |   echo "   $dir"
        |   find $dir -type f -exec /usr/local/bin/remove_lwsync_from_file {} ;
        |done
        END
   chmod 700 $DEBIAN_DIRECTORY/usr/local/bin/remove_lwsync

   echo "   /usr/local/bin/remove_lwsync_from_file"
   cat <<-END | cut -d| -f2- > $DEBIAN_DIRECTORY/usr/local/bin/remove_lwsync_from_file
        #! /bin/sh
        |
        |temp=$(tempfile)
        |sed "s/x7cx20x04xac/x7cx00x04xac/g" $1 > $temp
        |if [ "$(diff -q $1 $temp 2>&1)" != ""  ]
        |then
        |   dd if=$temp of=$1 >&- 2>&-
        |   echo "      updated : $1"
        |fi
        |rm -f $temp
        END
   chmod 700 $DEBIAN_DIRECTORY/usr/local/bin/remove_lwsync_from_file

echo
debian /usr/local/bin/remove_lwsync

echo
start_debian

echo
echo "updating the aptitude cache"
   debian apt-get -y update >&-

echo
echo "Done"

Pour s'exécuter, il a besoin d'un fichier de paramétrage présent dans le même dossier que lui et appelé debian.conf et contenant les variables suivantes:

  • DEBIAN_DIRECTORY le nom du repertoire contenant Debian
  • DEBIAN_INTERFACE nom de l'interface réseau à créer
  • DEBIAN_IP adresse IP de l'interface Debian
  • DEBIAN_NETMASK masque réseau de l'interface Debian
  • DEBIAN_GATEWAY adresse IP de la gateway de l'interface Debian

à titre d'exemple:

DEBIAN_DIRECTORY=/volume1/@debian
DEBIAN_INTERFACE=eth0:0
DEBIAN_IP=192.168.0.200
DEBIAN_NETMASK=255.255.255.0
DEBIAN_GATEWAY=192.168.0.1

Trace d'exécution du script:


Creating management scripts
   /usr/local/bin/debian
   /usr/local/bin/start_debian
   /usr/local/bin/stop_debian
   /usr/local/etc/rc.d/debian.sh

Creating Debian System files
   /root/.bashrc
   /etc/init.debian/S01Networking
   /etc/resolv.conf
   /etc/hosts
   /etc/apt/sources.list
   /etc/mtab
   /etc/fstab
   /etc/network/interfaces
   /usr/local/bin/remove_lwsync
   /usr/local/bin/remove_lwsync_from_file

Removing LWSYNC opcode
   /bin
   /lib
   /usr/bin
      updated : /usr/bin/apt-cdrom
      updated : /usr/bin/apt-config
      updated : /usr/bin/apt-mark
      updated : /usr/bin/apt-get
      updated : /usr/bin/apt-extracttemplates
      updated : /usr/bin'/apt-sortpkgs
      updated : /usr/bin/apt-ftparchive
      updated : /usr/bin/aptitude-curses
   /usr/lib
      updated : /usr/lib/powerpc-linux-gnu/libapt-inst.so.1.5.0
      updated : /usr/lib/powerpc-linux-gnu/libapt-pkg.so.4.12.0
      updated : /usr/lib/powerpc-linux-gnu/libstdc++.so.6.0.17
      updated : /usr/lib/apt/solvers/apt
      updated : /usr/lib/apt/methods/gzip
      updated : /usr/lib/apt/methods/http
      updated : /usr/lib/apt/methods/cdrom
      updated : /usr/lib/apt/methods/copy
      updated : /usr/lib/apt/methods/ftp
      updated : /usr/lib/apt/methods/mirror
      updated : /usr/lib/apt/methods/gpgv
      updated : /usr/lib/apt/methods/rred
      updated : /usr/lib/apt/methods/file
      updated : /usr/lib/apt/methods/rsh
      updated : /usr/lib/libboost_iostreams.so.1.49.0
      updated : /usr/lib/libcwidget.so.3.0.0
      updated : /usr/lib/libept.so.1.aptpkg4.12
      updated : /usr/lib/rsyslog/imuxsock.so
      updated : /usr/lib/libxapian.so.22.5.0
   /usr/local
   /sbin

mounting filesystems :
   mounting /dev to /volume1/@debian/dev
   mounting /dev/pts to /volume1/@debian/dev/pts
   mounting /proc to /volume1/@debian/proc
   mounting /sys to /volume1/@debian/sys

Starting Services
   S01NetworkingStarting eth0:0   : OK

updating the aptitude cache

Done

Une fois exécuté, les fichiers suivants ont été créés:

  • Sur le Dyno
    • /usr/local/bin/start_debian permet de monter les file-system du Dyno sur Debian et de lancer les services Debian
    • /usr/local/bin/start_debian permet de stopper les services Debian et demonter les file-system du Dyno sur Debian
    • /usr/local/bin/debian permet de lancer une commande Debian depuis le syno avec chroot
    • /usr/local/etc/rc.d/debian.sh permet de faire un start_debian à chaque reboot du Syno
  • Sur Debian
    • /usr/local/bin/remove_lwsync_from_file permet de supprimer l'instruction LWSYNC dans un fichier
    • /usr/local/bin/remove_lwsync permet de supprimer l'instruction LWSYNC dans une arborescence

Pour qu'un service se lance sur Debian, il suffit de créer (ou linker) un script de démarrage dans le répertoire /etc/init.debian.

Voilà, j'espère que ça vous sera utile :-)

Modifié par faktor1
Lien vers le commentaire
Partager sur d’autres sites

Bonjour CoolRaoul,

Le premier avantage, c'est que ma procédure permet de choisir la version de Debian qui sera installée.

Le second avantage, c'est qu'elle permet de maîtriser ce qui est fait, plutôt que de simplement installer un SPK.

Ma procédure n'est pas le seule qui existe. Il y en a plein d'autres et même de meilleures que la mienne, et j'ai simplement voulu la partager :P

Modifié par faktor1
Lien vers le commentaire
Partager sur d’autres sites

Pour la version de Debian installée avec le SPK, si tu ne veux pas de la stable tu peux toujours mettre à jour ton sources.list pour updater vers une testing.

Je ne pense pas qu'appliquer une procédure permette de la comprendre.

Le SPK permet de :

  • Mettre à jour le chroot par DSM
  • Gérer des services chrootés par DSM sans avoir à se connecter en SSH (il faut quand même les installer à la main)
  • Conserver ses données lors d'une mise à jour
  • Tout installer/désinstaller en un clic

Si tu as des idées d'amélioration du SPK je suis prenneur. On peut par exemple mettre un wizard à l'installation qui demanderait la version de Debian souhaitée.

Tout est ici.

Lien vers le commentaire
Partager sur d’autres sites

  • 4 mois après...

Salut,

Petite question stupide (vu que j'ai jamais fait ça) on est d'accord que c'est pas comme si t'avais 2 os séparés, t'as accès à tout le contenu déjà présent sur DSM "depuis débian" ? (pour parler grossièrement)

Parce que ce procéder m’intéresse assez dans la mesure où ipkg me sors par les yeux et que je dl beaucoup avec uptobox et plowshare. Or ipkg propose une version de plowshare obsolète sans le module d'uptobox quand à Download Station.... ben faut un compte premium et encore la faut les link direct du serveur => chaintitude puissance 1000. Donc ce que je voudrais c'est avoir la bonne version de plowshare et mettre les données dans le dossier déjà prévu à cet effet.

Je voudrais juste une petite confirmation avant de me lancer ^^.

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Non, tu reste avec un seul OS (un seul et même kernel en mémoire). Par contre, tu te retrouves avec deux arborescences distinctes au niveau de l'exécution des commandes.

i.e. /bin du DSM et /bin du Debian en chroot sont deux répertoires distincts.

La mise à jour de l'un n'impacte pas l'autre :)

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
  • 2 mois après...
  • 3 semaines après...
  • 2 mois après...

En attendant ta réponse j'ai fait le ar sur mon portable puis j'ai tranféré le fichier data sur le répertoire /tmp

j'en suis rendu à l'étape

(cd / ; tar cf - dev) | gzip -9 > /usr/share/debootstrap/devices.tar.gz

et là erreur, mon NAS clignote bleu, plus moyen d'y accéder même après redémarrage à chaud....

Je suis désespéré :(

Modifié par flashoux
Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

Bonjour Flashoux,

La commande "ar" est fournie par ipkg. Elle est dans /volume1/@optware/bin.

N'hésites pas à me faire signe si tu as besoin de plus d'information.

Bonjour faktor1,

Merci beaucoup pour ce script magnifique et de trouver la solution pour LWSYNC!

Je ai suivi les commands mais j'ai quelques problèmes:

DiskStation> mv /usr/share/debootstrap /usr/share/debootstrap.org
mv: can't rename '/usr/share/debootstrap': No such file or directory

Ici j'ai continuer avec les prochaines commands.

DiskStation> (cd / ; tar cf - dev) | gzip -9 > /usr/share/debootstrap/devices.tar.gz
tar: dev/log: socket ignored
DiskStation> ls /usr/share/debootstrap/
devices.tar.gz  functions       scripts

Ici je vois "tar: dev/log: socket ignored", mai je pense que c'est OK par ce que le fichier devices.tar.gz est la.

DiskStation> debootstrap --arch powerpc wheezy /volume1/@debian
E: No pkgdetails available; either install perl, or build pkgdetails.c from source

Voici j'arrête..

J'ai aucune idée de faire quoi..

C'est vrai que toutes est fait sur le DSM par SSH (pas de virtual machine Debian nécessaire..)?

Si c'est finit. Comment est-ce que tu entres dans le Debian bash?

P.S. Excuse ma Francais mauvais. Je suis Flamand.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour tripkip,

Debootstrap a besoin de Perl. Le plus simple, c'est d'installer le package Perl de Synology.

Quand debootstrap aura installé Debian dans /volume1/@debian, il faut lancer init_debian pour tout paramétrer.

Puis, start_debian pour monter les file-systems (/dev, /proc, ...)

Puis debian pour entrer dedans.

N'hésites pas à me faire signe si tu as d'autres questions.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour tripkip,

Debootstrap a besoin de Perl. Le plus simple, c'est d'installer le package Perl de Synology.

Quand debootstrap aura installé Debian dans /volume1/@debian, il faut lancer init_debian pour tout paramétrer.

Puis, start_debian pour monter les file-systems (/dev, /proc, ...)

Puis debian pour entrer dedans.

N'hésites pas à me faire signe si tu as d'autres questions.

Merci, avec Perl le deboutstrap marcherait, mais maintenant j'ai une autre problème:

DiskStation> chroot /volume1/@debian
chroot: can't execute '/bin/ash': No such file or directory

Et /bin/ash existe:

DiskStation> /bin/ash


BusyBox v1.16.1 (2014-03-06 14:27:52 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/tmp # 

Lien vers le commentaire
Partager sur d’autres sites

En fait, la commande "chroot", sans plus de paramètre va exécuter le contenu de ta variable $SHELL

DiskStation> echo $SHELL
/bin/ash

Or, ash n'est pas disponible sous Debian.

tu peux spécifier le shell que tu veux lancer sous Debian à la commande chroot:

chroot /volume1/@debian /bin/bash

Si tu préfères, si tu as lancé le script init_debian que j'ai fourni, tu peux utiliser le script "debian" qui a été créé dans /usr/local/bin.

debian sans paramètre exécute bash

debian avec le nom d'une commande en paramètre lance cette commande sous debian

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

Salut,

Pour ajouter une pierre à l'édifice:

Pour un DS213+ :

J'ai installé le spk Debian Chroot de Diaoul sur mon syno, mais j'ai lutté avec aptitude et le problème de LWSYNC/SYNC. Cela m'a quand même évité de faire toute la manip précédant le cat de ton script d'init.

J'ai donc pris ton tuto (factor) et ton script , mais j'ai eu quelque soucis de syntaxe avec ce dernier, en effet, les espaces avant les balises de fin END de chaque cat empéchaient l'éxecution du script. Ca et le fait qu'il faille l'éxecuter avec : "bash ./init_debian.sh"

J'ai utilisé les variables suivantes dans debian.conf:

DEBIAN_DIRECTORY=/volume1/@appstore/debian-chroot/var/chroottarget

DEBIAN_INTERFACE=eth0:0

DEBIAN_IP=192.168.0.6

DEBIAN_NETMASK=255.255.255.0

DEBIAN_GATEWAY=192.168.0.1

il a fallut recopier le debian.conf dans le usr/local/bin du syno pour que les scripts créés soit fonctionnels.(après l'éxecution du script d'init.

J'ai également ajouter un alias dans mon .bashrc de mon syno :

alias debstart=chroot /volume1/@appstore/debian-chroot/var/chroottarget /bin/bash

car avec la commande debian de ton script je n'ai pas le prompt que je voulais en entrant dans debian, mais je vais creuser...

avec ca j'ai put mettre a jour aptitude impeccablement ! ...et passer a l'installation de gateone...

Merci pour le script en tout cas :)

Par contre je me demandais lintérêt d'avoir une interface ethernet dans la debian, et donc une ip supplémentaire dans mon réseau local?

Modifié par trixo
Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

Bonjour a tous,

Je viens d installer le chroot par le spk sur mon syno et tout marche bien. J ai aussi installer ssh et il tourne bien dans le syno. Cependant j ai besoin de votre aide

1. Comment acceder directement au chroot par ssh? J ai changé le port mais le reste je ne sais pas faire. quel mot de passe faut il utiliser.

2. Quels sont les autres services a installer a part ssh?

3. J ai une application qui tourne sous la forme /usr/local/bin/ XXXXXXXXX, comment la configuerer pour qu il tourne de facon permanante meme apres redemarage?

Merci de votre aide

Lien vers le commentaire
Partager sur d’autres sites

Je viens d installer le chroot par le spk sur mon syno et tout marche bien. J ai aussi installer ssh et il tourne bien dans le syno. Cependant j ai besoin de votre aide

Toi tu va pouvoir m'aider (donnant donnant si j'avance!): j'installé le spk juste pour voir (et dans l'objectif de peut-être pouvoir t'aider) mais comment fait-on ensuite?

Lien vers le commentaire
Partager sur d’autres sites

Une fois le spk installé tu accede par ssh dnas ton syno avec root et le mot de passe de ton root pour le sino.

ensuite tu tapes la cmd suivante qui t ammene dans ton chroot: /var/packages/debian-chroot/scripts/start-stop-status chroot

Et la tu fais ce qui est dit dans la premiere page du spk en ce qui conscerne les locales et le reste.

Ensuite pour installer le SSH sur le chroot comme indiqué dans l'aide de DSM,

Serveur SSH

  1. Installer du serveur SSH : aptitude install ssh
  2. Ensuite tu modifies le fichier de configuration : /etc/ssh/sshd_config afin de changer le port et d'autres éléments si nécessaire
  3. Et tu retourne dans l interface du syno dans le chroot et tu cliques sur Ajouteret mettre le nom SSHD, le script de lancement /etc/init.d/ssh et la commande de statut ps -p $(cat /var/run/sshd.pid).

Voila ou j en suis et la je suis bloqué en ce qui concerne les allias et les autres service a rajouter, les noms d utilisateur et les mots de passe.

Merci d avoir reégit au poste.

Lien vers le commentaire
Partager sur d’autres sites

Une fois le spk installé tu accede par ssh dnas ton syno avec root et le mot de passe de ton root pour le sino.

ensuite tu tapes la cmd suivante qui t ammene dans ton chroot: /var/packages/debian-chroot/scripts/start-stop-status chroot

ce qui me donne:

fserv> /var/packages/debian-chroot/scripts/start-stop-status chroot
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.utf8)

j'ai alors essayé:

fserv> env LANG=C LC_ALL=C /var/packages/debian-chroot/scripts/start-stop-status  chroot

Ce qui semble aller dans le bon sens:

env LANG=C LC_ALL=C /var/packages/debian-chroot/scripts/start-stop-status
  chroot
root@fserv:/#

mais c'est pas encore gagné:

root@fserv:/# mount
warning: failed to read mtab
root@fserv:/# df
df: cannot read table of mounted file systems: No such file or directory
root@fserv:/# ps
Error, do this: mount -t proc proc /proc 

Et la tu fais ce qui est dit dans la premiere page du spk en ce qui conscerne les locales et le reste.

Euh ... que doit-on comprendre exactement par la "premiere page du spk " ???

Ensuite pour installer le SSH sur le chroot comme indiqué dans l'aide de DSM,

Dans l'aide de *DSM* tu es bien sur???

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Quand tu vas dans la premiere page du spk il y a comment installer les locales et timezone et d autres chose que je ne comprend pas moi meme, la seule chose qui change c est la facon d acceder au chroot. Au lieu de /usr/local/etc/rc.d/debian-chroot.sh chroot tu utilises /var/packages/debian-chroot/scripts/start-stop-status chroot pour acceder au chroot et ca ca se trouve dans l aide du chroot que tu accedes dans l aide du syno par l interface.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.