<?xml version="1.0" encoding="utf-8" ?>

<?xml-stylesheet type="text/xsl" href="/templates/2k11/rss.xsl" media="screen" ?>
<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Daniel Lange's blog (Entries tagged as update)</title>
    <link>https://daniel-lange.com/</link>
    <description>agrep -pB IT /dev/life</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 2.6.0 - http://www.s9y.org/</generator>
    <pubDate>Fri, 06 Dec 2024 18:57:16 GMT</pubDate>

    <image>
    <url>//daniel-lange.com/uploads/Avatar_Blog_144_234.png</url>
    <title>RSS: Daniel Lange's blog - agrep -pB IT /dev/life</title>
    <link>https://daniel-lange.com/</link>
    <width>144</width>
    <height>234</height>
</image>

<item>
    <title>Install &quot;kept back&quot; updates on Ubuntu</title>
    <link>https://daniel-lange.com/archives/182-Install-kept-back-updates-on-Ubuntu.html</link>
            <category>Linux</category>
    
    <comments>https://daniel-lange.com/archives/182-Install-kept-back-updates-on-Ubuntu.html#comments</comments>
    <wfw:comment>https://daniel-lange.com/wfwcomment.php?cid=182</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>https://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=182</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;Canonical has implemented a staged roll-out for some Ubuntu package updates.&lt;/p&gt;

&lt;p&gt;I find that rather annoying at times, e.g. when preparing the laptop for traveling.&lt;/p&gt;

&lt;p&gt;So for my memory and for the benefit of others:&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# disable the phased roll-out feature on this apt upgrade run&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sudo&lt;/span&gt; apt &lt;span style=&quot;color: #660033;&quot;&gt;-o&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;APT::Get::Always-Include-Phased-Updates=true&amp;quot;&lt;/span&gt; dist-upgrade&lt;/div&gt;

&lt;p&gt;&lt;!-- s9ymdb:705 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;1586&quot; height=&quot;1346&quot;  src=&quot;https://daniel-lange.com/uploads/entries/230322_Ubuntu_apt_updates_kept_back.jpg&quot; title=&quot;Easy syntax, innit?&quot; alt=&quot;Screenshot of apt with the option to disable staged rollouts&quot;&gt;&lt;/p&gt;

&lt;p&gt;This can - for permanent use - be put into a config file, e.g. &lt;a href=&quot;https://curius.de/2022/09/ubuntu-zurueckgehaltene-pakete-und-phased-updates/&quot;&gt;Gerrit Heim puts it into /etc/apt/apt.conf.d/99-Phased-Updates [German]&lt;/a&gt;. Some other options around this staged roll-out feature are &quot;documented&quot; within &lt;a href=&quot;https://discourse.ubuntu.com/t/phased-updates-in-apt-in-21-04/20345&quot;&gt;a thread&lt;/a&gt; in the Ubuntu discourse forum.&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Wed, 22 Mar 2023 14:20:00 +0000</pubDate>
    <guid isPermaLink="false">https://daniel-lange.com/archives/182-guid.html</guid>
    <category>apt</category>
<category>roll-out</category>
<category>staged</category>
<category>ubuntu</category>
<category>update</category>

</item>
<item>
    <title>Upgrading Limesurvey with (near) zero downtime</title>
    <link>https://daniel-lange.com/archives/162-Upgrading-Limesurvey-with-near-zero-downtime.html</link>
            <category>Open Source</category>
    
    <comments>https://daniel-lange.com/archives/162-Upgrading-Limesurvey-with-near-zero-downtime.html#comments</comments>
    <wfw:comment>https://daniel-lange.com/wfwcomment.php?cid=162</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=162</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;Limesurvey is an online survey tool. It is very powerful and commonly used in academic environments because it is Free Software (GPLv2+), allows for local installations protecting the data of participants and allowing to comply with data protection regulations. This also means there are typically no load-balanced multi-server szenarios with HA databases. But simple VMs where Limesurvey runs and needs upgrading in place.&lt;/p&gt;

&lt;p&gt;There&#039;s an LTS branch (currently 3.x) and a stable branch (currently 4.x). There&#039;s also a 2.06 LTS branch that is restricted to paying customers. The main developers behind Limesurvey offer many services from template design to custom development to support to hosting (&quot;Cloud&quot;, &quot;Limesurvey Pro&quot;). Unfortunately they also charge for easy updates called &quot;ComfortUpdate&quot; (currently 39€ for three months) and the manual process is made a bit cumbersome to make the &quot;ComfortUpdate&quot; offer more attractive.&lt;/p&gt;

&lt;p&gt;Due to Limesurvey being an old code base and UI elements not being clearly separated, most serious use cases will end up patching files and symlinking logos around template directories. That conflicts a bit with the opaque &quot;ComfortUpdate&quot; process where you push a button and then magic happens. Or you have downtime and a recovery case while surveys are running.&lt;/p&gt;

