meta données pour cette page
  •  

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
nslu2:default [2012/08/11 10:24]
ztrulphcs
nslu2:default [2018/04/16 18:45] (Version actuelle)
ztrulphcs [setuid/setgid busybox] mise en forme
Ligne 265: Ligne 265:
 === installation du disque/de la clef sur le slug === === installation du disque/de la clef sur le slug ===
  
-Il suffit alors de brancher le disque sur le slug et de configurer ce dernier pour qu'il utilise le disque dur au prochain reboot. +Il suffit alors de brancher le disque sur le slug et de configurer ce dernier pour qu'il utilise le disque dur au prochain reboot. lorsqu'on branche la clef/le disque, le linux embarqué va monter les périphériques automatiquement. Je les démonte d'abord avec 
-Voir http://www.nslu2-linux.org/wiki/OpenSlug/InitialisingOpenSlug et http://www.nslu2-linux.org/wiki/OpenSlug/InitialisingDisks .+  umount /dev/sda1 
 +  umount /dev/sda3 
 + 
 +puis j'utilise turnup pour initialiser le périphérique qui va servir au prochain boot. Voir http://www.nslu2-linux.org/wiki/OpenSlug/InitialisingOpenSlug et http://www.nslu2-linux.org/wiki/OpenSlug/InitialisingDisks .
  
 <cli> <cli>
-root@slug # turnup -i /dev/sda1 -t ext3+root@slug # turnup disk  -i /dev/sda1 -t ext3
 </cli> </cli>
 ou, pour une clef usb ou, pour une clef usb
Ligne 286: Ligne 289:
 ++++ ++++
 Puis reboot. Puis reboot.
 +
 +au reboot, bonne surprise, la partition d'échange <<//swap//>> est prise en compte sans avoir rien à faire.
  
  
Ligne 478: Ligne 483:
  
 ++++Détails dans ce message de http://lists.busybox.net/pipermail/busybox/2004-May/011551.html| ++++Détails dans ce message de http://lists.busybox.net/pipermail/busybox/2004-May/011551.html|
 +<file>
 [BusyBox] Got /etc/busybox.conf SUI SGID working at last [BusyBox] Got /etc/busybox.conf SUI SGID working at last
 gerald.bonne at axa.be gerald.bonne at axa.be gerald.bonne at axa.be gerald.bonne at axa.be
Ligne 544: Ligne 550:
 An HTML attachment was scrubbed... An HTML attachment was scrubbed...
 URL: http://busybox.net/lists/busybox/attachments/20040507/c2f90fdb/attachment.htm URL: http://busybox.net/lists/busybox/attachments/20040507/c2f90fdb/attachment.htm
 +</file>
 ++++ ++++
  
Ligne 1124: Ligne 1130:
  
 ==== installation de cups ==== ==== installation de cups ====
 +
 +Cups est le système de gestion des imprimantes qui va permettre de partager par réseau une imprimante installée sur le pot usb du NSLU2.
  
 Au départ, c'est facile Au départ, c'est facile
Ligne 1141: Ligne 1149:
   Linux* | *BSD* | Darwin*)   Linux* | *BSD* | Darwin*)
 - pid=`ps ax | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'` - pid=`ps ax | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'`
