<p dir="ltr">A few things to tweak still. Installing with a single command didnt behave quite as i had intended but most things are ready.</p>
<p dir="ltr">To install you would have to do something akin to</p>
<p dir="ltr">    sudo apt install git -y<br>
    git clone <a href="https://github.com/taikedz/partimus-updater">https://github.com/taikedz/partimus-updater</a><br>
    cd partiumus-updater<br>
    sudo bin/install.sh</p>
<p dir="ltr">The rest is automated.</p>
<p dir="ltr">It uses mailutils to mail out notification if updates fail for any reason. During the above install it will ask you what email that should be.</p>
<p dir="ltr"> It will also ask what address to send *from*. That address should be the same for all PCs (for ex <a href="mailto:noreply-reports@partimus.org">noreply-reports@partimus.org</a>) and you will need to add that address to your email whitelist... do not use the list address, obviously. The address does not have to actually exist.</p>
<p dir="ltr">If anyone knows of a more reliable way in a script,even connecting explixitly to a smtp service, do rewrite the script as you see fit</p>
<p dir="ltr">Will let you know when its as straightforward as i can make it and when ive cleand up from the tests and you can start putting it on machines</p>
<p dir="ltr">// Sent from a mobile device. Brevity and typos may transpire</p>
<div class="gmail_extra"><br><div class="gmail_quote">On 30 Sep 2016 18:53, "Christian Einfeldt" <<a href="mailto:einfeldt@gmail.com">einfeldt@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi, <div><br></div><div>Thanks for the suggestions, Tai.  It would be best if you were to run the tests, then you would have an idea if it is working to your expectations, since you wrote the script.  Thanks either way! </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 30, 2016 at 10:46 AM, Tai Kedzierski <span dir="ltr"><<a href="mailto:dch.tai@gmail.com" target="_blank">dch.tai@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>(Cc all)<span><br><br><div>I would wait and test it on a couple of VMs first :-)<br><br></div>I can do this tomorrow, or you can get one of your PDT time people to give it a whirl :-P<br><br></span></div>I'll set it to the hourly cron for my tests and let you know<br></div><div class="gmail_extra"><span><br clear="all"><div><div class="m_830519414474434604m_-5154274314861545719gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><br><br>===<br>Tai Kedzierski<br><br></div><div>Software and Support for SMEs and Charities</div><div dir="ltr"><a href="http://helpuse.com/" target="_blank">http://helpuse.com/</a><br></div><div><br></div><div>Chat / VoIP: <a href="https://tox.chat/download.html" target="_blank">TOX: 8F52CBAC32DC7C87C0A65F0ABD8A4A<wbr>E3550DFC16763D410B22054A552C81<wbr>CE7E72D6D065D451</a></div><br><div dir="ltr"><span></span><font size="1"><img src="https://helpuse.com/wp-content/uploads/2014/02/64-libre-office.png" height="42" width="42"><br>I use <a href="https://www.libreoffice.org/" target="_blank">LibreOffice</a> , a free, Freedom-respecting replacement for MS Office<br><br><i>Open Source Free Software is a matter of liberty, not price.</i><br>
<a href="http://bit.ly/foss-why-care" target="_blank">http://bit.ly/foss-why-care </a><br></font><font size="2"><br></font></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
<br></span><div><div class="m_830519414474434604h5"><div class="gmail_quote">On 30 September 2016 at 18:25, Christian Einfeldt <span dir="ltr"><<a href="mailto:einfeldt@gmail.com" target="_blank">einfeldt@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>Thanks for this work, Tai!  Do you think that I should go ahead and copy and paste this script into the machines?  I see that you say that the scripts are not yet ready for production.  Thanks again! </div></div><div class="gmail_extra"><div><div class="m_830519414474434604m_-5154274314861545719h5"><br><div class="gmail_quote">On Fri, Sep 30, 2016 at 10:13 AM, Tai Kedzierski <span dir="ltr"><<a href="mailto:dch.tai@gmail.com" target="_blank">dch.tai@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Hi Christian, all,<br><br></div>This is an example of how it could be<br><br><a href="https://github.com/taikedz/partimus-updater" target="_blank">https://github.com/taikedz/par<wbr>timus-updater</a><br><br></div>Where you are concerned, there's just that one line that would allow you to do the setup, adding a cron job, and setting up the automation:<br><br>    <code>curl <a href="https://raw.githubusercontent.com/taikedz/partimus-updater/master/bin/install.sh" target="_blank">https://raw.githubusercontent.<wbr>com/taikedz/partimus-updater/m<wbr>aster/bin/install.sh</a> | sudo bash</code><div><br></div><div>So after installing a machine, open a terminal, and paste that in.<br><br></div><div><b>For the techies</b><br><br></div><div>Yes, it's rudimentary, I'm trying to keep it as simple as possible.<br><br></div><div>Put scripts that need to be run (any language you want) into the scripts/ folder. They are run in alphabetical sort order.<br><br></div><div>The configuration in /etc/partimus.conf can be set with UMODE=blocking to make any error cause an interruption of execution<br><br></div><div>Any feedback is welcome.<br><br></div><div>I'll add a config feature to make the target github repo configurable too so the scripts remain as portable as possible<span class="m_830519414474434604m_-5154274314861545719m_-6050134804549914359HOEnZb"><font color="#888888"><br><br><br></font></span></div><span class="m_830519414474434604m_-5154274314861545719m_-6050134804549914359HOEnZb"><font color="#888888"><div>Tai<br></div><div><br></div></font></span></div><div class="gmail_extra"><span><br clear="all"><div><div class="m_830519414474434604m_-5154274314861545719m_-6050134804549914359m_8258058331506403924gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><br><br>===<br>Tai Kedzierski<br><br></div><div>Software and Support for SMEs and Charities</div><div dir="ltr"><a href="http://helpuse.com/" target="_blank">http://helpuse.com/</a><br></div><div><br></div><div>Chat / VoIP: <a href="https://tox.chat/download.html" target="_blank">TOX: 8F52CBAC32DC7C87C0A65F0ABD8A4A<wbr>E3550DFC16763D410B22054A552C81<wbr>CE7E72D6D065D451</a></div><br><div dir="ltr"><span></span><font size="1"><img height="42" width="42"><br>I use <a href="https://www.libreoffice.org/" target="_blank">LibreOffice</a> , a free, Freedom-respecting replacement for MS Office<br><br><i>Open Source Free Software is a matter of liberty, not price.</i><br>
<a href="http://bit.ly/foss-why-care" target="_blank">http://bit.ly/foss-why-care </a><br></font><font size="2"><br></font></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
<br></span><div><div class="m_830519414474434604m_-5154274314861545719m_-6050134804549914359h5"><div class="gmail_quote">On 29 September 2016 at 02:05,  <span dir="ltr"><<a href="mailto:partimus@boldandbusted.com" target="_blank">partimus@boldandbusted.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>