&lt;p&gt;If you do not intend to use the &quot;ComfortUpdate&quot; offering, you can prevent Limesurvey from connecting to &lt;code&gt;http://comfortupdate.limesurvey.org&lt;/code&gt; daily by adding the &lt;code&gt;updatable&lt;/code&gt; stanza as in &lt;strong&gt;line 14&lt;/strong&gt; to &lt;code&gt;limesurvey/application/config/config.php&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;php geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;...&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// Use the following config variable to set modified optional settings copied from config-defaults.php&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #0000ff;&quot;&gt;&#039;config&#039;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// debug: Set this to 1 if you are looking for errors. If you still get no errors after enabling this&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// then please check your error-logs - either in your hosting provider admin panel or in some /logs directory&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// on your webspace.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// LimeSurvey developers: Set this to 2 to additionally display STRICT PHP error messages and get full access to standard templates&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #0000ff;&quot;&gt;&#039;debug&#039;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #0000ff;&quot;&gt;&#039;debugsql&#039;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// Set this to 1 to enanble sql logging, only active when debug = 2&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// Mysql database engine (INNODB|MYISAM):&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #0000ff;&quot;&gt;&#039;mysqlEngine&#039;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;&#039;MYISAM&#039;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// Update default LimeSurvey config here&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #0000ff;&quot;&gt;&#039;updatable&#039;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #009900; font-weight: bold;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

&lt;p&gt;The &lt;strong&gt;comma&lt;/strong&gt; on &lt;strong&gt;line 13&lt;/strong&gt; is placed like that in the current default limesurvey &lt;code&gt;config.php&lt;/code&gt;, don&#039;t let yourself get confused.
Every item in a php array must end with a comma. It can be on the next line.&lt;/p&gt;

&lt;p&gt;The basic principle of low risk, near-zero downtime, in-place upgrades is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a diff between the current release and the target release&lt;/li&gt;
&lt;li&gt;Inspect the diff&lt;/li&gt;
&lt;li&gt;Make backups of the application webroot&lt;/li&gt;
&lt;li&gt;Patch a copy of the application in-place&lt;/li&gt;
&lt;li&gt;(optional) stop the web server&lt;/li&gt;
&lt;li&gt;Make a backup of the production database&lt;/li&gt;
&lt;li&gt;Move the patched application to the production webroot&lt;/li&gt;
&lt;li&gt;(if 5) Start the webserver&lt;/li&gt;
&lt;li&gt;Upgrade the database (if needed)&lt;/li&gt;
&lt;li&gt;Check the application&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So, in detail:&lt;/p&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://daniel-lange.com/archives/162-Upgrading-Limesurvey-with-near-zero-downtime.html#extended&quot;&gt;Continue reading &quot;Upgrading Limesurvey with (near) zero downtime&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 21 Jun 2020 19:38:00 +0000</pubDate>
    <guid isPermaLink="false">https://daniel-lange.com/archives/162-guid.html</guid>
    <category>apache</category>
<category>diff</category>
<category>limesurvey</category>
<category>patch</category>
<category>production</category>
<category>update</category>
<category>updated</category>
<category>web</category>

</item>
<item>
    <title>Tales from the Edge. #Security.</title>
    <link>https://daniel-lange.com/archives/145-Tales-from-the-Edge.-Security..html</link>
            <category>Fun</category>
    
    <comments>https://daniel-lange.com/archives/145-Tales-from-the-Edge.-Security..html#comments</comments>
    <wfw:comment>https://daniel-lange.com/wfwcomment.php?cid=145</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>https://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=145</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;&lt;em&gt;Late 2017, King county, Washington&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;An overworked team with an impossible mission, to create a secure Internet browser, on Windows, is called to the weekly &lt;del&gt;time-waster&lt;/del&gt; product team meeting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Product Manager:&lt;/strong&gt;&lt;br /&gt;
Team, you know that Edge needs to be the most secure browser on the planet, right?&lt;br /&gt;
So how can this thing segfault if some dude from the security consultancy fuzzes the &lt;code&gt;Backup.dat&lt;/code&gt;?&lt;/p&gt;

&lt;p&gt;You MUST make sure this is &lt;strong&gt;protected&lt;/strong&gt;. It MUST be &lt;strong&gt;a violation of Windows Policy to modify&lt;/strong&gt; the file. Go, make it happen! Report back next week!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The team disperses.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Early next morning, at a set of tables in the middle of a dimly lit cube farm...&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Developer:&lt;/strong&gt;&lt;br /&gt;
Hey, team lead, do you know what the PM meant with &quot;Windows Policy&quot;? I never heard about a &quot;Windows Policy&quot;. Is this the &quot;Group Policy&quot;? Or did he mean the product license? Like the shrink-wrap contract? Do we need to consult legal?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Team lead:&lt;/strong&gt;&lt;br /&gt;
Oh, ffs, Bob. No time for discussion. The requirement is crystal clear. Implement it. You&#039;re the security lead. We have a deadline approaching.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Developer:&lt;/strong&gt;&lt;br /&gt;
O.k., boss. I&#039;ll see what I can do.&lt;/p&gt;