-+ pid=`busybox ps w | awk '$5 ~ /cupsd$/ {print $1}'`++ pid=`busybox ps w | awk '$5 ~ /\/cupsd$/ { print $1 }'`
   ;;   ;;
   *)   *)
   pid=""   pid=""
 </file> </file>
 +On peut maintenant démarrer le service d'impression cups :
 +  /etc/init.d/cups start
 +
 +Ensuite, il faut configurer un peu cups. En effet, par défaut, les imprimantes gérées par cups ne sont pas partagées sur le réseau !! Pour changer cela, il faut un navigateur (ou savoir éditer le fichier ''/etc/cups/cupsd.conf''). Mais l'interface web est elle aussi restreinte au NSLU2. Donc pas moyen de configurer cups sauf à avoir un navigateur en local sur le slug avec affichage distant... Un peu lourd. Solution : Depuis mon PC sous linux, je créee un tunnel ssh du port 1631 vers le port local 631 de cups. Ensuite depuis mon PC sous linux, j'utilise un navigateur pointé vers ''%%http://127.0.0.1:1631/%%'' pour entrer en contact avec le cups du slug. Là, dans l'interface d'administration je règle le partage d'imprimante. Quand cups demande un nom et un mote de passe, il faut mettre ''root'' et le mot de passe de root. Le navigateur est ensuite redirigé vers un URL foireux. C'est pas grave, le boulot est fait, et on peut toujours revenir à cups par l'URL indiqué plus haut...
 +  * <cli>
 +  moi@monpc ~ $ ssh -L 1631:127.0.0.1:631 slug
 +</cli>
 +  * \\ {{:nslu2:nslu2-config-cups.png?direct&300|}}
 +  * \\ {{:nslu2:nslu2-config-cup-admin-share-printer.png?direct&300|}}
 +  * \\ {{:nslu2:nslu2-config-cups-root-pasword.png?direct&300|}}
 +  * ++fichier «/etc/cups/cupsd.conf» qui en résulte|<file conf cupsd.conf>
 +LogLevel info
 +SystemGroup sys root
 +# Allow remote access
 +Port 631
 +Listen /var/run/cups/cups.sock
 +# Share local printers on the local network.
 +Browsing On
 +BrowseOrder allow,deny
 +BrowseAddress @LOCAL
 +DefaultAuthType Basic
 +<Location />
 +  # Allow shared printing...
 +  Order allow,deny
 +  Allow @LOCAL
 +</Location>
 +<Location /admin>
 +  Encryption Required
 +  Order allow,deny
 +  Allow localhost
 +</Location>
 +<Location /admin/conf>
 +  AuthType Basic
 +  Require user @SYSTEM
 +  Order allow,deny
 +  Allow localhost
 +</Location>
 +<Policy default>
 +  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job>
 +    Require user @OWNER @SYSTEM
 +    Order deny,allow
 +  </Limit>
 +  <Limit Pause-Printer Resume-Printer Set-Printer-Attributes Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Add-Printer CUPS-Delete-Printer CUPS-Add-Class CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default>
 +    AuthType Basic
 +    Require user @SYSTEM
 +    Order deny,allow
 +  </Limit>
 +  <Limit Cancel-Job CUPS-Authenticate-Job>
 +    Require user @OWNER @SYSTEM
 +    Order deny,allow
 +  </Limit>
 +  <Limit All>
 +    Order deny,allow
 +  </Limit>
 +</Policy>
 +</file>++
 +    * permissions du fichier<cli>
 +root@slug:/etc/cups # ll cupsd.conf
 +-rw-r-----    1 root     lp           1482 Aug 12 11:51 cupsd.conf
 +root@slug:/etc/cups # chown root:lp /etc/cups/cupsd.conf
 +root@slug:/etc/cups # chmod 640 /etc/cups/cupsd.conf
 +root@slug:/etc/cups # /etc/init.d/cups restart
 +/etc/init.d/cups: line 232: echo_success: not found
 +cups: restarted scheduler.
 +schpluntz:/etc/cups# 
 +</cli>
 +
 +=== Installation d'une imprimante ===
  
 Ensuite, il faut installer une imprimante... Comme cette imprimante sera reliée par usb, il faut avant tout s'assurer que le noyau a bien le pilote (comprendre le module) permettant de causer aux imprimantes usb. Ensuite, il faut installer une imprimante... Comme cette imprimante sera reliée par usb, il faut avant tout s'assurer que le noyau a bien le pilote (comprendre le module) permettant de causer aux imprimantes usb.
