Auteur Topic: Mounten op een simpeler wijze dan via de prompt  (gelezen 5276 keer)

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 2.007
Mounten op een simpeler wijze dan via de prompt
« Gepost op: 28 oktober 2008, 16:44:21 »
Mounten kan op een simpeler wijze dan via de prompt middels deze 3rd party app.
Je kan directories mounten (bind), dus bv. de root-directory in een share mounten. Je kan ook via loop-Device (iso-images) mounten... Helaas werkt dat nou net niet op mijn CS...
Ook het mounten van partitities van een externe disk is ingebouwd. Eventueel moet je de aanduidingen /dev/sdk1 .... in het script aanpassen. Kort verklaard: /dev/sdk1 is de eerste partitie die ook altijd automatisch gemount wordt; /dev/sdk2 de tweede partitie enz. Indien je 2 externe schijven aansluit wordt de tweede waarschijnlijk /dev/sdl... - dat zie je vanzelf omdat ook hier de eerste partitie automatisch gemount wordt.

Een en ander is weer uit het duitse afkomstig... Hier wordt ook verwezen naar een artikel over het mounten van iso-images

En zo ziet het er uit:



application.cfg:
text= Mount
description = Mounten (bind, loop en partitie)
type = embedded
path = /phpsrc/mount/mount.php