&lt;p&gt;&lt;!-- s9ymdb:652 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;680&quot; height=&quot;288&quot;   style=&quot;border:1px solid black&quot; src=&quot;https://daniel-lange.com/uploads/entries/180610_Windows_Explorer_Edge_Security.png&quot; title=&quot;Windows Edge backup folder &amp;quot;Protected - It is a violation of Windows Policy to modify&amp;quot;&quot; alt=&quot;Windows Edge backup folder &amp;quot;Protected - It is a violation of Windows Policy to modify&amp;quot;&quot; /&gt;&lt;/p&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://daniel-lange.com/archives/145-Tales-from-the-Edge.-Security..html#extended&quot;&gt;Continue reading &quot;Tales from the Edge. #Security.&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 11 Jun 2018 00:05:00 +0000</pubDate>
    <guid isPermaLink="false">https://daniel-lange.com/archives/145-guid.html</guid>
    <category>edge</category>
<category>fun</category>
<category>security</category>
<category>update</category>
<category>windows</category>

</item>
<item>
    <title>Updating the Dell XPS 13 9360 Thunderbolt firmware to get VGA and HDMI working</title>
    <link>https://daniel-lange.com/archives/129-Updating-the-Dell-XPS-13-9360-Thunderbolt-firmware-to-get-VGA-and-HDMI-working.html</link>
            <category>IT</category>
    
    <comments>https://daniel-lange.com/archives/129-Updating-the-Dell-XPS-13-9360-Thunderbolt-firmware-to-get-VGA-and-HDMI-working.html#comments</comments>
    <wfw:comment>https://daniel-lange.com/wfwcomment.php?cid=129</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>https://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=129</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;Last year I bought the wonderful Dell XPS 13 9360 as it is certified to work with Ubuntu Linux and is just all around an awesome device. Dell made me buy the Windows version as only that got a 1 TB NVMe-SSD option. Linux apparently is only worthy of the 512GB and below models. What product manager comes up with such a stupid idea? Are SKUs that precious? Anyways ... so I bought a Windows version and that got wiped with a Linux install immediately as that was and is its intended purpose.&lt;/p&gt;

&lt;p&gt;&lt;a class=&quot;serendipity_image_link&quot; title=&quot;Dell DA200 USB-C to HDMI/VGA/Ethernet/USB 3.0 adapter&quot; href=&#039;https://daniel-lange.com/uploads/entries/170406_Dell_DA200.jpg&#039; onclick=&quot;F1 = window.open(&#039;/uploads/entries/170406_Dell_DA200.jpg&#039;,&#039;Zoom&#039;,&#039;height=698,width=1039,top=258.5,left=448,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:640 --&gt;&lt;img class=&quot;serendipity_image_right&quot; width=&quot;109&quot; height=&quot;73&quot;  src=&quot;https://daniel-lange.com/uploads/entries/170406_Dell_DA200.serendipityThumb.jpg&quot; title=&quot;Dell DA200 USB-C to HDMI/VGA/Ethernet/USB 3.0 adapter&quot; alt=&quot;Dell DA200 USB-C to HDMI/VGA/Ethernet/USB 3.0 adapter&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I purchased a DA200 with the system which is Dell&#039;s USB-C to anything (HDMI/VGA/Ethernet/USB 3.0) dongle. When I got the laptop the Ethernet port and USB 3.0 via the DA200 were working right out of the box. The VGA and HDMI ports were detected by Ubuntu but there was no way to get connected screens working. They stayed black.&lt;/p&gt;

