{"id":1694,"date":"2023-06-11T22:42:27","date_gmt":"2023-06-11T20:42:27","guid":{"rendered":"https:\/\/alessandromasciadri.com\/?p=1694"},"modified":"2023-06-11T23:13:20","modified_gmt":"2023-06-11T21:13:20","slug":"come-spegnere-o-riavviare-ubuntu-core-usando-curl","status":"publish","type":"post","link":"https:\/\/alessandromasciadri.com\/come-spegnere-o-riavviare-ubuntu-core-usando-curl\/","title":{"rendered":"Come spegnere o riavviare Ubuntu Core usando cURL"},"content":{"rendered":"\t\t<div data-akihiro-type=\"ama-post\" data-akihiro-id=\"1694\" class=\"akihiro akihiro-1694\" data-akihiro-post-type=\"post\">\n\t\t\t\t<div class=\"akihiro-element akihiro-element-7d808c8 e-flex e-con-boxed e-con e-parent\" data-id=\"7d808c8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"akihiro-element akihiro-element-d02916a akihiro-widget akihiro-widget-text-editor\" data-id=\"d02916a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Il problema che affrontiamo oggi riguarda lo spegnimento di una macchina Ubuntu Core o Ubuntu utilizzando cURL. Questo articolo pu\u00f2 tornare utile sia a sviluppatori sia a sistemisti che hanno bisogno di uno strumento facile da invocare che permetta lo spegnimento o il riavvio del sistema.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-a19efc5 akihiro-widget akihiro-widget-heading\" data-id=\"a19efc5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">PowerSwitch Snap<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-622f343 akihiro-widget akihiro-widget-text-editor\" data-id=\"622f343\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Sullo snap store snapcraft.io \u00e8 reperibile questo tanto semplice quanto efficace snap <a href=\"https:\/\/snapcraft.io\/powerswitch\" target=\"_blank\" rel=\"noopener\">https:\/\/snapcraft.io\/powerswitch<\/a> che permette con due semplici comandi di spegnere o riavviare remotamente una macchina basata su Ubuntu o Ubuntu Core.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-8897605 akihiro-widget akihiro-widget-html\" data-id=\"8897605\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<a href=\"https:\/\/snapcraft.io\/powerswitch\">\n  <img decoding=\"async\" alt=\"Get it from the Snap Store\" src=\"https:\/\/snapcraft.io\/static\/images\/badges\/en\/snap-store-black.svg\" \/>\n<\/a>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-0ef32a4 akihiro-widget akihiro-widget-heading\" data-id=\"0ef32a4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h4 class=\"akihiro-heading-title akihiro-size-default\">Installazione<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-760b71e akihiro-widget akihiro-widget-text-editor\" data-id=\"760b71e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Per poterlo installare \u00e8 sufficiente digitare nella shell il seguente comando:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-5ad8637 akihiro-widget akihiro-widget-code-highlight\" data-id=\"5ad8637\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript \">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>snap install powerswitch<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-f3ed303 akihiro-widget akihiro-widget-text-editor\" data-id=\"f3ed303\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Come descritto nella <a href=\"https:\/\/snapcraft.io\/powerswitch\" target=\"_blank\" rel=\"noopener\">pagina ufficiale<\/a> dello snap, per poterlo utilizzare \u00e8 necessario anzitutto connettere l&#8217;interfaccia di shutdown. Per farlo \u00e8 sufficiente lanciare il seguente comando:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-6f26e6b akihiro-widget akihiro-widget-code-highlight\" data-id=\"6f26e6b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript \">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>snap connect powerswitch:shutdown<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-3451939 akihiro-widget akihiro-widget-heading\" data-id=\"3451939\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h4 class=\"akihiro-heading-title akihiro-size-default\">Utilizzo<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-d5423bb akihiro-widget akihiro-widget-text-editor\" data-id=\"d5423bb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>A questo punto siamo pronti per il suo utilizzo, che pu\u00f2 essere sia sistemistico, sia per risolvere necessit\u00e0 di sviluppo. Per esempio, se per ragioni di amministrazione di sistema volessimo avere a disposizione un comando da invocare remotamente per spegnere o riavviare la nostra macchina, beh, potremmo farlo grazie a due semplici comandi.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-fee9af6 akihiro-widget akihiro-widget-heading\" data-id=\"fee9af6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h5 class=\"akihiro-heading-title akihiro-size-default\">Spegnimento<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-2607885 akihiro-widget akihiro-widget-code-highlight\" data-id=\"2607885\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript \">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>curl http:\/\/ip-address:3500\/poweroff\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-6957955 akihiro-widget akihiro-widget-heading\" data-id=\"6957955\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h5 class=\"akihiro-heading-title akihiro-size-default\">Riavvio<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-f85c9e2 akihiro-widget akihiro-widget-code-highlight\" data-id=\"f85c9e2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript \">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>curl http:\/\/ip-address:3500\/reboot\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-c20912d akihiro-widget akihiro-widget-heading\" data-id=\"c20912d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h4 class=\"akihiro-heading-title akihiro-size-default\">Utilizzo per gli sviluppatori<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-391eb91 akihiro-widget akihiro-widget-text-editor\" data-id=\"391eb91\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Per chi si occupa di sviluppo, potrebbe tornare comodo avere due semplici endpoint da invocare che si occupino di riavviare o spegnere la macchina.<\/p><p>Per chi si dovesse chiedere perch\u00e9 non utilizzare un sottoprocesso che invii il comando alla macchina host, la risposta \u00e8 che potrebbe essere che si stia sviluppando una app che giri containerizzata e pertanto invocare un sottoprocesso non ci permetterebbe di raggiungere e spegnere o riavviare la macchina host.<\/p><p>Certo, ci sono altri escamotage che permettono di accedere la macchina host da dentro un container, come per esempio il privileged mode in Docker, ma \u00e8 comunque una manovra che per ragioni di sicurezza \u00e8 da evitare se il nostro unico scopo \u00e8 quello di spegnere o riavviare la macchina host.<\/p><p>Pertanto, l&#8217;utilizzo di questo snap pu\u00f2 tornare molto utile anche in scenari di sviluppo. Io personalmente lo uso in ambito IoT.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Il problema che affrontiamo oggi riguarda lo spegnimento di una macchina Ubuntu Core o Ubuntu utilizzando cURL. Questo articolo pu\u00f2 tornare utile sia a sviluppatori sia a sistemisti che hanno bisogno di uno strumento facile da invocare che permetta lo spegnimento o il riavvio del sistema. PowerSwitch Snap Sullo snap store snapcraft.io \u00e8 reperibile questo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,4],"tags":[20,30,32,19],"class_list":["post-1694","post","type-post","status-publish","format-standard","hentry","category-programmazione","category-sistemistica","tag-linux","tag-snap","tag-snapcraft","tag-ubuntu"],"_links":{"self":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/1694","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/comments?post=1694"}],"version-history":[{"count":11,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/1694\/revisions"}],"predecessor-version":[{"id":1706,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/1694\/revisions\/1706"}],"wp:attachment":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/media?parent=1694"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/categories?post=1694"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/tags?post=1694"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}