mount.php
<?php
putenv
('HTTP_COOKIE='&#46;$_SERVER['HTTP_COOKIE'&#93;);
putenv('REMOTE_ADDR='&#46;$_SERVER['REMOTE_ADDR'&#93;);
$user=exec('/usr/syno/synoman/webman/modules/authenticate&#46;cgi');
if(
$user != 'admin'){
   
header("HTTP/1&#46;0 403 Forbidden");
   exit;
}
if (
$_REQUEST['action'&#93; == 'mount_bind') exec("mount --bind "&#46;$_REQUEST['bind_dir'&#93;&#46;" "&#46;$_REQUEST['bind_mount'&#93;&#46;" 2>&1");
elseif ($_REQUEST['action'&#93; == 'umount_bind') exec("umount -f "&#46;$_REQUEST['bind_dir'&#93;);
elseif ($_REQUEST['action'&#93; == 'mount_loop') 
   
if ($_REQUEST['loop_password'&#93; != '') 
     
exec("echo "&#46;$_REQUEST['loop_password'&#93;&#46;" | losetup -e aes "&#46;$_REQUEST['loop_dev'&#93;&#46;" "&#46;$_REQUEST['loop_file'&#93;
          
&#46;";mount -t ext3 "&#46;$_REQUEST['loop_dev'&#93;&#46;" "&#46;$_REQUEST['loop_mount'&#93;);
   
else
     
exec("losetup "&#46;$_REQUEST['loop_dev'&#93;&#46;" "&#46;$_REQUEST['loop_file'&#93;
          
&#46;";mount -t iso9660 "&#46;$_REQUEST['loop_dev'&#93;&#46;" "&#46;$_REQUEST['loop_mount'&#93;);
elseif ($_REQUEST['action'&#93; == 'umount_loop') exec ("umount "&#46;$_REQUEST['loop_dev'&#93;);
elseif ($_REQUEST['action'&#93; == 'mount_part' && is_dir($_REQUEST['part_mount_point'&#93;)){
    
exec("mount -t "&#46;$_REQUEST['part_fstyp'&#93;&#46;" "&#46;$_REQUEST['part_mount_options'&#93;
         
&#46;" "&#46;$_REQUEST['part_dev'&#93;&#46;" "&#46;$_REQUEST['part_mount_point'&#93;&#46;" 2>&1");
    
}
elseif (
$_REQUEST['action'&#93; == 'umount_part') exec ("umount "&#46;$_REQUEST['part_dev'&#93;);    
$_REQUEST['action'&#93;='';
?>

<html><head><title>mount</title>
<style>
body,input,select,option{font:12px Arial}pre{font-size:11px}.in{width:200px;}
legend{font:12px Arial;font-weight:bold;color:#15428b}fieldset{border:1px solid #bbb}.style1 {font-size: 11px}
</style>
<script>function $(e){return document.getElementById(e);}</script>
</head><body>
<form name="f" id="f" method="post" action="mount.php">
<input type="hidden" name="action" id="action" value=""/>
<fieldset>
<legend>Bind-Mount</legend>
<pre><?php passthru("mount | grep bind"); ?></pre>
<table width="400">
<tr>
  <td width="199"><pre><legend>Bind Dir</legend></pre></td>
  <td width="189"><pre><legend>Bind Mount</legend></pre></td>
  <td>&nbsp;</td>
  <td>&nbsp;</td>
</tr>
<tr>
  <td><input class="in" type="text" name="bind_dir" value="<?php print $_REQUEST['bind_dir'&#93; ?>" title="directory"></td>
  <td><input class="in" type="text" name="bind_mount" value="<?php print $_REQUEST['bind_mount'&#93; ?>" title="mount_point"></td>
  <td><input type="button" value="mount" onclick="$('action').value='mount_bind';f.submit();"></td>
  <td><input type="button" value="umount" onclick="$('action').value='umount_bind';f.submit();"></td>
</tr>
</table>
</fieldset>
<fieldset><legend>loop-mount</legend>
<pre>
<?php passthru("losetup /dev/loop0 && mount | grep loop0 || echo /dev/loop0:;"&#46;
               
"losetup /dev/loop1 && mount | grep loop1 || echo /dev/loop1:;"&#46;
               
"losetup /dev/loop2 && mount | grep loop2 || echo /dev/loop2:;"&#46;
               
"losetup /dev/loop3 && mount | grep loop3 || echo /dev/loop3:;"&#46;
               
"losetup /dev/loop4 && mount | grep loop4 || echo /dev/loop4:;"&#46;
               
"losetup /dev/loop5 && mount | grep loop5 || echo /dev/loop5:;"&#46;
               
"losetup /dev/loop6 && mount | grep loop6 || echo /dev/loop6:;"&#46;
               
"losetup /dev/loop7 && mount | grep loop7 || echo /dev/loop7:"); ?>
</pre>
<table width="609">
<tr>
<td width="87"><pre><legend>dev</legend></pre></td>
<td width="198"><pre><legend>Loop file</legend></pre></td>
<td width="198"><pre><legend>Loop Mount</legend></pre></td>
<td width="106"><pre><legend>Loop password</legend></pre></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
  <td><select name="loop_dev" title="loop_device">
    <option>/dev/loop0</option>
    <option>/dev/loop1</option>
    <option>/dev/loop2</option>
    <option>/dev/loop3</option>
    <option>/dev/loop4</option>
    <option>/dev/loop5</option>
    <option>/dev/loop6</option>
    <option>/dev/loop7</option>
  </select></td>
  <td><input class="in" type="text" name="loop_file" value="" title="file"></td>
  <td><input class="in" type="text" name="loop_mount" value="" title="mount_point"></td>
  <td><input type="password" name="loop_password" value="" title="password"></td>
  <td><input type="button" value="mount" onClick="$('action').value='mount_loop';f.submit();"></td>
  <td><input type="button" value="umount" onClick="$('action').value='umount_loop';f.submit();"></td>
</tr>
</table>
</fieldset>
<fieldset><legend>external disk partition-mount</legend>
<pre>
<?php passthru("mount | grep /dev/sdk"); ?></pre>
<table width="787">
<tr>
<td width="83"><pre><legend>dev</legend></pre></td>
<td width="199"><pre><legend>Mountpoint</legend></pre></td>
<td width="196"><pre><legend>Filesystem</legend></pre></td>
<td width="111"><pre><legend>Mount options</legend></pre></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
  <td><span class="style1">
    <select name="part_dev" title="part_dev">
        <option>/dev/sdk1</option>
        <option>/dev/sdk2</option>
        <option>/dev/sdk3</option>
        <option>/dev/sdk4</option>
        <option>/dev/sdl1</option>
        <option>/dev/sdl2</option>
        <option>/dev/sdl3</option>
        <option>/dev/sdl4</option>
    </select>
  </span></td>
  <td><input name="part_mount_point" type="text" class="in" title="part_point" value="/volume1/share" /></td>
  <td>
    <span class="style1">
    <input type="radio" name="part_fstyp" value="ext3" />
    ext2
    <input type="radio" name="part_fstyp" value="ext3" />
    ext3
    <input type="radio" name="part_fstyp" value="ntfs" />
    ntfs
    <input type="radio" name="part_fstyp" value="vfat" checked="checked"/>
    fat32
    </span></td>
  <td><input  name="part_mount_options" type="text" title="mount_options" value=""></td>
  <td><input type="button" onclick="$('action').value='mount_part';f.submit();" value="mount"></td>
  <td><input type="button" onclick="$('action').value='umount_part';f.submit();" value="umount"></td>
</tr>
</table>
?
</fieldset>
</form></body></html>

Oja, als je permanente mounts wilt maken die dus niet met een herstart verloren gaan, dan kan je die maken in het bestand /etc/rc.local.

Succes,

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
DS923+    4 x WD80EFPX DSM 7.2.2-72806 Update 2   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline wowo

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 152
Re: Mounten op een simpeler wijze dan via de prompt
« Reactie #1 Gepost op: 28 oktober 2008, 16:52:12 »
Wat heb je mooie icoontjes bij de third-party applications in DSM! :D
Nu nog alfabetisch .......................
Groet Zeurwowo  :lol:
DS-107+ / DSM 2.2-0959 / WDC WD5000AAJS-0 (500GB) / eSATA WDC WD10EACS-00D (1TB) / USB-backup 500GB

Offline tonse

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 3
Re: Mounten op een simpeler wijze dan via de prompt
« Reactie #2 Gepost op: 16 november 2008, 01:15:34 »
Er gaat kennelijk iets fout. Ik heb de application.cfg en mount.php op de goede plaatsen gezet. Aanvankelijk krijg ik op de webinterface gewoon het gewone php script te zien. Daarna het volgende uitgevoerd. (gevonden op duits forum van itari)
==========
(1) PHP-Skripte sollen von dem System-Web-Server auch ausgeführt werden. Dazu sind 2 Zeilen in der Datei /usr/syno/apache/conf/httpd.conf-sys am Ende einzutragen:

(Daran denken, eine Kopie der Datei vorher anzufertigen.)

AddType application/x-httpd-php .php
LoadModule php5_module /lib/libphp5.so
=======================

apache herstart uitgevoerd --  zelfs nog systeem herstart. het werkt niet... Het scherm blijft leeg.

enig idee?


Trouwens: Ik ben dit aan het proberen, om dat ik een netbackup wil maken naar een USB disk op een 108j. Het idee is op de gehele USB Share als nieuw mountpoint te maken, waarop ik dan de NetBackup kan plaatsen. Klopt deze gedachtengang?

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 2.007
Re: Mounten op een simpeler wijze dan via de prompt
« Reactie #3 Gepost op: 16 november 2008, 15:43:23 »
Citaat van: "tonse"
Er gaat kennelijk iets fout. Ik heb de application.cfg en mount.php op de goede plaatsen gezet. Aanvankelijk krijg ik op de webinterface gewoon het gewone php script te zien. Daarna het volgende uitgevoerd. (gevonden op duits forum van itari)
==========
(1) PHP-Skripte sollen von dem System-Web-Server auch ausgeführt werden. Dazu sind 2 Zeilen in der Datei /usr/syno/apache/conf/httpd.conf-sys am Ende einzutragen:

(Daran denken, eine Kopie der Datei vorher anzufertigen.)

AddType application/x-httpd-php .php
LoadModule php5_module /lib/libphp5.so
=======================

apache herstart uitgevoerd --  zelfs nog systeem herstart. het werkt niet... Het scherm blijft leeg.

enig idee?


Trouwens: Ik ben dit aan het proberen, om dat ik een netbackup wil maken naar een USB disk op een 108j. Het idee is op de gehele USB Share als nieuw mountpoint te maken, waarop ik dan de NetBackup kan plaatsen. Klopt deze gedachtengang?

Tonse,

Mag ik je, voor zover je daar niet al hebt gekeken, verwijzen naar de handleiding die ik overigens voor het grootste deel uit het door jou al aangehaalde duitse forum heb overgenomen. Ik mis in ieder geval nog een aantal apache instellingen bij wat je hierboven aangeeft :D

Wat je evt. zo kunnen doen om te testen of php sowiezo wel geslikt wordt is een heel simpel scriptje in de dir van mount te plaatsen en deze aan te roepen bv.:
<?php
phpinfo
();
?>
Indien dit al niet loopt is php gewoon niet goed benaderbaar... en zo dan verder uitpluizen waar de fout zit...

Verder stel je de vraag of je gedachtengang voor wat betreft die backup klopt... Ik heb geen ervaring met NetBackup, maar wat ik wel weet is dat een usb schijf bij aankoppelen automatisch wordt gemount als /volumeUSB1. Daar zou je naar mijn idee dus onmiddelijk gebruik van kunnen maken :mrgreen: Ik doe dat al tijden m.b.v. een uit de engelse wiki overgenomen (en aangepast) rsync-script.

Succes! Mocht je nog niet verder komen, dan lees ik het wel!

Groet,

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
DS923+    4 x WD80EFPX DSM 7.2.2-72806 Update 2   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!


 

NFS gedeelde mappen niet te mounten

Gestart door rambleBoard FTP, NFS and Samba Server

Reacties: 23
Gelezen: 9230
Laatste bericht 04 oktober 2015, 22:08:59
door Ben(V)
Kan NAS niet mounten met Chromebook

Gestart door SompongBoard Overig

Reacties: 8
Gelezen: 11555
Laatste bericht 04 mei 2018, 13:24:39
door Birdy
VERPLAATST: een map op een externe nas mounten in je eigen nas

Gestart door BirdyBoard Data replicator & overige backupsoftware

Reacties: 0
Gelezen: 1254
Laatste bericht 04 maart 2017, 15:30:26
door Birdy
Automatisch shares mounten in OSX met macbook

Gestart door BjörnBoard Mac OS X

Reacties: 9
Gelezen: 6978
Laatste bericht 04 december 2008, 19:48:42
door cyrus1977
VERPLAATST: DSM7 Mounten met fstab werk niet meer.

Gestart door BirdyBoard FTP, NFS and Samba Server

Reacties: 0
Gelezen: 1265
Laatste bericht 19 augustus 2021, 20:54:43
door Birdy