&lt;p&gt;The device was shipped with Thunderbolt firmware NVM18 and we&#039;ve been told rather quickly by Dell this would be fixed with an update. And lo and behold Dell &lt;a href=&quot;http://www.dell.com/support/home/en/en/debsdt1/product-support/product/xps-13-9360-laptop/drivers&quot; title=&quot;Dell website with drivers and firmware files for the XPS 13&quot; target=&quot;_blank&quot;&gt;published the firmware version NVM21&lt;/a&gt; right for Christmas 2016. Now unfortunately while their BIOS updates are Windows / DOS executables that can be just shoved at the Dell UEFI flash updater and thus the main BIOS can be updated from any OS, including Linux, without any hassle, the Intel provided Thunderbolt update needs Windows to get installed. Or, well, there is a &lt;a href=&quot;https://github.com/dell/thunderbolt-nvm-linux&quot; title=&quot;Dell github page with description of Thunderbolt updates in Linux&quot; target=&quot;_blank&quot;&gt;convoluted way to compile an out-of-tree Linux kernel module, download and compile a few sets of software and do it via Linux&lt;/a&gt;. That description read so lengthy, I didn&#039;t even try it. Additionally there seems to have been no progress at all in getting this more mainline in the last three months, so I chose the cheap route and installed Windows 10 on a USB thumb drive&lt;sup id=&quot;fnref:1&quot;&gt;&lt;a href=&quot;#fn:1&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;p&gt;This is done via the (unfortunately Windows only) &lt;a href=&quot;http://www.easyuefi.com/wintousb/&quot; title=&quot;Win2USB product site&quot; target=&quot;_blank&quot;&gt;Win2USB software&lt;/a&gt; (the free version is sufficient).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; There&#039;s a new bash script &lt;a href=&quot;https://github.com/ValdikSS/windows2usb&quot; title=&quot;windows2usb bash script on Github&quot; target=&quot;_blank&quot;&gt;windows2usb&lt;/a&gt; that looks good and should work to get you a bootable Windows USB thumb drive in Linux. WinUSB (that stopped working in the Win10 area some time) has also been forked and updated into &lt;a href=&quot;https://github.com/slacka/WoeUSB&quot; title=&quot;WoeUSB. A updated WinUSB fork&quot; target=&quot;_blank&quot;&gt;WoeUSB&lt;/a&gt;. And there is &lt;a href=&quot;https://gitlab.com/vaared/wintousblinux/&quot; title=&quot;WinToUSBLinux on Gitlab&quot;&gt;WinToUSBLinux&lt;/a&gt;, yet another shell script. Give them a try.&lt;/p&gt;

&lt;p&gt;Once Windows has rebooted often enough to finish its own installation, you can work with the USB thumb drive install as with any Windows 10. Nice.&lt;/p&gt;

&lt;div style=&quot;min-height: 90px;&quot;&gt;
&lt;a class=&quot;serendipity_image_link&quot; title=&quot;Dell TPM 1.2 to 2.0 firmware update&quot; href=&#039;https://daniel-lange.com/uploads/entries/170406_screenshot_TPM_update.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/entries/170406_screenshot_TPM_update.png&#039;,&#039;Zoom&#039;,&#039;height=789,width=1039,top=213,left=448,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:641 --&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;110&quot; height=&quot;83&quot;  src=&quot;https://daniel-lange.com/uploads/entries/170406_screenshot_TPM_update.serendipityThumb.png&quot; title=&quot;Dell TPM 1.2 to 2.0 firmware update&quot; alt=&quot;Dell TPM 1.2 to 2.0 firmware update&quot; /&gt;&lt;/a&gt;

&lt;p&gt;Put all the files you downloaded from Dell to update your XPS 13 into a directory on the USB thumb drive. That way Windows does not need to have any network connectivity.&lt;/p&gt;

I first updated the TPM 1.2 firmware to a TPM 2.0 version (DellTpm2.0_Fw1.3.2.8_V1_64.exe at the time of writing this blog entry). Now this is quite hilarious as the Windows installer doesn&#039;t do anything but putting a UEFI firmware update into the EFI partition that runs on reboot. Duh. You do need to manually clear the TPM in the BIOS&#039; security settings section (there&#039;s a clear checkbox) to be able to program new firmware onto it.
&lt;/div&gt;

&lt;div style=&quot;min-height: 90px;&quot;&gt;
&lt;a class=&quot;serendipity_image_link&quot; title=&quot;Thunderbolt firmware upgrade progress bar&quot; href=&#039;https://daniel-lange.com/uploads/entries/170406_screenshot_Thunderbolt_firmware_update.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/entries/170406_screenshot_Thunderbolt_firmware_update.png&#039;,&#039;Zoom&#039;,&#039;height=788,width=1039,top=213.5,left=448,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:642 --&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;110&quot; height=&quot;83&quot;  src=&quot;https://daniel-lange.com/uploads/entries/170406_screenshot_Thunderbolt_firmware_update.serendipityThumb.png&quot; title=&quot;Thunderbolt firmware upgrade progress bar&quot; alt=&quot;Thunderbolt firmware upgrade progress bar&quot; /&gt;&lt;/a&gt;
&lt;a class=&quot;serendipity_image_link&quot; title=&quot;Thunderbolt firmware upgrade successful&quot; href=&#039;https://daniel-lange.com/uploads/entries/170406_screenshot_Thunderbolt_firmware_successful.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/entries/170406_screenshot_Thunderbolt_firmware_successful.png&#039;,&#039;Zoom&#039;,&#039;height=789,width=1039,top=213,left=448,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:643 --&gt;&lt;img class=&quot;serendipity_image_right&quot; width=&quot;110&quot; height=&quot;83&quot;  src=&quot;https://daniel-lange.com/uploads/entries/170406_screenshot_Thunderbolt_firmware_successful.serendipityThumb.png&quot; title=&quot;Thunderbolt firmware upgrade successful&quot; alt=&quot;Thunderbolt firmware upgrade successful&quot; /&gt;&lt;/a&gt;

