Система автономного обновления Linux
Многие пользователи и администраторы настольных систем на базе Linux заметили, что теперь обновления системы происходит при перезагрузке, совсем как в Windows.
Теперь мало просто запустить обновление, нужно еще обязательно перезагрузить систему и дождаться их установки. Кто-то воспринял данные новшества положительно, но многим это не понравилось, поэтому в данном материале мы постараемся подробно рассмотреть этот вопрос.
Сразу оговоримся, что речь в данном случае идет сугубо о системах с графической оболочкой.
Впервые проблема с обновлениями была сформулирована разработчиками Fedora еще в 2009 году. Тогда основной претензией было то, что обновления поставляются хаотично, не тестируются в комплексе и непонятны пользователям.
Действительно, если пользователю каждый день приходят обновления каких-то второстепенных библиотек, непонятного для него назначения, то это просто неуважение к рабочему времени пользователя.
Вторая проблема – это возможная работа пользователя в процессе обновления, Linux умеет заменять файлы уже запущенных приложений, но не все приложения умеют корректно обрабатывать такую ситуацию.
Тот же Firefox обнаружив обновление файлов программы попросит вас перезапустить браузер, но иные программы могут завершиться с ошибкой, зависнуть, вызвать темный экран и т.д. и т.п.
Несмотря на то, что процесс обновления продолжается пользователю может показаться, что система зависла или заглючила и он может принудительно ее перезагрузить.
Из этого вытекает третья проблема - выключение питания или перезагрузка системы во время обновления. Несмотря на то, что такое действие не приводит к действительно фатальным последствиям, но для обычного пользователя невозможность загрузить графическую оболочку равносильно отказу системы.
Чтобы решить все эти проблемы была разработана система автономного обновления, которая состоит из двух основных компонентов: пакетного менеджера и специальной службы systemd.
Теперь пакетный менеджер только скачивает обновления и уведомляет systemd об их наличии.
Но, как мы помним, дергать пользователя по пустякам – это очень плохо. Поэтому в зависимости от статуса обновления systemd может не спешить уведомлять пользователя об их наличии, а делать это, скажем, раз в неделю.
Также на пользователя не вываливается вся куча обновлений, а разбивается на метапакеты: обновление системы (23 пакета), обновление KDE (15 пакетов), обновление Firefox, LibreOffice и т.д., что делает процесс более понятным для пользователя.
Он видит пакеты обновления системы и пакеты обновления приложений, что гораздо удобнее чем длинный список непонятных пакетов.
При перезагрузке, если systemd видит скачанные обновления, то он загружает систему в специальный безопасный режим и начинает установку обновлений.
Если при этом произошло отключение питания, то при следующей загрузке systemd повторит эту процедуру. А если при установке обновлений произошли ошибки, то systemd откатит состояние системы.
При загрузке в нормальном режиме пользователь получит сообщение либо об успешном обновлении системы, либо об ошибке.
При этом возможно частичное обновление системы, если сбойный пакет не препятствует установке других обновлений.
Таким образом процесс обновления становится проще для пользователя и вписывается в его привычный пользовательский опыт, когда установка обновлений происходит при перезагрузке.
С технической стороны это делает систему более надежной и практически на 100% гарантирует ее загрузку в графическом режиме (за исключением действительно серьезных проблем).
Многие пользователи и администраторы настольных систем на базе Linux заметили, что теперь обновления системы происходит при перезагрузке, совсем как в Windows.
Теперь мало просто запустить обновление, нужно еще обязательно перезагрузить систему и дождаться их установки. Кто-то воспринял данные новшества положительно, но многим это не понравилось, поэтому в данном материале мы постараемся подробно рассмотреть этот вопрос.
Сразу оговоримся, что речь в данном случае идет сугубо о системах с графической оболочкой.
Впервые проблема с обновлениями была сформулирована разработчиками Fedora еще в 2009 году. Тогда основной претензией было то, что обновления поставляются хаотично, не тестируются в комплексе и непонятны пользователям.
Действительно, если пользователю каждый день приходят обновления каких-то второстепенных библиотек, непонятного для него назначения, то это просто неуважение к рабочему времени пользователя.
Вторая проблема – это возможная работа пользователя в процессе обновления, Linux умеет заменять файлы уже запущенных приложений, но не все приложения умеют корректно обрабатывать такую ситуацию.
Тот же Firefox обнаружив обновление файлов программы попросит вас перезапустить браузер, но иные программы могут завершиться с ошибкой, зависнуть, вызвать темный экран и т.д. и т.п.
Несмотря на то, что процесс обновления продолжается пользователю может показаться, что система зависла или заглючила и он может принудительно ее перезагрузить.
Из этого вытекает третья проблема - выключение питания или перезагрузка системы во время обновления. Несмотря на то, что такое действие не приводит к действительно фатальным последствиям, но для обычного пользователя невозможность загрузить графическую оболочку равносильно отказу системы.
Чтобы решить все эти проблемы была разработана система автономного обновления, которая состоит из двух основных компонентов: пакетного менеджера и специальной службы systemd.
Теперь пакетный менеджер только скачивает обновления и уведомляет systemd об их наличии.
Но, как мы помним, дергать пользователя по пустякам – это очень плохо. Поэтому в зависимости от статуса обновления systemd может не спешить уведомлять пользователя об их наличии, а делать это, скажем, раз в неделю.
Также на пользователя не вываливается вся куча обновлений, а разбивается на метапакеты: обновление системы (23 пакета), обновление KDE (15 пакетов), обновление Firefox, LibreOffice и т.д., что делает процесс более понятным для пользователя.
Он видит пакеты обновления системы и пакеты обновления приложений, что гораздо удобнее чем длинный список непонятных пакетов.
При перезагрузке, если systemd видит скачанные обновления, то он загружает систему в специальный безопасный режим и начинает установку обновлений.
Если при этом произошло отключение питания, то при следующей загрузке systemd повторит эту процедуру. А если при установке обновлений произошли ошибки, то systemd откатит состояние системы.
При загрузке в нормальном режиме пользователь получит сообщение либо об успешном обновлении системы, либо об ошибке.
При этом возможно частичное обновление системы, если сбойный пакет не препятствует установке других обновлений.
Таким образом процесс обновления становится проще для пользователя и вписывается в его привычный пользовательский опыт, когда установка обновлений происходит при перезагрузке.
С технической стороны это делает систему более надежной и практически на 100% гарантирует ее загрузку в графическом режиме (за исключением действительно серьезных проблем).
👍25🤔3
Система автономного обновления Linux - это:
Anonymous Poll
21%
Правильный шаг, делает Linux проще и удобнее для простого пользовтаеля
18%
Правильный шаг, делает процесс обновления безопаснее и исключает ряд проблем
23%
Затрудняюсь дать оценку
10%
Неправильный шаг, так как перенимает худшие практики Windows
10%
Неправильный шаг, так как забирает контроль над системой
8%
Это религиозно неприемлемо
11%
Ничего не понятно, но очень интересно
Конкатенация в Windows и Linux
Многие знают команду
На самом деле команда cat выполняет конкатенацию – т.е. соединение текстовых строк.
Допустим нам надо объединить два текстовых файла. Самый простой вариант:
После чего содержимое второго файла будет добавлено в конец первого. Но здесь мы использовали только перенаправление, а cat просто прочитал второй файл.
А если нужно наоборот, сначала содержимое второго файла, а потом первого?
В этом случае нам как раз потребуется конкатенация с перенаправлением результата в новый файл:
Подобные задачи очень часто встречаются на практике, поэтому подобными инструментами нужно владеть на всех используемых платформах.
Говоря о платформе Windows на ум сразу приходит PowerShell, но, вопреки мнению о скудости и убогости, CMD тоже есть что нам предложить.
Практически полным аналогом команды
И это не «тип» как вы могли подумать, а «тайп», глагол имеющий значение «печатать», сразу можно вспомнить «телетайп».
Те же самые команды будут выглядеть как:
И да, перенаправление в Windows тоже есть и было с незапамятных времен.
При этом работа и cat и type имеет свою особенность, они предполагают, что файл должен заканчиваться последовательностью
Иначе вместо ожидаемого результата:
Вы можете получить и получите:
В Linux это обычно не составляет проблемы, все текстовые редакторы, хоть консольные, хоть графические корректно завершают файл. А вот тот же Блокнот способен доставить проблем.
Ну и наконец PowerShell, для этого у него имеется специальный командлет
Чтобы прочитать содержимое файла выполните:
Но можно написать проще:
Если нужно выполнить конкатенацию, то перечислите нужные файлы через запятую.
В PowerShell указанные выше команды будут выглядеть так:
А так как PowerShell возвращает нам набор объектов по одному на строку, то для него не имеет значения завершается ли файл EOF или нет. Результат всегда будет ожидаем.
Многие знают команду
cat
, которая чаще всего используется для чтения файлов, и могут удивляться ее названию, недоумевая – причем тут кошки. На самом деле команда cat выполняет конкатенацию – т.е. соединение текстовых строк.
Допустим нам надо объединить два текстовых файла. Самый простой вариант:
cat two.txt >> one.txt
После чего содержимое второго файла будет добавлено в конец первого. Но здесь мы использовали только перенаправление, а cat просто прочитал второй файл.
А если нужно наоборот, сначала содержимое второго файла, а потом первого?
В этом случае нам как раз потребуется конкатенация с перенаправлением результата в новый файл:
cat two.txt one.txt >> result.txt
Подобные задачи очень часто встречаются на практике, поэтому подобными инструментами нужно владеть на всех используемых платформах.
Говоря о платформе Windows на ум сразу приходит PowerShell, но, вопреки мнению о скудости и убогости, CMD тоже есть что нам предложить.
Практически полным аналогом команды
cat
в CMD является type
.И это не «тип» как вы могли подумать, а «тайп», глагол имеющий значение «печатать», сразу можно вспомнить «телетайп».
Те же самые команды будут выглядеть как:
type two.txt >> one.txt
type two.txt one.txt >> result.txt
И да, перенаправление в Windows тоже есть и было с незапамятных времен.
При этом работа и cat и type имеет свою особенность, они предполагают, что файл должен заканчиваться последовательностью
EOF (End of File)
ну или содержать в конце символ переноса строки.Иначе вместо ожидаемого результата:
строка_файла_1
строка_файла_2
Вы можете получить и получите:
строка_файла_1строка_файла_2
В Linux это обычно не составляет проблемы, все текстовые редакторы, хоть консольные, хоть графические корректно завершают файл. А вот тот же Блокнот способен доставить проблем.
Ну и наконец PowerShell, для этого у него имеется специальный командлет
Get-Content
. А так как PowerShell имеет объектную модель, то результатом его работы будет набор объектов, каждый из которых будет содержать строку исходного файла.Чтобы прочитать содержимое файла выполните:
Get-Content -Path one.txt
Но можно написать проще:
Get-Content one.txt
Если нужно выполнить конкатенацию, то перечислите нужные файлы через запятую.
В PowerShell указанные выше команды будут выглядеть так:
Get-Content two.txt >> one.txt
Get-Content two.txt, one.txt >> result.txt
А так как PowerShell возвращает нам набор объектов по одному на строку, то для него не имеет значения завершается ли файл EOF или нет. Результат всегда будет ожидаем.
👍30🥱2
Какие команды из перечисленных в заметке вы знаете и используете?
Anonymous Poll
78%
cat
20%
type
21%
Get-Content
21%
А причем тут кошки?
Media is too big
VIEW IN TELEGRAM
Занимательная химия от Альт Образования 10
Такая вот занимательная химия обнаружилась в Альт Образовании.
Заставок там много, руками специально сразу не найдешь, но вот взяла и вылезла на экран.
Раз в году и палка стреляет, зная нынешних учеников, отдельных родителей, а также нравы и порядки в системе образования, можно смело сказать, что это способно вырасти в небольшой скандал.
Или большой, смотря как далеко разойдется и под каким соусом будет подано.
А так, заставка в целом неплохая. Познавательная. Но зная нынешние нравы и наличие в каждом кармане телефона с камерой я бы на месте разработчиков убрал бы ее из дистрибутива.
Такая вот занимательная химия обнаружилась в Альт Образовании.
Заставок там много, руками специально сразу не найдешь, но вот взяла и вылезла на экран.
Раз в году и палка стреляет, зная нынешних учеников, отдельных родителей, а также нравы и порядки в системе образования, можно смело сказать, что это способно вырасти в небольшой скандал.
Или большой, смотря как далеко разойдется и под каким соусом будет подано.
А так, заставка в целом неплохая. Познавательная. Но зная нынешние нравы и наличие в каждом кармане телефона с камерой я бы на месте разработчиков убрал бы ее из дистрибутива.
🤣17🤔4👎2😢1🤡1
В Москве пройдёт митап для начинающих IT-специалистов
28 спикеров, 19 лекций: backend, frontend, data science, кибербезопасность, прокачка IT-карьеры и многое другое.
Участников ждут:
🔹 лайфхаки, как вырасти от джуна до сеньора;
🔹 прожарка резюме;
🔹 нетворкинг с 1000+ участниками митапа и спикерами;
🔹 after-party.
P.S.: 🎁 Каждому участнику подарят велком пэк с мерчем.
Участие бесплатное!
📍 Москва, ул. Покровка, д. 47 (м. Красные ворота / м. Курская)
🔗 Зарегистрироваться
#ds #backend #frontend #infosec
Реклама. БАНК ГПБ (АО). ИНН 7744001497.
28 спикеров, 19 лекций: backend, frontend, data science, кибербезопасность, прокачка IT-карьеры и многое другое.
Участников ждут:
🔹 лайфхаки, как вырасти от джуна до сеньора;
🔹 прожарка резюме;
🔹 нетворкинг с 1000+ участниками митапа и спикерами;
🔹 after-party.
P.S.: 🎁 Каждому участнику подарят велком пэк с мерчем.
Участие бесплатное!
📍 Москва, ул. Покровка, д. 47 (м. Красные ворота / м. Курская)
🔗 Зарегистрироваться
#ds #backend #frontend #infosec
Реклама. БАНК ГПБ (АО). ИНН 7744001497.
Посадил дед репку...
Решили на одном проекте поддержать отечественного производителя.
Применяться будет как замена Raspberry Pi для промышленной автоматизации.
С учетом того, что полный комплект можно взять с корпусом за 10 тыс. руб. выглядит весьма перспективно.
Заодно и Repka Pi OS пощупаем и оценим.
Кто-то имеет опыт работы? Плюсы, минусы, подводные камни?
Решили на одном проекте поддержать отечественного производителя.
Применяться будет как замена Raspberry Pi для промышленной автоматизации.
С учетом того, что полный комплект можно взять с корпусом за 10 тыс. руб. выглядит весьма перспективно.
Заодно и Repka Pi OS пощупаем и оценим.
Кто-то имеет опыт работы? Плюсы, минусы, подводные камни?
🔥17👍7🤔5
Использовали ли вы Repka Pi 3?
Anonymous Poll
1%
Да, опыт положительный
0%
Да, опыт отрицательный
18%
Нет, но хотим попробовать
26%
Нет и не собираемся
38%
Первый раз услышал
16%
Ничего не понятно, но очень интересно
И снова коллеги задают вопросы.
Руководство собралось на Новый год куда-то там и нужно настроить им VPN чтобы пролазил отовсюду и везде. При этом основная проблема - это разные отельные Wi-Fi где может быть порезано все что угодно.
Понятно, что в этом случае нам нужен SSL VPN, который бы ходил аналогично обычному трафику.
И практически никто не вспоминает об OpenConnect, открытой реализации Cisco AnyConnect. А зря. Для удаленного доступа это один из самых оптимальных вариантов, с учетом того, что он тоже умеет передавать настройки с сервера на клиент.
До Нового года еще можно успеть развернуть и настроить!
https://interface31.ru/tech_it/2022/04/nastraivaem-openconnect-sovmestimyy-s-cisco-anyconnect-vpn-server-na-platforme-linux.html
Руководство собралось на Новый год куда-то там и нужно настроить им VPN чтобы пролазил отовсюду и везде. При этом основная проблема - это разные отельные Wi-Fi где может быть порезано все что угодно.
Понятно, что в этом случае нам нужен SSL VPN, который бы ходил аналогично обычному трафику.
И практически никто не вспоминает об OpenConnect, открытой реализации Cisco AnyConnect. А зря. Для удаленного доступа это один из самых оптимальных вариантов, с учетом того, что он тоже умеет передавать настройки с сервера на клиент.
До Нового года еще можно успеть развернуть и настроить!
https://interface31.ru/tech_it/2022/04/nastraivaem-openconnect-sovmestimyy-s-cisco-anyconnect-vpn-server-na-platforme-linux.html
👍40
Да что там того браузера...
К браузерам у пользователей отношение зачастую пренебрежительное, как к некой простой программке, которая показывает интернет, поет музыку и особо ни на что не влияет.
Сегодня с одной торговой точки стали поступать обращения что POS-терминал очень сильно тормозит.
Зашли, проверили - тормозит. Бегло - проблем не видно. Диспетчер тоже показывает размазанную нагрузку.
Договорились посмотреть после рабочего дня.
Смотрим - снова все непонятно. Пока не замечаем в трее запущенный процесс ЯндексБраузера.
Закрываем - результат налицо. Оставшуюся нагрузку на процессор генерирует TeamViewer.
Мораль сей басни проста: не понимаешь кто сожрал все системные ресурсы - проверь браузер. На место Яндекса можно подставить любой из них.
К браузерам у пользователей отношение зачастую пренебрежительное, как к некой простой программке, которая показывает интернет, поет музыку и особо ни на что не влияет.
Сегодня с одной торговой точки стали поступать обращения что POS-терминал очень сильно тормозит.
Зашли, проверили - тормозит. Бегло - проблем не видно. Диспетчер тоже показывает размазанную нагрузку.
Договорились посмотреть после рабочего дня.
Смотрим - снова все непонятно. Пока не замечаем в трее запущенный процесс ЯндексБраузера.
Закрываем - результат налицо. Оставшуюся нагрузку на процессор генерирует TeamViewer.
Мораль сей басни проста: не понимаешь кто сожрал все системные ресурсы - проверь браузер. На место Яндекса можно подставить любой из них.
⚡16🤣9👍5🤮4🔥3
Часто ли вы сталкиваетесь с тем, что бразуер создает проблемы с потреблением ресурсов.
Anonymous Poll
56%
Да, часто
21%
Да, нечасто
12%
Очень редко
5%
Практически никогда
3%
Ни разу не было
3%
Что такое браузер?
👍1
Зачем нужна такая поддержка и вообще, мысли вслух.
Ввиду скорого внедрения маркировки разливного пива достаточно плотно общаемся с поддержкой Честного знака и сильно удивлены (скажем мягко) качеством работы этой поддержки.
Ни на один заданный нами вопрос не было получено прямого ответа, хотя вопросы задавались по существу, для прояснения расплывчатых формулировок или недоговорок.
Ниже можно увидеть ответ на простой вопрос: что будет если грузчики перепутали кеги и мы подключили на кран кег с другим владельцем. Из описания документа "Подключение кега к оборудованию для розлива" следует, что после принятия данного документа кег поменяет владельца на вскрывшую его организацию. Но является ли это нарушением или нет?
Простой ведь вопрос? И подразумевающий достаточно четкий ответ: «Да, это нарушение» или «Это не является нарушением, если…».
Но в ответ мне тупо процитировали нормативку, причем к существу заданного вопроса не относящуюся. Причем это не первая линия консультации, это специалисты и думали они над этим ответом с понедельника.
Глядя на все это, понимаешь, что всю поддержку Честного знака можно смело разогнать и заменить Чат-ботом, скормив ему предварительно базу нормативных документов, получится не хуже.
Ну и попутно возникают мысли о причинах такого положения дел. Самое простое предположение – поддержка просто некомпетентна и если вопрос выходит за рамки типового, то отвечают отписками. Да, такое бывает. Но отвечать размытыми цитатами на каждый вопрос?
Поэтому возникает мысль, что там сами еще пока не знают, как трактовать подобные ситуации и что будет являться нарушением, а что нет. Поэтому и не дают прямых ответов, чтобы участник системы потом не мог использовать их как аргумент в спорных ситуациях.
И это уже больше похоже на правду, так как вопросы и возникают вокруг разных неоднозначных ситуаций, когда в одном абзаце написано одно, а во втором другое. И прямо друг другу они не противоречат, но вызывают неоднозначность в восприятии.
И вот тут возникает риторический вопрос: а как вообще можно внедрять систему, в которой столько неоднозначности и недоговорок. Когда нет четкого перечня нарушений, но есть за них ответственность.
Либо это сделано сознательно? Чтобы потом находить нарушения на ровном месте? В общем вопросов много, ответов нет. Только пусть потом не удивляются почему в отрасли встречают все эти инициативы с негативов и не проявляют энтузиазма по их внедрению.
Вот представьте, что я спрашиваю инспектора ГИБДД: «Товарищ инспектор, а можно поворачивать налево из крайнего правого ряда?»
А он мне: «8.4. При перестроении водитель должен уступить дорогу транспортным средствам, движущимся попутно без изменения направления движения. При одновременном перестроении транспортных средств, движущихся попутно, водитель должен уступить дорогу транспортному средству, находящемуся справа.»
Ввиду скорого внедрения маркировки разливного пива достаточно плотно общаемся с поддержкой Честного знака и сильно удивлены (скажем мягко) качеством работы этой поддержки.
Ни на один заданный нами вопрос не было получено прямого ответа, хотя вопросы задавались по существу, для прояснения расплывчатых формулировок или недоговорок.
Ниже можно увидеть ответ на простой вопрос: что будет если грузчики перепутали кеги и мы подключили на кран кег с другим владельцем. Из описания документа "Подключение кега к оборудованию для розлива" следует, что после принятия данного документа кег поменяет владельца на вскрывшую его организацию. Но является ли это нарушением или нет?
Простой ведь вопрос? И подразумевающий достаточно четкий ответ: «Да, это нарушение» или «Это не является нарушением, если…».
Но в ответ мне тупо процитировали нормативку, причем к существу заданного вопроса не относящуюся. Причем это не первая линия консультации, это специалисты и думали они над этим ответом с понедельника.
Глядя на все это, понимаешь, что всю поддержку Честного знака можно смело разогнать и заменить Чат-ботом, скормив ему предварительно базу нормативных документов, получится не хуже.
Ну и попутно возникают мысли о причинах такого положения дел. Самое простое предположение – поддержка просто некомпетентна и если вопрос выходит за рамки типового, то отвечают отписками. Да, такое бывает. Но отвечать размытыми цитатами на каждый вопрос?
Поэтому возникает мысль, что там сами еще пока не знают, как трактовать подобные ситуации и что будет являться нарушением, а что нет. Поэтому и не дают прямых ответов, чтобы участник системы потом не мог использовать их как аргумент в спорных ситуациях.
И это уже больше похоже на правду, так как вопросы и возникают вокруг разных неоднозначных ситуаций, когда в одном абзаце написано одно, а во втором другое. И прямо друг другу они не противоречат, но вызывают неоднозначность в восприятии.
И вот тут возникает риторический вопрос: а как вообще можно внедрять систему, в которой столько неоднозначности и недоговорок. Когда нет четкого перечня нарушений, но есть за них ответственность.
Либо это сделано сознательно? Чтобы потом находить нарушения на ровном месте? В общем вопросов много, ответов нет. Только пусть потом не удивляются почему в отрасли встречают все эти инициативы с негативов и не проявляют энтузиазма по их внедрению.
Вот представьте, что я спрашиваю инспектора ГИБДД: «Товарищ инспектор, а можно поворачивать налево из крайнего правого ряда?»
А он мне: «8.4. При перестроении водитель должен уступить дорогу транспортным средствам, движущимся попутно без изменения направления движения. При одновременном перестроении транспортных средств, движущихся попутно, водитель должен уступить дорогу транспортному средству, находящемуся справа.»
🥱12🤬6👍4😢2🤡2
Однострочный веб-сервер на Bash
Часто бывает нужно отслеживать некоторые показатели целевого сервера или контролировать ход работы какого-либо сервиса. Все это можно сделать командами, но постоянно вызывать их в консоли – занятие утомительное.
Но есть способ проще, создать специальную страничку в браузере и вывести на нее все необходимые показатели. Причем нам не потребуется устанавливать никакого софта, все можно сделать силами bash.
И в этом нам поможет команда netcat (nc), мы не будем подробно разбирать ее применение, а просто покажем примеры.
Например, мы хотим видеть свободную память:
Здесь следует обратить внимание на опции -p – порт и q – время в секундах до закрытия соединения, если у вас там выполняется сложная команда, то возможно его придется увеличить.
Таким же образом можно просматривать логи:
Возьмем задачу немного сложнее, вывести сразу несколько показателей, ок, прямо не выходя из терминала выполним:
Но если всего этого недостаточно, то вы можете написать скрипт, который будет выводить нужную вам информацию и запускать его нашим однострочным веб-сервером:
Просто? Да. Удобно? Да. И только bash и никаких дополнительных инструментов!
Часто бывает нужно отслеживать некоторые показатели целевого сервера или контролировать ход работы какого-либо сервиса. Все это можно сделать командами, но постоянно вызывать их в консоли – занятие утомительное.
Но есть способ проще, создать специальную страничку в браузере и вывести на нее все необходимые показатели. Причем нам не потребуется устанавливать никакого софта, все можно сделать силами bash.
И в этом нам поможет команда netcat (nc), мы не будем подробно разбирать ее применение, а просто покажем примеры.
Например, мы хотим видеть свободную память:
while true;
do echo -e "HTTP/1.1 200 OK\n\n$(free)" \
| nc -l -k -p 8080 -q 1;
done
Здесь следует обратить внимание на опции -p – порт и q – время в секундах до закрытия соединения, если у вас там выполняется сложная команда, то возможно его придется увеличить.
Таким же образом можно просматривать логи:
while true;
do echo -e "HTTP/1.1 200 OK\n\n$(tail -n 15 logfile)" \
| nc -l -k -p 8080 -q 1;
done
Возьмем задачу немного сложнее, вывести сразу несколько показателей, ок, прямо не выходя из терминала выполним:
cmd1=$(free)
cmd2=$(ss -tpln)
body="$cmd1\n$cmd2"
while true;
do echo -e "HTTP/1.1 200 OK\n\n$body" \
| nc -l -k -p 8080 -q 1;
done
Но если всего этого недостаточно, то вы можете написать скрипт, который будет выводить нужную вам информацию и запускать его нашим однострочным веб-сервером:
while true; do { \
echo -ne "HTTP/1.1 200 OK\r\n"; sh my_script.sh; } \
| nc -l -k -p 8080 -q 1; \
done
Просто? Да. Удобно? Да. И только bash и никаких дополнительных инструментов!
👍60🔥17👎1👌1
Знали ли вы о возможности организовать веб-сервер стандартными средствами bash?
Anonymous Poll
2%
Знал, использую
15%
Знал, не использую
43%
Не знал, буду использовать
29%
Не знал, мне это не надо
11%
Ничего не понятно, но очень интересно
🎄Тебя приглашают на QA-митап Росбанка
Снегопад мы остановить не можем, а как сделать, чтобы тесты не падали — ты узнаешь 20 декабря на QA-митапе от Росбанка.
🎓 В программе доклады от экспертов Росбанка, Garage Eight и VK. Они ответят на три вопроса:
— Как избежать ручного ввода результатов тестирования?
— Что выбрать: документацию или больше общения?
— Как справиться с падениями UI-тестов на iOS?
🎁 Про подарки не забыли! Авторы лучших вопросов к каждому докладу получат наборы мерча от Росбанка. Еще один набор разыграем среди тех, кто напишет отзыв о митапе.
🚪 Регистрация на митап по ссылке.
📆 Когда: 20 декабря в 19:00 МСК.
📍 Где: Москва, 1-й Красногвардейский проезд, 19, бизнес-центр «ОКО II» и онлайн.
✌️ Подписывайся на телеграм-канал Росбанк IT Team, чтобы ничего не пропустить. Ждем тебя!
Реклама. ПАО РОСБАНК. ИНН 7730060164. erid: LjN8KVvoi
Снегопад мы остановить не можем, а как сделать, чтобы тесты не падали — ты узнаешь 20 декабря на QA-митапе от Росбанка.
🎓 В программе доклады от экспертов Росбанка, Garage Eight и VK. Они ответят на три вопроса:
— Как избежать ручного ввода результатов тестирования?
— Что выбрать: документацию или больше общения?
— Как справиться с падениями UI-тестов на iOS?
🎁 Про подарки не забыли! Авторы лучших вопросов к каждому докладу получат наборы мерча от Росбанка. Еще один набор разыграем среди тех, кто напишет отзыв о митапе.
🚪 Регистрация на митап по ссылке.
📆 Когда: 20 декабря в 19:00 МСК.
📍 Где: Москва, 1-й Красногвардейский проезд, 19, бизнес-центр «ОКО II» и онлайн.
✌️ Подписывайся на телеграм-канал Росбанк IT Team, чтобы ничего не пропустить. Ждем тебя!
Реклама. ПАО РОСБАНК. ИНН 7730060164. erid: LjN8KVvoi
👍1
Сворачиваем базу РИБ 1С без негативных последствий
Скоро Новый год, чем не повод начать новую жизнь? А для многих предприятий это прекрасный повод свернуть подчиненные базы РИБ.
С одной стороны, там все просто, но если вы последуете официальной инструкции, то скорее всего останетесь без новогодней премии, а то и вообще пополните рынок труда.
Почему? Да потому что у методистов 1С свои представления о прекрасном, а отрасль они если и видели, то по телевизору.
А проблемы в полях небожителей, как известно, не волнуют, поэтому будем перебиваться собственными силами.
Штатная свертка в большинстве случаев закончится неудачей, при этом работа подчиненного узла будет парализована и никакие бекапы вам не помогут.
Что делать? Свернуть нестандартно! И мы расскажем как. Технология давно откатана и проверена и, скажем честно, сегодня мы сами перечитывали свою же статью, так как подобных задач стоит целый пласт.
Читаем, делаем, свертываем: https://interface31.ru/tech_it/2022/07/kak-vypolnit-svertku-rib-1spredpriyatie-bystro-i-bez-posledstviy.html
Скоро Новый год, чем не повод начать новую жизнь? А для многих предприятий это прекрасный повод свернуть подчиненные базы РИБ.
С одной стороны, там все просто, но если вы последуете официальной инструкции, то скорее всего останетесь без новогодней премии, а то и вообще пополните рынок труда.
Почему? Да потому что у методистов 1С свои представления о прекрасном, а отрасль они если и видели, то по телевизору.
А проблемы в полях небожителей, как известно, не волнуют, поэтому будем перебиваться собственными силами.
Штатная свертка в большинстве случаев закончится неудачей, при этом работа подчиненного узла будет парализована и никакие бекапы вам не помогут.
Что делать? Свернуть нестандартно! И мы расскажем как. Технология давно откатана и проверена и, скажем честно, сегодня мы сами перечитывали свою же статью, так как подобных задач стоит целый пласт.
Читаем, делаем, свертываем: https://interface31.ru/tech_it/2022/07/kak-vypolnit-svertku-rib-1spredpriyatie-bystro-i-bez-posledstviy.html
👍14🫡4👎1
Философия UNIX и современность
Про философию UNIX слышали многие, это некий неформальный свод правил, которым руководствовались первые разработчики UNIX.
Впоследствии данные правила стали использоваться как прямыми наследниками UNIX (Solaris, BSD), так и системами, сделанными по образу и подобию (Linux) и именно следование данной философии позволяет говорить о семействе UNIX-подобных операционных систем.
Для понимания причин возникновения данной философии следует окунуться в исторический контекст разработки UNIX.
Одной из главных задач разработчики видели переносимость, в те годы не существовало универсальной операционной системы, каждый производитель оборудования писал что-то свое, с другим оборудованием несовместимое.
Второй важный аспект – крайняя ограниченность ресурсов, Кен Томпсон изначально писал новую ОС для компьютера PDP-7 оперативная память которого составляла всего 4000 18-битных слов, что оправдывалось предельно низкой ценой данной модели – 72 000$ (711 000$ по нынешнему курсу).
Сегодня компьютеры уже совсем иные и многие вещи, которые волновали разработчиков UNIX уже неактуальны, но философия, заложенная ими в основу системы живет и иногда сбивает с толку современное поколение администраторов.
К написанию данной заметки нас сподвигло то, что уже не раз и не два читатели высказывали свое недоумение или непонимание работы различных Linux программ, которое вытекало как раз из непонимания философии UNIX.
Обычно это касается старых, классических программ и утилит, но также этой философии могут следовать и многие современные службы.
В основе философии UNIX лежит следующий постулат:
Разрабатывайте программы так, чтобы они выполняли только одну задачу, но делали это хорошо, и чтобы они хорошо работали вместе с другими программами.
В те времена это было как нельзя актуально, ограниченность ресурсов не позволяла писать сложные программы, но можно было вызвать последовательно несколько простых программ, которые вместе дали бы требуемый результат.
Но в этом кроется и более глубокий смысл: каждая программа должна делать что-то одно, но делать это хорошо. Простые программы легче поддерживать, в них меньше ошибок и они работают быстрее.
Но это и первая причина недоумения современных администраторов, когда они спрашивают, а умеет ли данная программа это и сильно удивляются, когда им говорят, что нет и нужно дополнительно использовать еще это, это и это.
С другой стороны подобная гибкость позволяет быстро и просто построить именно то, что требуется в данном случае, без оглядки на реализацию в той или иной программе. Когда система построена из простых кубиков гораздо проще заменить один кубик другим, чем сделать это в сложной системе.
Второй важный постулат – правило тишины. Программы по умолчанию не должны ничего говорить (т. е. не выдавать никаких результатов). Это тоже повергает в ступор многих, привыкших к современному информационному шуму и многословию.
Я ввел команду и ничего не произошло… Как так???
На самом деле команда выполнила свое действие, но если все прошло как надо, то зачем об этом говорить? Ведь это же очевидно. И этот принцип продолжает соблюдаться и во многих современных системах.
Например, перезапуск службы. Если все прошло нормально, то вы не получите никакого результата, но будете уведомлены в случае возникновения каких-либо ошибок.
Ну и третий принцип – это использование читаемого текста для обмена как с пользователем, так и между программами.
Данный принцип часто преподносился как недостаток, мол текст архаичен, неудобен и т.д. и т.п.
Но сегодня мы снова видим возврат к тексту, как средству обмена в информационных системах и, хотя вместо плоского текста чаще используются XML или JSON – это снова текст, который одинаково удобно читается как человеком, так и компьютером.
Поэтому говорить о том, что философия UNIX устарела преждевременно, она жива и оказывает сильное воздействие на современные Linux системы. А каждый администратор должен знать ее хотя вы в общих чертах.
Про философию UNIX слышали многие, это некий неформальный свод правил, которым руководствовались первые разработчики UNIX.
Впоследствии данные правила стали использоваться как прямыми наследниками UNIX (Solaris, BSD), так и системами, сделанными по образу и подобию (Linux) и именно следование данной философии позволяет говорить о семействе UNIX-подобных операционных систем.
Для понимания причин возникновения данной философии следует окунуться в исторический контекст разработки UNIX.
Одной из главных задач разработчики видели переносимость, в те годы не существовало универсальной операционной системы, каждый производитель оборудования писал что-то свое, с другим оборудованием несовместимое.
Второй важный аспект – крайняя ограниченность ресурсов, Кен Томпсон изначально писал новую ОС для компьютера PDP-7 оперативная память которого составляла всего 4000 18-битных слов, что оправдывалось предельно низкой ценой данной модели – 72 000$ (711 000$ по нынешнему курсу).
Сегодня компьютеры уже совсем иные и многие вещи, которые волновали разработчиков UNIX уже неактуальны, но философия, заложенная ими в основу системы живет и иногда сбивает с толку современное поколение администраторов.
К написанию данной заметки нас сподвигло то, что уже не раз и не два читатели высказывали свое недоумение или непонимание работы различных Linux программ, которое вытекало как раз из непонимания философии UNIX.
Обычно это касается старых, классических программ и утилит, но также этой философии могут следовать и многие современные службы.
В основе философии UNIX лежит следующий постулат:
Разрабатывайте программы так, чтобы они выполняли только одну задачу, но делали это хорошо, и чтобы они хорошо работали вместе с другими программами.
В те времена это было как нельзя актуально, ограниченность ресурсов не позволяла писать сложные программы, но можно было вызвать последовательно несколько простых программ, которые вместе дали бы требуемый результат.
Но в этом кроется и более глубокий смысл: каждая программа должна делать что-то одно, но делать это хорошо. Простые программы легче поддерживать, в них меньше ошибок и они работают быстрее.
Но это и первая причина недоумения современных администраторов, когда они спрашивают, а умеет ли данная программа это и сильно удивляются, когда им говорят, что нет и нужно дополнительно использовать еще это, это и это.
С другой стороны подобная гибкость позволяет быстро и просто построить именно то, что требуется в данном случае, без оглядки на реализацию в той или иной программе. Когда система построена из простых кубиков гораздо проще заменить один кубик другим, чем сделать это в сложной системе.
Второй важный постулат – правило тишины. Программы по умолчанию не должны ничего говорить (т. е. не выдавать никаких результатов). Это тоже повергает в ступор многих, привыкших к современному информационному шуму и многословию.
Я ввел команду и ничего не произошло… Как так???
На самом деле команда выполнила свое действие, но если все прошло как надо, то зачем об этом говорить? Ведь это же очевидно. И этот принцип продолжает соблюдаться и во многих современных системах.
Например, перезапуск службы. Если все прошло нормально, то вы не получите никакого результата, но будете уведомлены в случае возникновения каких-либо ошибок.
Ну и третий принцип – это использование читаемого текста для обмена как с пользователем, так и между программами.
Данный принцип часто преподносился как недостаток, мол текст архаичен, неудобен и т.д. и т.п.
Но сегодня мы снова видим возврат к тексту, как средству обмена в информационных системах и, хотя вместо плоского текста чаще используются XML или JSON – это снова текст, который одинаково удобно читается как человеком, так и компьютером.
Поэтому говорить о том, что философия UNIX устарела преждевременно, она жива и оказывает сильное воздействие на современные Linux системы. А каждый администратор должен знать ее хотя вы в общих чертах.
👍45🤝3🤔1
⚡️ Секреты эффективного написания кода уже здесь! Три лучших ИИ-инструмента для разработки! 🚀
👉 StableCode - пишет и дебажит код, а также объясняет, какие функции выполняют уже готовые блоки и как их можно улучшить
👉 CodeRabbit – сделает код-ревью, предложит улучшения и исправления
👉 GPT Pilot – ускорит процесс разработки приложения с нуля и напишет за тебя до 95% кода
Подпишись на канал, чтобы получить более 70 нейронок для разработки и не пропустить новые
✅ AI для разработчиков ⌨️
✅ AI для веб-мастера🖥
✅ AI для обучения и образования📖
✅ AI для дизайнеров🎨
✅ AI для обработки аудио и голоса 🎙
✅ АI склад 📚
Реклама.ООО "БЕТ ЭС-СИ-ПИ". ИНН 9718139622. ERID 2VtzqwfXiY3
👉 StableCode - пишет и дебажит код, а также объясняет, какие функции выполняют уже готовые блоки и как их можно улучшить
👉 CodeRabbit – сделает код-ревью, предложит улучшения и исправления
👉 GPT Pilot – ускорит процесс разработки приложения с нуля и напишет за тебя до 95% кода
Подпишись на канал, чтобы получить более 70 нейронок для разработки и не пропустить новые
✅ AI для разработчиков ⌨️
✅ AI для веб-мастера🖥
✅ AI для обучения и образования📖
✅ AI для дизайнеров🎨
✅ AI для обработки аудио и голоса 🎙
✅ АI склад 📚
Реклама.ООО "БЕТ ЭС-СИ-ПИ". ИНН 9718139622. ERID 2VtzqwfXiY3
👍2❤1🔥1
Чем восстановить файлы в Linux?
Вопрос не праздный и волнует многих системных администраторов. Известная компания R-Tools Technology предоставляет бесплатную программу R-Linux. Она бесплатна и поддерживает восстановление с файловых систем Ext2/Ext3/Ext4.
Скачать программу можно на официальном сайте: https://www.r-studio.com/ru/free-linux-recovery/Download.shtml
Мы попробовали и остались довольны.
Интерфейс – привычный, если вы работали ранее с R-Studio, то все будет привычно и знакомо.
Файловая система сканируется, файлы находятся и успешно восстанавливаются, даже те, прогноз для которых был «не очень».
Денег ни за что не просит. Скрытых ограничений нет.
Есть также версия для Windows, куда вы можете подключить диск с Ext и выполнить восстановление.
Но следует помнить, что с широким применением SSD не все так просто, там есть много своих особенностей. Подробнее в нашей статье: https://interface31.ru/tech_it/2022/05/mozhno-li-vosstanovit-dannye-s-tverdotel-nogo-nakopitelya-ssd.html
Вопрос не праздный и волнует многих системных администраторов. Известная компания R-Tools Technology предоставляет бесплатную программу R-Linux. Она бесплатна и поддерживает восстановление с файловых систем Ext2/Ext3/Ext4.
Скачать программу можно на официальном сайте: https://www.r-studio.com/ru/free-linux-recovery/Download.shtml
Мы попробовали и остались довольны.
Интерфейс – привычный, если вы работали ранее с R-Studio, то все будет привычно и знакомо.
Файловая система сканируется, файлы находятся и успешно восстанавливаются, даже те, прогноз для которых был «не очень».
Денег ни за что не просит. Скрытых ограничений нет.
Есть также версия для Windows, куда вы можете подключить диск с Ext и выполнить восстановление.
Но следует помнить, что с широким применением SSD не все так просто, там есть много своих особенностей. Подробнее в нашей статье: https://interface31.ru/tech_it/2022/05/mozhno-li-vosstanovit-dannye-s-tverdotel-nogo-nakopitelya-ssd.html
👍46