<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_1_thread_43174"  />
<title>rulinux.net - Форум - General - flash_mounter.sh</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - General - flash_mounter.sh</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re:flash_mounter.sh</title>
<link>https://rulinux.net/message.php?newsid=43174&amp;page=1#222931</link>
<guid>https://rulinux.net/message.php?newsid=43174&amp;page=1#222931</guid>
<pubDate>Mon, 16 Jul 2018 13:01:33 +0300</pubDate>
<description><![CDATA[<p>&gt; А если уж совсем приспичело? Ну, скинул файлы на флешку и бежать?
<br><br>
sync and run! Главное не думать что будет с самбой и её клиентами, если они там что с диском делали в этот момент.

<br><br>
&gt; CONFIG_USB_SUSPEND
<br><br>
Ну вот щас бу я ядро переконпелять. В дефолтном конфиге даже опции такой не нашел.</p>]]></description>
</item>
<item>
<title>Re:flash_mounter.sh</title>
<link>https://rulinux.net/message.php?newsid=43174&amp;page=1#222930</link>
<guid>https://rulinux.net/message.php?newsid=43174&amp;page=1#222930</guid>
<pubDate>Mon, 16 Jul 2018 09:01:44 +0300</pubDate>
<description><![CDATA[<p><i>> Автоматически при неиспользовании отмонтируется через 5 минут (конфигурабельно). </i><br> А если уж совсем приспичело? Ну, скинул файлы на флешку и бежать?<br><br><i>> Как-то выключать питание на USB-порту или, ещё лучше, саспендить USB-устройство</i><br> На сколько я помню, powertop при запуске давал подсказки что и где подкрутить, дабы потреблять как можно меньше, в том числе и про CONFIG_USB_SUSPEND=y<br><br><a href="https://www.calculate-linux.org/blogs/ru/205/show">https://www.calculate-linux.org/blogs/ru/205/show</a></p>]]></description>
</item>
<item>
<title>Re:flash_mounter.sh</title>
<link>https://rulinux.net/message.php?newsid=43174&amp;page=1#222925</link>
<guid>https://rulinux.net/message.php?newsid=43174&amp;page=1#222925</guid>
<pubDate>Fri, 13 Jul 2018 22:56:23 +0300</pubDate>
<description><![CDATA[<p>Автоматически при неиспользовании отмонтируется через 5 минут (конфигурабельно).
<br><br>
Так сделано, естественно, не потому, что лень написать mount /dev/sdc1 /my/mount/dir, а для постоянно подключенного к файловому серверу USB-диска. Через fstab мне чота стрёмно - ну смонтируется он при загрузке, а ну как потом этому USB в голову придёт кратковременно отвалиться? А так при обращении к заданной точке монтирования будет попытка подмонтировать устройство, плюс при размонтировании кеш той фс должен освобождать место для более полезных байтов (внешний диск редко используется, большу часть времени он просто не нужен). 
<br>
Была ещё надежда что диск при этом будет в какое-нибудь подобие энергосохранения впадать, но судя по ваттметру, общее энергопотребление системы не меняется. Возможно, что при размонтировании можно как-то обесточивать USB-порт, но для этого нужно пару вещей, которых я не знаю как:
<br>
1. Подвесить обработчик на событие размонтирования диска автомаунтом - так и не нашел как это сделать.
<br>
2. Как-то выключать питание на USB-порту или, ещё лучше, саспендить USB-устройство - вроде бы хост вроде может приказывать девайсам переходить в микропотребляющий режим, в котором они ничего не делают и только жрут считанные миллиамперы в ожидании дальнейших инструкций от хоста.</p>]]></description>
</item>
<item>
<title>Re:flash_mounter.sh</title>
<link>https://rulinux.net/message.php?newsid=43174&amp;page=1#222924</link>
<guid>https://rulinux.net/message.php?newsid=43174&amp;page=1#222924</guid>
<pubDate>Fri, 13 Jul 2018 08:45:40 +0300</pubDate>
<description><![CDATA[<p>А умоунт как, ручками?</p>]]></description>
</item>
<item>
<title>Re:flash_mounter.sh</title>
<link>https://rulinux.net/message.php?newsid=43174&amp;page=1#222922</link>
<guid>https://rulinux.net/message.php?newsid=43174&amp;page=1#222922</guid>
<pubDate>Thu, 12 Jul 2018 18:31:15 +0300</pubDate>
<description><![CDATA[<p>У меня автомаунт короче:

<fieldset><legend>bash</legend><div class="highlight bash"><br />
$ <span class="kw2">cat</span> <span class="sy0">/</span>etc<span class="sy0">/</span>auto.myUSB<br />
Bank1 <span class="re5">-fstype</span>=ext4 :<span class="sy0">/</span>dev<span class="sy0">/</span>disk<span class="sy0">/</span>by-uuid<span class="sy0">/</span>74e1ffbc-b3da-sc9e-8ea3-aa67dd3fe3d0<br />
&nbsp;</div></fieldset></p>]]></description>
</item>
<item>
<title>flash_mounter.sh</title>
<link>https://rulinux.net/message.php?newsid=43174&amp;page=1#222921</link>
<guid>https://rulinux.net/message.php?newsid=43174&amp;page=1#222921</guid>
<pubDate>Thu, 12 Jul 2018 13:41:29 +0300</pubDate>
<description><![CDATA[<p>Что-то мне поднадоело ручками каждый раз вбивать mount &lt;что&gt; &lt;куда&gt; и родился этот сценарий:<br><br><fieldset><legend>bash</legend><div class="highlight bash"><br />
<span class="co0">#!/bin/sh</span><br />
<br />
<span class="kw1">if</span> <span class="br0">&#91;</span> <span class="re4">$#</span> <span class="re5">-eq</span> 1 <span class="br0">&#93;</span>; <span class="kw1">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">DEV</span>=<span class="st0">&quot;$1&quot;</span><br />
<span class="kw1">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co0">#DEV=/dev/sda1</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;Usage: $0 &lt;device&gt;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">exit</span> 1<br />
<span class="kw1">fi</span><br />
<br />
<span class="re2">MOUNTED</span>=0<br />
<span class="re2">WAIT_STRING</span>=<span class="st0">&quot;/-\|&quot;</span><br />
<span class="re2">WAIT_STRING2</span>=<span class="st0">&quot;.oO*&quot;</span><br />
<br />
<span class="kw1">function</span> wait_removing_device_file <span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co0"># ожидаем удаление файла устройства</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">local</span> <span class="re2">l_m</span>=0<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="re5">-n</span> <span class="st0">&quot; &quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">while</span> <span class="br0">&#91;</span> <span class="re5">-r</span> <span class="co1">${DEV}</span> <span class="re5">-a</span> <span class="co1">${MOUNTED}</span> <span class="re5">-ne</span> 0 <span class="br0">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">do</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">l_m</span>=$<span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="co1">${l_m}</span>+1<span class="br0">&#41;</span><span class="sy0">%</span>4<span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="re5">-ne</span> <span class="st0">&quot;\b<span class="es3">${WAIT_STRING:${l_m}</span>:1}&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">sleep</span> <span class="nu0">1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">done</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="re5">-ne</span> <span class="st0">&quot;\b&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">MOUNTED</span>=0<br />
<span class="br0">&#125;</span><br />
<br />
<span class="kw3">echo</span> <span class="re5">-n</span> <span class="st0">&quot;Wait for <span class="es3">${DEV}</span>... &quot;</span><br />
<span class="kw1">while</span> <span class="kw2">true</span><br />
<span class="kw1">do</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#91;</span> <span class="re5">-r</span> <span class="st0">&quot;<span class="es3">${DEV}</span>&quot;</span> <span class="re5">-a</span> <span class="co1">${MOUNTED}</span> <span class="re5">-eq</span> 0 <span class="br0">&#93;</span>; <span class="kw1">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="re5">-n</span> <span class="st0">&quot;Mount <span class="es3">${DEV}</span>... &quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">mount</span> <span class="st0">&quot;<span class="es3">${DEV}</span>&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ANS</span>=<span class="re4">$?</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#91;</span> <span class="co1">${ANS}</span> <span class="re5">-ne</span> 0 <span class="br0">&#93;</span>; <span class="kw1">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;FAIL&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">MOUNTED</span>=1<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;done&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="re5">-n</span> <span class="st0">&quot;Press ENTER to unmount <span class="es3">${DEV}</span> &quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">read</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ANS</span>=1<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">while</span> <span class="br0">&#91;</span> <span class="co1">${ANS}</span> <span class="re5">-ne</span> 0 <span class="br0">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">do</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="re5">-n</span> <span class="st0">&quot;Try to unmount <span class="es3">${DEV}</span>... &quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">umount</span> <span class="st0">&quot;<span class="es3">${DEV}</span>&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ANS</span>=<span class="re4">$?</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">sleep</span> 3<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">done</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;done&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="re5">-n</span> <span class="st0">&quot;Wait for removing <span class="es3">${DEV}</span>... &quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; wait_removing_device_file<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;done&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="re5">-n</span> <span class="st0">&quot;Wait for <span class="es3">${DEV}</span>... &quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">fi</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">fi</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">sleep</span> 1<br />
<span class="kw1">done</span><br />
&nbsp;</div></fieldset><br><br>Используйте на свой страх и риск.</p>]]></description>
</item>
</channel>
</rss>