Now back in Windows install the Thunderbolt drivers (Chipset_Driver_J95RR_WN32_16.2.55.275_A01.exe at the time of writing this) and then run Intel_TBT3_FW_UPDATE_NVM21_0THFT_A00_3.21.00.008.exe, which is the NVM21 Thunderbolt firmware update (or a later version).
&lt;/div&gt;

&lt;p&gt;Reboot again (into Linux if you want to) and (drumroll) the VGA and HDMI ports are working.  Awesome.&lt;/p&gt;

&lt;p&gt;An update log can be found on the USB thumb drive at &lt;code&gt;Dell\UpdatePackage\Log\Intel_TBT3_FW_UPDATE_NVM21_0THFT_A00_3.log&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;
*** Dell Thunderbolt firmware update started on 4/6/2017 at 12:56:56***
Command: C:\Install\Intel_TBT3_FW_UPDATE_NVM21_0THFT_A00_3.21.00.008.exe 

Starting FW Update....
***TBT GPIO Power is Turning On:  No Dock or DockInfo.
***TBT GPIO power is turned on.

Thunderbolt Firmware Update SUCCEEDED
TBT Items Registry creation is Success at \SOFTWARE\Dell\ManageableUpdatePackage\Thunderbolt Controller:
User selected OK for reboot
System TBT NVM Current Version:BCD:00000018: New Version:BCD:00000021

Exit Code = 0 (Success) 
***Thunderbolt Firmware flash finished at 4/6/2017 at 13:00:23***
&lt;/pre&gt;

&lt;p&gt;If Windows has added its boot loader entry into your UEFI options, you can easily remove that again with the Dell UEFI BIOS or efibootmgr from within Linux.&lt;/p&gt;

&lt;p&gt;The whole process took me less than 30 minutes. And most of that was creating the Windows USB thumb drive. I&#039;ll keep that for future updates until Intel and Dell have sorted out the Thunderbolt update process in Linux.&lt;/p&gt;

&lt;h3&gt;Updates:&lt;/h3&gt;

&lt;p&gt;18.05.17:
Intel has published a &lt;a href=&quot;http://lkml.iu.edu/hypermail/linux/kernel/1705.2/02534.html&quot; title=&quot;LKML: [PATCH 00/24] Thunderbolt security levels and NVM firmware upgrade&quot;&gt;large patchset on &lt;abbr title=&quot;Linux Kernel Mailing List&quot;&gt;LKML&lt;/abbr&gt;&lt;/a&gt; to enable Thunderbolt security levels (thus preventing DMA attacks) and get NVM firmware upgrades mainlined. Yeah!&lt;/p&gt;

&lt;p&gt;02.05.18:
Added a link to the &lt;a href=&quot;https://github.com/ValdikSS/windows2usb&quot; title=&quot;windows2usb bash script on Github&quot; target=&quot;_blank&quot;&gt;windows2usb&lt;/a&gt; bash script that should remove the need to create a bootable Windows USB thumb drive with a Windows only software.&lt;/p&gt;

&lt;p&gt;11.06.18:
Added a link to &lt;a href=&quot;https://github.com/slacka/WoeUSB&quot; title=&quot;WoeUSB. A updated WinUSB fork&quot; target=&quot;_blank&quot;&gt;WoeUSB&lt;/a&gt; which is currently packaged for Ubuntu in a PPA.&lt;/p&gt;

&lt;p&gt;08.04.20:
Added a link to &lt;a href=&quot;https://gitlab.com/vaared/wintousblinux/&quot; title=&quot;WinToUSBLinux on Gitlab&quot;&gt;WinToUSBLinux&lt;/a&gt;. A recently released shell script to create a bootable Windows USB stick from Linux.&lt;/p&gt;

&lt;div class=&quot;footnotes&quot;&gt;
&lt;hr /&gt;
&lt;ol&gt;

&lt;li id=&quot;fn:1&quot;&gt;
&lt;p&gt;If you go the Linux route please post a minimal image somewhere (kernel, initrd, squashfs or FAT16/32 raw image) and put a link into a comment below this blog post. Thanks.&amp;#160;&lt;a href=&quot;#fnref:1&quot; rev=&quot;footnote&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
 
    </content:encoded>

    <pubDate>Thu, 06 Apr 2017 14:45:00 +0000</pubDate>
    <guid isPermaLink="false">https://daniel-lange.com/archives/129-guid.html</guid>
    <category>bios</category>