<div><div style="font-family:menlo,consolas,monospace">So, seems like we are all on a simiar trajectory. :) I was thinking something along these lines:<br></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
<div style="font-family:menlo,consolas,monospace">* Administrative VPN that does *not* route traffic to the Internet, using OpenVPN. (More on why later)<br></div>
<div style="font-family:menlo,consolas,monospace">* Chef client w/ Chef Zero, rather than a shell script, running from cron, atjobs, etc. (something more flexible than 'traditional' cron so we dont miss runs due to PCs or devices being off at scheduled run time)<br></div>
<div>* Use a github repo for chef-zero code, encrypted data-bags or equivalent facility, etc.<br></div>
<div style="font-family:menlo,consolas,monospace">* A strong SDLC/DevOps release workflow to test and perhaps do code review. (I like "Mike's Workflow" from Essential Git, with optional modifications to make it work better for our team dynamics.) Commit early, commit often.<br></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
<div>Cheers,<br></div>
<div style="font-family:menlo,consolas,monospace">Jesse<br></div><span>
<div style="font-family:menlo,consolas,monospace"><br></div>
<div>----- Original message -----<br></div>
<div>From: Christian Einfeldt <<a href="mailto:einfeldt@gmail.com" target="_blank">einfeldt@gmail.com</a>><br></div>
</span><div><div class="m_830519414474434604m_-5154274314861545719m_-6050134804549914359m_8258058331506403924h5"><div>To: "dch.tai" <<a href="mailto:dch.tai@gmail.com" target="_blank">dch.tai@gmail.com</a>><br></div>
<div>Cc: Tech <<a href="mailto:tech@lists.partimus.org" target="_blank">tech@lists.partimus.org</a>>, Jesse Adelman <<a href="mailto:jesse@boldandbusted.com" target="_blank">jesse@boldandbusted.com</a>><br></div>
<div>Subject: Re: [Tech] Partimus & Raspberry Pi 3 Model Bs<br></div>
<div>Date: Wed, 28 Sep 2016 16:24:05 -0700<br></div>
<div><br></div>
<div dir="ltr">Oh, I get it now.  You would put the scripts up on Github.  Then I or someone else would install the scripts on the machines in the low income shelters.  The cronjob would then cause the machines to check the scripts on Github and pull the updates off of the repositories.  That sounds pretty good!  Thanks for the idea!  Can you write the scripts?  We are using Lubuntu 14.04 32 bit.  Thanks so much! <br></div>
<div><div style="font-family:menlo,consolas,monospace"><br></div>
<div><div style="font-family:menlo,consolas,monospace">On Wed, Sep 28, 2016 at 12:19 PM, Tai Kedzierski <span dir="ltr"><<a href="mailto:dch.tai@gmail.com" target="_blank">dch.tai@gmail.com</a>></span> wrote:<br></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div style="font-family:menlo,consolas,monospace">Hello Christian<br></div>
</div>
<div style="font-family:menlo,consolas,monospace">So - github is a site where users can collaborate on code. Only certain people can push to a given github project/repo so you could have Partimus volunteers propose file changes, which a key account holder could approve or reject. This git project repository would serve to collaborate on improving any automation tools.<br></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
</div>
<div style="font-family:menlo,consolas,monospace">My github is here for example - <a href="https://github.com/taikedz/" target="_blank">https://github.com/taikedz/</a> ; I have various projects in there that other people can see and contribute to, but I have the final say as to whether their changes actually make it into my version of the code or not.<br></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
</div>
<div style="font-family:menlo,consolas,monospace">A git repository could also be hosted on a Partimus server itself, it does not have to be on github.<br></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
</div>
<div style="font-family:menlo,consolas,monospace">The main thing is: we could have a way to allow Partimus technical volunteers put together and maintain the automation scripts. The deployed PCs could then pull the freshet versions of those scripts automatically, and run them as appropriate to the particular PC. Those scripts, would then be responsible for running the updates from the Ubuntu repositories, doing any additional configuration, etc. Pretty much anything.<br></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
</div>
<div style="font-family:menlo,consolas,monospace">The only thing the person setting up the PC would need to do is install the cronjob - which would also be made as easy as possible via some scripting.<br></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
</div>
<div>I hope that dispels the confusion?<br></div>
<div><br></div>
</div>
<div><div style="font-family:menlo,consolas,monospace"><br></div>
<div><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div style="font-family:menlo,consolas,monospace"><br></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
<div style="font-family:menlo,consolas,monospace">===<br></div>
<div style="font-family:menlo,consolas,monospace">Tai Kedzierski<br></div>
</div>
<div>Software and Support for SMEs and Charities<br></div>
<div dir="ltr"><a href="http://helpuse.com/" target="_blank">http://helpuse.com/</a><br></div>
<div><br></div>
<div>Chat / VoIP: <a href="https://tox.chat/download.html" target="_blank">TOX: 8F52CBAC32DC7C87C0A65F0ABD8A4A<wbr>E3550DFC16763D410B22054A552C81<wbr>CE7E72D6D065D451</a><br></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
<div dir="ltr"><span></span><span class="m_830519414474434604m_-5154274314861545719m_-6050134804549914359m_8258058331506403924m_-8276432963897367567size" style="font-size:x-small"><img height="42" width="42"><br>I use <a href="https://www.libreoffice.org/" target="_blank">LibreOffice</a> , a free, Freedom-respecting replacement for MS Office<br><br><i>Open Source Free Software is a matter of liberty, not price.</i><br> <a href="http://bit.ly/foss-why-care" target="_blank">http://bit.ly/foss-why-care </a><br></span><span class="m_830519414474434604m_-5154274314861545719m_-6050134804549914359m_8258058331506403924m_-8276432963897367567size" style="font-size:small"></span></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div><div><div style="font-family:menlo,consolas,monospace"><br></div>
<div><div style="font-family:menlo,consolas,monospace">On 28 September 2016 at 19:14, Christian Einfeldt <span dir="ltr"><<a href="mailto:einfeldt@gmail.com" target="_blank">einfeldt@gmail.com</a>></span> wrote:<br></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:menlo,consolas,monospace">Hi, thanks Tai, bottom posting...<br></div>
<div><div style="font-family:menlo,consolas,monospace"><br></div>
<div><div style="font-family:menlo,consolas,monospace"><span>On Wed, Sep 28, 2016 at 11:08 AM, Tai Kedzierski <span dir="ltr"><<a href="mailto:dch.tai@gmail.com" target="_blank">dch.tai@gmail.com</a>></span> wrote:<br></span></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><p dir="ltr"><span>Github repositories are independent of the distribution repositories.</span><br></p></blockquote><div><span></span><br></div>
<div style="font-family:menlo,consolas,monospace"><span></span><br></div>
<div>Why choose Github or any repository that is independent of the Ubuntu repository?  Is that commonly done?  Is the Github repo what we refer to as a "mirror" of the Ubuntu repository?  I am obviously asking out of sheer ignorance.<br></div>
<div style="font-family:menlo,consolas,monospace"><span></span><br></div>
<div> <br></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><p dir="ltr"><span>So long as the PC is on the cron job will run - no users need to be actively logged in</span><br></p></blockquote><div><span></span><br></div>
<div style="font-family:menlo,consolas,monospace"><span></span><br></div>
<div>Could we also do that if we pull from the Ubuntu repositories?<br></div>
<div style="font-family:menlo,consolas,monospace"><span></span><br></div>
<div> <br></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div style="font-family:menlo,consolas,monospace"><span><span></span></span><br></div>
<p dir="ltr"><span><span>// Sent from a mobile device. Brevity and typos may transpire</span></span><br></p><div style="font-family:menlo,consolas,monospace"><span><span></span></span><br></div>
<div><div><div><div style="font-family:menlo,consolas,monospace"><span><br></span></div>
<div><div style="font-family:menlo,consolas,monospace"><span>On 28 Sep 2016 19:02, "Christian Einfeldt" <<a href="mailto:einfeldt@gmail.com" target="_blank">einfeldt@gmail.com</a>> wrote:<br></span></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:menlo,consolas,monospace"><span>Hi Tai, thanks for your reply.  Bottom posting...  </span><br></div>
<div><div style="font-family:menlo,consolas,monospace"><span><br></span></div>
<div><div style="font-family:menlo,consolas,monospace"><span>On Wed, Sep 28, 2016 at 6:26 AM, Tai Kedzierski <span dir="ltr"><<a href="mailto:dch.tai@gmail.com" target="_blank">dch.tai@gmail.com</a>></span> wrote:<br></span></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><p dir="ltr"><span>Alternatively you can add a cron to pull a github repo regularly.</span><br></p></blockquote><div><span>Thanks for this info, but I am confused.  Github repo?  Not the Ubuntu repositories?  </span><br></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><p dir="ltr"><span>It would run a script to check if ipdate was needed and if so would run it.</span><br></p><p dir="ltr"><span>In this way you can also push config changes and add partimus-specific tools as needed. It can also double as an initial-setup script.</span><br></p><p dir="ltr"><span>I could put something together for this if interested.</span><br></p></blockquote><div><span>Thanks for offering to teach me how to write a cron job to run updates.  It sounds very useful.  Here's a question:  this cron job needs to run even if the SU is not logged in.  These machines sit in low income shelters, and most of the time, they are either at the login screen, or they are logged into a temporary guest session.  Will the cron job ru regardless of who is logged in?  Thanks! </span><br></div>
</div>
</div>
</div>
</blockquote></div>
</div>
</div>
</div>
</blockquote><div style="font-family:menlo,consolas,monospace"><span></span><br></div>
</div>
<div style="font-family:menlo,consolas,monospace"><span><span class="m_830519414474434604m_-5154274314861545719m_-6050134804549914359m_8258058331506403924m_-8276432963897367567colour" style="color:rgb(136,136,136)"><br><br clear="all"></span></span></div>
<div><span><span class="m_830519414474434604m_-5154274314861545719m_-6050134804549914359m_8258058331506403924m_-8276432963897367567colour" style="color:rgb(136,136,136)"></span></span><br></div>
<div style="font-family:menlo,consolas,monospace"><span><span class="m_830519414474434604m_-5154274314861545719m_-6050134804549914359m_8258058331506403924m_-8276432963897367567colour" style="color:rgb(136,136,136)">-- <br></span></span></div>
<div><span><span class="m_830519414474434604m_-5154274314861545719m_-6050134804549914359m_8258058331506403924m_-8276432963897367567colour" style="color:rgb(136,136,136)">Christian Einfeldt</span></span><br></div>
<div style="font-family:menlo,consolas,monospace"><span><span class="m_830519414474434604m_-5154274314861545719m_-6050134804549914359m_8258058331506403924m_-8276432963897367567colour" style="color:rgb(136,136,136)"></span></span><br></div>
</div>
</div>
</blockquote></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
</div>
</div>
</div>
</blockquote></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
<div style="font-family:menlo,consolas,monospace"><br></div>
<div><br></div>
<div style="font-family:menlo,consolas,monospace">-- <br></div>
<div>Christian Einfeldt<br></div>
</div>
<div style="font-family:menlo,consolas,monospace"><br></div>
</div></div></div>

</blockquote></div><br></div></div></div>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span class="m_830519414474434604m_-5154274314861545719HOEnZb"><font color="#888888">-- <br><div class="m_830519414474434604m_-5154274314861545719m_-6050134804549914359gmail_signature" data-smartmail="gmail_signature">Christian Einfeldt</div>
</font></span></div>
</blockquote></div><br></div></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="m_830519414474434604gmail_signature" data-smartmail="gmail_signature">Christian Einfeldt</div>
</div>
</blockquote></div></div>