Ligne 1173: Ligne 1249:
 Et voilà ! cups causera avec l'imprimante par le canal nommé ''%%usb://HP/LaserJet%201320%20series%%'' Et voilà ! cups causera avec l'imprimante par le canal nommé ''%%usb://HP/LaserJet%201320%20series%%''
  
-Ayant récupéré le PPD de l'iprimante sur http://www.cups.org/, je peux installer l'imprimante de cette manière :+Ayant récupéré le PPD de l'iprimante sur http://www.cups.org/, je le francise en indiquant que la taille par défaut est A4 et pas letter. Mon imprimante et réglée comme ça d'ailleurs... 
 + 
 +Voilà la commande à passer pour modifier le fichier ppd. Cette commande devrait fonctionner pour à peu près n'importe quel fichier PPD. 
 +<cli> 
 +root@slug # sed -i -e '/Default.*: *LETTER/s/LETTER/A4/' 
 +        -e '/Default.*: *Letter/s/Letter/A4/' 
 +        -e '/Default.*: *letter/s/letter/a4/' 
 +        /tmp/HP_LaserJet_1320_series.ppd 
 + 
 +</cli> 
 +Et voilà le résultat : 
 +<file diff> 
 +--- hpc1320s.ppd Sat Aug 11 23:12:35 2012 
 ++++ HP_LaserJet_1320_series.ppd Sat Aug 11 23:18:01 2012 
 +@@ -155,7 +155,7 @@ 
 + *%------------------------------------------------------------------ 
 + *OpenUI *PageSize: PickOne 
 + *OrderDependency: 30 AnySetup *PageSize 
 +-*DefaultPageSize: LETTER 
 ++*DefaultPageSize: A4 
 + *PageSize LETTER/Letter:
 +     <</DeferredMediaSelection true /PageSize [612 792] /ImagingBBox null /MediaClass null>> setpagedevice" 
 + *End 
 +@@ -268,7 +268,7 @@ 
 + *%------------------------------------------------------------------ 
 + *OpenUI *PageRegion:  PickOne 
 + *OrderDependency: 30 AnySetup *PageRegion 
 +-*DefaultPageRegion: LETTER 
 ++*DefaultPageRegion: A4 
 + *PageRegion LETTER/Letter:
 +     <</DeferredMediaSelection true /PageSize [612 792] /ImagingBBox null /MediaClass null>> setpagedevice" 
 + *End 
 +@@ -369,7 +369,7 @@ 
 + *%-------------------------------------------------------------------------- 
 + *% The following entries provide information about specific paper keywords. 
 + *%-------------------------------------------------------------------------- 
 +-*DefaultImageableArea: LETTER 
 ++*DefaultImageableArea: A4 
 + *ImageableArea LETTER/Letter:                                 "12.00 12.12 599.88 779.90" 
 + *ImageableArea EXECUTIVE/Executive:                             "12.00 12.12 509.88 743.90" 
 + *ImageableArea LEGAL/Legal:                                     "12.00 12.12 599.88 995.90" 
 +@@ -406,7 +406,7 @@ 
 + *%-------------------------------------------------------------------------- 
 + *% These provide the physical dimensions of the paper (by keyword) 
 + *%-------------------------------------------------------------------------- 
 +-*DefaultPaperDimension: LETTER 
 ++*DefaultPaperDimension: A4 
 + *PaperDimension LETTER/Letter:                              "612 792" 
 + *PaperDimension EXECUTIVE/Executive:                      "522 756" 
 + *PaperDimension LEGAL/Legal:                              "612 1008" 
 +</file> 
 +Je peux maintenant installer l'imprimante de cette manière :
 <cli> <cli>
 root@slug # lpadmin -p "lj1320" -E \ root@slug # lpadmin -p "lj1320" -E \
Ligne 1184: Ligne 1311:
 root@slug # cupsenable lj1320 root@slug # cupsenable lj1320
 </cli> </cli>
 +
 ==== installation d'un compilateur ==== ==== installation d'un compilateur ====
  