<category>dell</category>
<category>firmware</category>
<category>linux</category>
<category>thunderbolt</category>
<category>uefi</category>
<category>update</category>
<category>updated</category>
<category>windows</category>
<category>xps13</category>

</item>
<item>
    <title>Irssi update to 0.8.19 from Debian jessie-backports may break enter / carriage return key / ↵ key </title>
    <link>https://daniel-lange.com/archives/118-Irssi-update-to-0.8.19-from-Debian-jessie-backports-may-break-enter-carriage-return-key-key.html</link>
            <category>Debian</category>
    
    <comments>https://daniel-lange.com/archives/118-Irssi-update-to-0.8.19-from-Debian-jessie-backports-may-break-enter-carriage-return-key-key.html#comments</comments>
    <wfw:comment>https://daniel-lange.com/wfwcomment.php?cid=118</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=118</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;Updating to irssi 0.8.19 (which is a mainly a bugfix release to 0.8.18) proved a real issue.
The enter key (return key) stopped working. Ctrl-J still worked but that&#039;s way too annoying to remember after each line.
Searching the github issues turned up &lt;a href=&quot;https://github.com/irssi/irssi/issues/327&quot;&gt;#327 Numeric keypad &quot;Enter&quot; key stopped working&lt;/a&gt; which didn&#039;t help much.
Digging deeper it shows the irssi devs enabled &quot;App key&quot; mode in these releases which causes so many issues, they had to implement a switch to &lt;a href=&quot;https://github.com/ailin-nemui/irssi/commit/b9914abbf3a7fae6d15f26650a98d8e74aa1fa05&quot;&gt;turn it off&lt;/a&gt; again.&lt;/p&gt;

&lt;p&gt;So a hopeful:
&lt;code&gt;/set term_appkey_mode off&lt;/code&gt;  &lt;i&gt; followed by &lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;J&lt;/kbd&gt;, remember ...&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;and ... nothing changed.&lt;/p&gt;

&lt;p&gt;So finally, after more digging and a quick consideration to go back to irssi 0.8.17 on Debian stable (Jessie) ...&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/bind ^M key return&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Yes, irssi 0.8.19 wants to be told what the enter key is, like, by default. Duh.&lt;br /&gt;
No idea what caused this in my configuration, I&#039;ve been using irssi for more than a decade so much cruft has accumulated in my &lt;code&gt;.irssi/config&lt;/code&gt; but ... in case you run into this as well, hopefully I helped you save a morning for something better to do.&lt;/p&gt;

&lt;p&gt;If you want to fumble this into your &lt;code&gt;.irssi/config&lt;/code&gt; (e.g. because Ctrl-J does not work for you):&lt;/p&gt;

&lt;pre&gt;
keyboard = (
  [...]
  { key = &quot;^M&quot;; id = &quot;key&quot;; data = &quot;return&quot;; },
  [...]
);
&lt;/pre&gt;
 
    </content:encoded>

    <pubDate>Fri, 06 May 2016 08:30:00 +0000</pubDate>
    <guid isPermaLink="false">https://daniel-lange.com/archives/118-guid.html</guid>
    <category>irssi</category>
<category>key</category>
<category>keyboard</category>
<category>keymap</category>
<category>update</category>

</item>
<item>
    <title>Netatalk 3.1.8 .debs for Debian Jessie available (Apple Timemachine backup to Linux servers)</title>
    <link>https://daniel-lange.com/archives/115-Netatalk-3.1.8-.debs-for-Debian-Jessie-available-Apple-Timemachine-backup-to-Linux-servers.html</link>
            <category>Debian</category>
    
    <comments>https://daniel-lange.com/archives/115-Netatalk-3.1.8-.debs-for-Debian-Jessie-available-Apple-Timemachine-backup-to-Linux-servers.html#comments</comments>
    <wfw:comment>https://daniel-lange.com/wfwcomment.php?cid=115</wfw:comment>

    <slash:comments>7</slash:comments>
    <wfw:commentRss>https://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=115</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;The Debian Netatalk3 saga continues at &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685878&quot; title=&quot;Debian bugtracker: newer upstream versions available&quot;&gt;bug #685878&lt;/a&gt;. In season 4 of the epic the main issue still seems to be unclear license indications of a (very) few source files. And the usual &quot;you go fix it&quot;, &quot;no! you go fix it!&quot;. May be the fact that Firefox will be &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815006&quot; title=&quot;Debian bugtracker: Renaming Iceweasel to Firefox&quot;&gt;Firefox again in Debian&lt;/a&gt; [yeah!] could serve as an inspiration to the Netatalk maintainers?&lt;/p&gt;

