{"id":1551,"date":"2014-03-14T21:57:07","date_gmt":"2014-03-14T19:57:07","guid":{"rendered":"http:\/\/stephane.weblog.starend.org\/?p=1551"},"modified":"2014-03-14T21:57:07","modified_gmt":"2014-03-14T19:57:07","slug":"mise-a-jour-automatique-au-demarrage","status":"publish","type":"post","link":"http:\/\/stephane.weblog.starend.org\/?p=1551","title":{"rendered":"Mise \u00e0 jour automatique au d\u00e9marrage"},"content":{"rendered":"<p style=\"text-align: justify;\">Voici un moyen de faire automatiquement les mises \u00e0 jours lors du d\u00e9marrage du syst\u00e8me. On se base ici sur une machine Ubuntu Linux 13.10 en fonctionnement nominal.<\/p>\n<p style=\"text-align: justify;\">Il y a une m\u00e9thode officielle via <a title=\"unattended-upgrades\" href=\"https:\/\/help.ubuntu.com\/community\/AutomaticSecurityUpdates\" target=\"_blank\">unattended-upgrades<\/a>. Perso, je dois \u00eatre mauvais, \u00e7a ne marche pas bien :'(<br \/>\n\u00c7a me t\u00e9l\u00e9charge bien les paquets \u00e0 installer mais \u00e0 part me pr\u00e9venir qu&rsquo;il faut le faire&#8230; \u00e7a ne le fait pas tout seul chez moi&#8230;<\/p>\n<p style=\"text-align: justify;\">On va r\u00e9partir le travail en deux parties et une sp\u00e9ciale serveurs. La premi\u00e8re est le script qui fait les mises \u00e0 jours. La deuxi\u00e8me partie concerne l&rsquo;insertion au d\u00e9marrage d&rsquo;une station de travail via <a title=\"upstart\" href=\"http:\/\/upstart.ubuntu.com\/\" target=\"_blank\">upstart<\/a>. Et enfin une troisi\u00e8me partie va permettre de tenir \u00e0 jour r\u00e9guli\u00e8rement les serveurs.<\/p>\n<p style=\"text-align: justify;\"><span style=\"text-decoration: underline;\">Comme \u00e7a, vous n&rsquo;aurez plus aucune excuse pour ne pas avoir vos machines \u00e0 jour!<\/span><\/p>\n<p style=\"text-align: justify;\"><!--more--><\/p>\n<h2 style=\"text-align: justify;\">Script de mise \u00e0 jour<\/h2>\n<p style=\"text-align: justify;\">Ce script doit \u00eatre autonome, c&rsquo;est \u00e0 dire qu&rsquo;il ne peux pas poser de question \u00e0 l&rsquo;utilisateur. Comme on va l&rsquo;utiliser lors du d\u00e9marrage, et donc qu&rsquo;il n&rsquo;y a aucun affichage, on va envoyer les r\u00e9sultats via <a title=\"syslog\" href=\"http:\/\/fr.wikipedia.org\/wiki\/Syslog\" target=\"_blank\">syslog<\/a>. Le compte rendu de mise \u00e0 jour est donc disponible soit dans <code>\/var\/log\/syslog<\/code>, soit dans <code>\/var\/log\/apt\/history.log<\/code> .<br \/>\nDe par la nature sp\u00e9cifique du <em>flash<\/em> et de son int\u00e9gration, il se peut que ses mises \u00e0 jours ne se passe pas bien. On va forcer la r\u00e9installation en cas de probl\u00e8me. Vu ce que je pense de cette c<sub>[CENSURE]<\/sub>e de <em>flash<\/em> et de la grande majorit\u00e9 des site qui l&rsquo;utilisent&#8230; il vaudrait mieux ne pas avoir \u00e0 l&rsquo;installer, malheureusement&#8230;<\/p>\n<p style=\"text-align: justify;\">Il faut dans l&rsquo;ordre:<\/p>\n<ol>\n<li>D\u00e9sactiver l&rsquo;interaction avec l&rsquo;utilisateur.<\/li>\n<li>Mettre \u00e0 jour la liste des d\u00e9p\u00f4ts.<\/li>\n<li>Mettre \u00e0 jour les paquets qui le demandent.<\/li>\n<li>V\u00e9rifier le flash et le r\u00e9installer au besoin.<\/li>\n<li>Supprimer automatiquement les paquets non-utilis\u00e9s.<\/li>\n<li>Vider le cache de paquets.<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">Cr\u00e9er le fichier <code>\/usr\/local\/bin\/aptupdate<\/code> contenant :<\/p>\n<pre>#!\/bin\/bash\nlogger \"APTUPDATE BEGIN\"\nDEBIAN_FRONTEND=noninteractive\napt-get -y -qq update 2&gt;&amp;1 | logger -t \"APTUPDATE\"\napt-get -y -qq dist-upgrade 2&gt;&amp;1 | logger -t \"APTUPDATE\"\n[ \"$(dpkg -l | grep flashplugin-installer)\" != \"\" ] &amp;&amp; \n\u00c2\u00a0 [ ! -f \/usr\/lib\/mozilla\/plugins\/flashplugin-alternative.so ] &amp;&amp; \n  aptitude -y reinstall flashplugin-installer 2&gt;&amp;1 | logger -t \"APTUPDATE\"\napt-get -y -qq autoremove 2&gt;&amp;1 | logger -t \"APTUPDATE\"\napt-get -y -qq clean 2&gt;&amp;1 | logger -t \"APTUPDATE\"\nlogger \"APTUPDATE END\"<\/pre>\n<p style=\"text-align: justify;\">Le rendre ex\u00e9cutable :<br \/>\n<code>chown root.root \/usr\/local\/bin\/aptupdate<br \/>\nchmod 755 \/usr\/local\/bin\/aptupdate<\/code><br \/>\n(faire pr\u00e9c\u00e9der de <code>sudo<\/code> au besoin)<\/p>\n<h2 style=\"text-align: justify;\">Insertion au d\u00e9marrage<\/h2>\n<p style=\"text-align: justify;\">Pour ins\u00e9rer quelque chose au d\u00e9marrage, il suffit de cr\u00e9er le fichier de configuration ad\u00e9quat dans <code>\/etc\/init<\/code> . Ce sera automatiquement pris en compte au prochain d\u00e9marrage.<\/p>\n<p style=\"text-align: justify;\">On cr\u00e9e le fichier <code>\/etc\/init\/aptupdate.conf<\/code> contenant :<\/p>\n<pre># aptupdate - Automatisation de apt.\n\ndescription\t\"Auto update\"\n\nstart on (runlevel [2345] and filesystem)\nstop on runlevel [!2345]\n\nconsole none\n\nexec \/usr\/local\/bin\/aptupdate<\/pre>\n<p style=\"text-align: justify;\"><span style=\"color: #ff0000;\"><strong>ATTENTION !<\/strong><\/span> La machine peut \u00eatre tr\u00e8s lente au d\u00e9marrage si elle n&rsquo;a pas vu une mise \u00e0 jour depuis une dizaine de jours&#8230; Mais les mises \u00e0 jours se font en t\u00e2che de fond, on peut se connecter et gland^W^W^Wtravailler malgr\u00e9 tout.<\/p>\n<p>Je n&rsquo;ai pas encore trouv\u00e9 pour faire les mises \u00e0 jours \u00e0 l&rsquo;arr\u00eat&#8230; Ce sera pour une prochaine fois&#8230;<\/p>\n<h2 style=\"text-align: justify;\">Mise \u00e0 jour r\u00e9guli\u00e8re de serveurs<\/h2>\n<p style=\"text-align: justify;\">Cette partie est moins int\u00e9ressante pour une station de travail, quoique&#8230;<br \/>\nC&rsquo;est surtout destin\u00e9 \u00e0 des serveurs qui tournent H24 et donc&#8230; ne red\u00e9marrent jamais.<\/p>\n<p style=\"text-align: justify;\">On va dire que l&rsquo;on programme les mises \u00e0 jours tous les jours \u00e0 3 heure du matin. on peut le faire plus souvent si n\u00e9cessaire.<br \/>\nOn doit aussi faire red\u00e9marrer automatiquement le serveur si celui-ci le demande. \u00c7a peut se faire \u00e0 4h par exemple.<\/p>\n<p style=\"text-align: justify;\">Pour r\u00e9aliser ces deux t\u00e2ches r\u00e9guli\u00e8rement, rien de mieux que de le demander gentiment \u00e0 notre ami <a title=\"cron\" href=\"http:\/\/fr.wikipedia.org\/wiki\/Cron\" target=\"_blank\">cron<\/a>. Ajouter ces lignes \u00e0 la fin du fichier <code>\/etc\/crontab<\/code> :<br \/>\n<code>0 3 * * * root \/usr\/local\/bin\/aptupdate<br \/>\n0 4 * * * root [ -f \/var\/run\/reboot-required ] &amp;&amp; reboot<\/code><\/p>\n<p style=\"text-align: justify;\">H\u00e9vouala c\u00e9f\u00e9!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voici un moyen de faire automatiquement les mises \u00e0 jours lors du d\u00e9marrage du syst\u00e8me. On se base ici sur une machine Ubuntu Linux 13.10 en fonctionnement nominal. Il y a une m\u00e9thode officielle via unattended-upgrades. Perso, je dois \u00eatre mauvais, \u00e7a ne marche pas bien :'( \u00c7a me t\u00e9l\u00e9charge bien les paquets \u00e0 installer &hellip; <a href=\"http:\/\/stephane.weblog.starend.org\/?p=1551\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Mise \u00e0 jour automatique au d\u00e9marrage<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[43,10,11,14,26],"tags":[133,371,401],"_links":{"self":[{"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=\/wp\/v2\/posts\/1551"}],"collection":[{"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1551"}],"version-history":[{"count":0,"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=\/wp\/v2\/posts\/1551\/revisions"}],"wp:attachment":[{"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1551"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}