-Pour compiler une bricole ou deux pour le slug, pas besoin d'installer tout un environnement de cross compilation sur un linux. On peut installer quelques paquets de développement sur le slug. mais c'est vraiment pour de petites choses.+Pour compiler une bricole ou deux pour le slug, pas besoin d'installer tout un environnement de cross compilation sur un linux. On peut installer quelques paquets de développement sur le slug. mais c'est vraiment pour de petites choses (normalement).
  
-<cli>+  * Le minimum pour développer en C<cli>
 root@schpluntz:~# opkg install gcc gcc-symlinks libc6-dev cpp cpp-symlinks binutils-dev root@schpluntz:~# opkg install gcc gcc-symlinks libc6-dev cpp cpp-symlinks binutils-dev
 +</cli>
 +  * Et pour développer en C+%%+%%<cli>
 +root@schpluntz:~# opkg install g++ g++-symlinks libstdc++-dev
 </cli> </cli>
  
Ligne 1546: Ligne 1677:
  
   - Tout ce qui est interne passe (mon réseau interne est 192.168.0.0/16)   - Tout ce qui est interne passe (mon réseau interne est 192.168.0.0/16)
 +  - Tout de qui vient de la boucle locale passe (127.0.0.1/16)
   - seuls 2 ou trois ports de l'extérieurs passent. Je laisse rentrer ssh (22) et https (443)   - seuls 2 ou trois ports de l'extérieurs passent. Je laisse rentrer ssh (22) et https (443)
   - les paquets réseau en rapport avec une connexion connue peuvent passer. Ça permet d'ouvrir des connexions depuis la machine vers l'extérieur. sans cette règle on ne peut plus se connecter à quoi que ce soit vers l'extérieur.   - les paquets réseau en rapport avec une connexion connue peuvent passer. Ça permet d'ouvrir des connexions depuis la machine vers l'extérieur. sans cette règle on ne peut plus se connecter à quoi que ce soit vers l'extérieur.
Ligne 1562: Ligne 1694:
 <cli> <cli>
 root@slug # iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT root@slug # iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT
 +root@slug # iptables -A INPUT -s 127.0.0.1/16 -j ACCEPT
 root@slug # iptables -A INPUT -p tcp -m multiport --dports 22,443 -j ACCEPT root@slug # iptables -A INPUT -p tcp -m multiport --dports 22,443 -j ACCEPT
 root@slug # iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT root@slug # iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
Ligne 1650: Ligne 1783:
 /usr/sbin/iptables-save /usr/sbin/iptables-save
 root@slug # iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT root@slug # iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT
 +root@slug # iptables -A INPUT -s 127.0.0.1/16 -j ACCEPT
 root@slug # iptables -A INPUT -p tcp -m multiport --dports 22,443 -j ACCEPT root@slug # iptables -A INPUT -p tcp -m multiport --dports 22,443 -j ACCEPT
 root@slug # iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT root@slug # iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
Ligne 1724: Ligne 1858:
   - Édition de ''/etc/ssh/sshd_config'' : Ajout vers le début des deux lignes <file txt>Port 22   - Édition de ''/etc/ssh/sshd_config'' : Ajout vers le début des deux lignes <file txt>Port 22
 Port 6547 Port 6547
-</file>+</file> On peut le faire comme ça <cli> 
 +root@slug # sed -i -e '/Port 22/{ 
 +> s/.*/Port 22/ 
 +> a\ 
 +> Port 6547 
 +> }' /etc/ssh/sshd_config 
 +root@slug #  
 +</cli>
   - redémarrage de sshd   - redémarrage de sshd
   - Ajout d'une règle iptables qui laisse passer le port 6547 juste avant la règle qui laisse passer le port 22   - Ajout d'une règle iptables qui laisse passer le port 6547 juste avant la règle qui laisse passer le port 22