&lt;p&gt;Ah, well, until we have the eureka moment for Netatalk3 (4?) ...&lt;br /&gt;
&lt;font color=&quot;green&quot;&gt;&amp;lt;pragmatism style=&quot;priority-on-users:yes&quot;&amp;gt;&lt;/font&gt; ... I&#039;ll post my .debs of the new 3.1.8 version of Netatalk as well.&lt;/p&gt;

&lt;table&gt;
&lt;tr&gt;&lt;td&gt;
&lt;img class=&quot;serendipity_image_left&quot; width=&quot;48&quot; height=&quot;48&quot; hspace=&quot;20&quot; src=&quot;https://daniel-lange.com/uploads/icons/markup/important.png&quot; title=&quot;Warning: Read the original blog post before installing for the first time.&quot; alt=&quot;Warning: Read the original blog post before installing for the first time.&quot; /&gt;
&lt;/td&gt;
&lt;td&gt;
Be sure to read the &lt;a href=&quot;https://daniel-lange.com/archives/102-Apple-Timemachine-backups-on-Debian-8-Jessie.html&quot; title=&quot;Blog entry: Apple Timemachine backups on Debian 8 Jessie&quot;&gt;original blog post&lt;/a&gt; if you are new to Netatalk3 on Debian Jessie!&lt;br /&gt;
You&#039;ll get nowhere if you install the .debs below and don&#039;t know about the upgrade path. So &lt;abbr title=&quot;Read The Fine Article&quot;&gt;RTFA&lt;/abbr&gt;.
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;The &lt;a href=&quot;http://netatalk.sourceforge.net/3.1/ReleaseNotes3.1.8.html&quot; title=&quot;Release Notes / Changelog for Netatalk 3.1.8&quot;&gt;release notes for 3.1.8&lt;/a&gt; don&#039;t list anything that makes the update look mandatory but there is a nice compatibility fix for shares also exported via Samba (compatible xattrs handling). And it&#039;s faster.&lt;/p&gt;

&lt;p&gt;The update instructions (assuming you have installed 3.1.7 before) are:&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# install new debs&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;dpkg&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; libatalk17_3.1.8-&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;_amd64.deb netatalk_3.1.8-&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;_amd64.deb&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# reboot the box (restart of netatalk may not be sufficient)&lt;/span&gt;&lt;br /&gt;reboot&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# After reboot: remove the obsolete libatalk16 (3.1.8 uses libatalk17)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;dpkg&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-r&lt;/span&gt; libatalk16&lt;/div&gt;

&lt;p&gt;And here are the files:&lt;/p&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://daniel-lange.com/archives/115-Netatalk-3.1.8-.debs-for-Debian-Jessie-available-Apple-Timemachine-backup-to-Linux-servers.html#extended&quot;&gt;Continue reading &quot;Netatalk 3.1.8 .debs for Debian Jessie available (Apple Timemachine backup to Linux servers)&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 18 Feb 2016 10:37:00 +0000</pubDate>
    <guid isPermaLink="false">https://daniel-lange.com/archives/115-guid.html</guid>
    <category>apple</category>
<category>debian</category>
<category>jessie</category>
<category>samba</category>
<category>timemachine</category>
<category>update</category>
<category>xattrs</category>

</item>
<item>
    <title>Cygwin automatic updates</title>
    <link>https://daniel-lange.com/archives/114-Cygwin-automatic-updates.html</link>
            <category>IT</category>
    
    <comments>https://daniel-lange.com/archives/114-Cygwin-automatic-updates.html#comments</comments>
    <wfw:comment>https://daniel-lange.com/wfwcomment.php?cid=114</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>https://daniel-lange.com/rss.php?version=2.0&amp;type=comments&amp;cid=114</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Lange)</author>
    <content:encoded>
    &lt;p&gt;&lt;a href=&quot;https://www.cygwin.com/&quot; title=&quot;Cygwin homepage&quot;&gt;Cygwin&lt;/a&gt; is a fantastic product for people that need to use Microsoft Windows and require some compatibility to Linux (or BSD or UNIX in general).&lt;/p&gt;

&lt;p&gt;Unfortunately it is not trivial to keep it updated (and thus safe) as the update process requires downloading the latest installer and then clicking through the package list again and again on every update.&lt;br /&gt;
No &lt;code&gt;apt-get update&lt;/code&gt;, no &lt;code&gt;emerge --update @world&lt;/code&gt;, no &lt;code&gt;dnf update&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;But ... the people at Red Hat (who now own Cygwin) are not mean, they are just not good at documenting things &lt;img src=&quot;https://daniel-lange.com/plugins/serendipity_event_emoticate/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; class=&quot;emoticon&quot; /&gt;...&lt;/p&gt;

&lt;p&gt;Be sure to have wget installed via cygwin, you&#039;ll need it to fetch the installer automatically.&lt;br /&gt;
Then drop the following batch file as &lt;code&gt;cyg_update.bat&lt;/code&gt; into &lt;code&gt;C:\cygwin64&lt;/code&gt; (or where you have installed cygwin&lt;sup id=&quot;fnref:1&quot;&gt;&lt;a href=&quot;#fn:1&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;):&lt;/p&gt;

&lt;div class=&quot;dos geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;﻿&lt;span style=&quot;color: #33cc33;&quot;&gt;@&lt;/span&gt;&lt;a href=&quot;http://www.ss64.com/nt/echo.html&quot;&gt;&lt;span style=&quot;color: #b1b100; font-weight: bold;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; off&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;a href=&quot;http://www.ss64.com/nt/cd.html&quot;&gt;&lt;span style=&quot;color: #b1b100; font-weight: bold;&quot;&gt;cd&lt;/span&gt;&lt;/a&gt; /d C:\cygwin64&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;a href=&quot;http://www.ss64.com/nt/del.html&quot;&gt;&lt;span style=&quot;color: #b1b100; font-weight: bold;&quot;&gt;del&lt;/span&gt;&lt;/a&gt; /Q cygwinSetup-x86_64.exe&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;bin\wget.exe --progress=dot -S -N http://cygwin.com/setup-x86_64.exe&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;a href=&quot;http://www.ss64.com/nt/move.html&quot;&gt;&lt;span style=&quot;color: #b1b100; font-weight: bold;&quot;&gt;move&lt;/span&gt;&lt;/a&gt; /y setup-x86_64.exe cygwinSetup-x86_64.exe &lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;REM S-1-1-0 is the SID for &amp;quot;Everyone&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;icacls cygwinSetup-x86_64.exe /grant *S-1-1-0:RX&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-weight: normal; vertical-align:top;&quot;&gt;&lt;div style=&quot;font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;&quot;&gt;cygwinSetup-x86_64.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

&lt;p&gt;Once you start the batch (e.g. by double-clicking from Windows Explorer) it will download the latest installer from Cygwin.com and perform a silent update.
You need to approve the Windows installer warning as you do with every manual install / update as well. So it&#039;s not a no-click update but a one-or-two-clicks update.&lt;br /&gt;
Still much better than the click fest without the batch file.&lt;/p&gt;

&lt;p&gt;&lt;a class=&quot;serendipity_image_link&quot; title=&quot;Cygwin update screenshot&quot; href=&#039;https://daniel-lange.com/uploads/entries/Screenshot_cygwin.png&#039; onclick=&quot;F1 = window.open(&#039;/uploads/entries/Screenshot_cygwin.png&#039;,&#039;Zoom&#039;,&#039;height=1095,width=1409,top=60,left=263,toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes&#039;); return false;&quot;&gt;&lt;!-- s9ymdb:618 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;697&quot; height=&quot;540&quot;  src=&quot;https://daniel-lange.com/uploads/entries/Screenshot_cygwin.png&quot; title=&quot;Cygwin update screenshot&quot; alt=&quot;Cygwin update screenshot&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Update&lt;/h3&gt;

&lt;p&gt;01.06.2017: I&#039;ve changed &lt;tt&gt;icacls cygwinSetup-x86_64.exe /grant &lt;b&gt;Everyone&lt;/b&gt;:RX&lt;/tt&gt; to &lt;tt&gt;icacls cygwinSetup-x86_64.exe /grant &lt;b&gt;*S-1-1-0&lt;/b&gt;:RX&lt;/tt&gt; which is the SID and not language dependent. &#039;cause otherwise German Windows would like to see &quot;Jeder&quot; and French &quot;Tous publics&quot;, Chinese &quot;任何人&quot;, etc. Looking them up on &lt;a href=&quot;https://www.microsoft.com/language/en-us/Search.aspx&quot;&gt;Microsoft&#039;s terminology search&lt;/a&gt; is quite nice but not really scalable.&lt;/p&gt;

&lt;div class=&quot;footnotes&quot;&gt;
&lt;hr /&gt;
&lt;ol&gt;

&lt;li id=&quot;fn:1&quot;&gt;
&lt;p&gt;If you have installed the 32bit version and/or used a different install path, adjust line 2 of the batch file accordingly. Did I need to say that? Hm, well, I did ... have a cookie.&amp;#160;&lt;a href=&quot;#fnref:1&quot; rev=&quot;footnote&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
 
    </content:encoded>

    <pubDate>Wed, 17 Feb 2016 12:37:00 +0000</pubDate>
    <guid isPermaLink="false">https://daniel-lange.com/archives/114-guid.html</guid>
    <category>automate</category>
<category>batch</category>
<category>cygwin</category>
<category>install</category>
<category>script</category>
<category>update</category>
<category>windows</category>

</item>

</channel>
</rss>
