<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>OdaNoder</title>
        <link>https://paragraph.com/@odanoder-2</link>
        <description>undefined</description>
        <lastBuildDate>Mon, 13 Jul 2026 04:04:10 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>OdaNoder</title>
            <url>https://storage.googleapis.com/papyrus_images/e0567bce0e09d44e9edd1997dc522e9bf4bafc6a922ae016233301596a52b7e2.png</url>
            <link>https://paragraph.com/@odanoder-2</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Нарративы в крипте: децентрализованная наука или DeSci]]></title>
            <link>https://paragraph.com/@odanoder-2/desci</link>
            <guid>6xMTdkxwysXZc3T0kng0</guid>
            <pubDate>Fri, 06 Dec 2024 18:01:15 GMT</pubDate>
            <description><![CDATA[DeSci: Наука нового поколенияНаука — это двигатель прогресса. Мы восхищаемся учеными прошлого и настоящего, но редко задумываемся о системе, в которой они работают. Закрытые журналы, труднодоступные данные и бюрократия грантов давно тормозят научные открытия. Что, если мы скажем, что есть способ решить эти проблемы? Знакомьтесь: Decentralized Science, или просто DeSci — революция в научном мире.Наука в ловушке старых правилСегодня многие исследования остаются за "стеной" платных журналов. Уче...]]></description>
            <content:encoded><![CDATA[<h3 id="h-desci-nauka-novogo-pokoleniya" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">DeSci: Наука нового поколения</h3><p>Наука — это двигатель прогресса. Мы восхищаемся учеными прошлого и настоящего, но редко задумываемся о системе, в которой они работают. Закрытые журналы, труднодоступные данные и бюрократия грантов давно тормозят научные открытия. Что, если мы скажем, что есть способ решить эти проблемы? Знакомьтесь: Decentralized Science, или просто DeSci — революция в научном мире.</p><hr><h4 id="h-nauka-v-lovushke-staryh-pravil" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0"><strong>Наука в ловушке старых правил</strong></h4><p>Сегодня многие исследования остаются за &quot;стеной&quot; платных журналов. Ученый может годами трудиться над проектом, но его результаты часто доступны лишь избранным — тем, кто готов заплатить за доступ. Кроме того, процесс финансирования научных работ усложнен бюрократией, а отбор проектов иногда выглядит непрозрачно.</p><p>Сложности касаются и данных. Например, в медицине многие клинические исследования недоступны, что делает проверки и дальнейшие разработки невозможными. Ученые не могут свободно обмениваться знаниями, и это в век интернета и технологий!</p><hr><h4 id="h-decentralizaciya-reshenie-problem" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0"><strong>Децентрализация: решение проблем</strong></h4><p>DeSci ломает эти барьеры с помощью блокчейна — технологии, которая уже преобразила финансы и искусство через криптовалюты и NFT. Теперь она пришла в науку.</p><p>**Как это работает?**DeSci превращает научные исследования в общедоступное достояние:</p><ol><li><p><strong>Данные в блокчейне</strong>: Все результаты хранятся в распределенных базах данных. Это гарантирует, что информация останется доступной и неизменной.</p></li><li><p><strong>Прямое финансирование</strong>: Ученые могут привлекать средства от сообществ через краудфандинг. Криптовалюты и смарт-контракты помогают обойти бюрократию.</p></li><li><p><strong>DAO для науки</strong>: Представьте сообщество, которое голосует за финансирование проектов. Это прозрачнее, чем грантовые комиссии, и исключает влияние крупных корпораций.</p></li></ol><hr><h4 id="h-primery-kotorye-vdohnovlyayut" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0"><strong>Примеры, которые вдохновляют</strong></h4><p>Одним из ярких примеров является проект <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.vitadao.com/">VitaDAO</a>, где люди по всему миру инвестируют в исследования долголетия. Участники не только вносят деньги, но и принимают решения о том, какие проекты финансировать.</p><p>Еще одна интересная инициатива — <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://molecule.to/">Molecule</a>, платформа для децентрализованных научных исследований. Она позволяет ученым монетизировать свои идеи и получать поддержку от мирового сообщества.</p><hr><h4 id="h-desci-i-vy-pochemu-eto-vazhno" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0"><strong>DeSci и вы: почему это важно</strong></h4><p>Давайте посмотрим правде в глаза: наука должна принадлежать всем, а не быть инструментом в руках немногих. DeSci предлагает систему, где каждый может стать частью научного прогресса — поддерживать проекты, анализировать данные или просто учиться.</p><p>Это особенно важно в эпоху глобальных вызовов. Пандемии, изменение климата, вопросы здоровья — требуют коллективного разума, а не ограничений. DeSci помогает убрать стены и строить мосты.</p><hr><h4 id="h-zaklyuchenie-budushee-kotoroe-my-sozdaem" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0"><strong>Заключение: будущее, которое мы создаем</strong></h4><p>DeSci — это больше, чем технология, это философия. Она возвращает науку к её истокам, где главная цель — знание ради общего блага. Представьте мир, где открытия публикуются мгновенно, финансируются всей планетой и используются для улучшения жизни каждого из нас.</p><p>DeSci уже здесь, и, возможно, это одна из самых важных революций нашего времени.</p><hr><h2 id="h-kak-zarabotat-na-desci" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Как заработать на DeSci?</h2><h3 id="h-1-investirovanie-v-nauchnye-dao" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">1. <strong>Инвестирование в научные DAO</strong></h3><p>Научные DAO (Decentralized Autonomous Organizations), такие как <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.vitadao.com/">VitaDAO</a> или <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://molecule.to/">Molecule</a>, объединяют людей, готовых инвестировать в перспективные исследования.<strong>Как это работает:</strong></p><ul><li><p>Вы покупаете токены DAO, которые дают вам право голоса в управлении проектами.</p></li><li><p>Если проект успешно реализуется, стоимость токенов может вырасти, принося прибыль.</p></li></ul><p>Пример: VitaDAO финансирует исследования долголетия, и если открытия будут коммерциализированы, токен-холдеры получат часть дохода.</p><hr><h3 id="h-2-uchastie-v-kraudfandinge" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">2. <strong>Участие в краудфандинге</strong></h3><p>DeSci-платформы, такие как Molecule или LabDAO, предлагают краудфандинговые возможности.<strong>Для кого:</strong> Подходит даже для небольших инвесторов.<strong>Как заработать:</strong></p><ul><li><p>Вы можете поддержать проекты, которые считаете перспективными. Если проект достигает коммерческого успеха, инвесторы получают долю прибыли или бонусы.</p></li></ul><hr><h3 id="h-3-recenzirovanie-i-analiz-dannyh" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">3. <strong>Рецензирование и анализ данных</strong></h3><p>Некоторые платформы, такие как <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.researchhub.com/">ResearchHub</a>, вознаграждают за участие в рецензировании научных работ, проверке данных и улучшении качества исследований.<strong>Как это работает:</strong></p><ul><li><p>Вы регистрируетесь на платформе.</p></li><li><p>Помогаете оценивать или проверять материалы.</p></li><li><p>Получаете вознаграждение в токенах платформы.</p></li></ul><p>Это идеальный способ для тех, кто интересуется наукой, но не имеет специализированных знаний.</p><hr><h3 id="h-4-sozdanie-i-prodazha-nauchnyh-nft" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">4. <strong>Создание и продажа научных NFT</strong></h3><p>NFT (невзаимозаменяемые токены) становятся популярными в DeSci.<strong>Как заработать:</strong></p><ul><li><p>Покупать NFT, связанные с научными открытиями, и перепродавать их.</p></li><li><p>Вкладываться в редкие данные или уникальные материалы, которые могут подорожать.</p></li></ul><p>Например, исследователи могут выпускать свои данные или графики в виде NFT, а вы можете стать их владельцем.</p><hr><h3 id="h-5-vypolnenie-mikrozadach" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">5. <strong>Выполнение микрозадач</strong></h3><p>На некоторых платформах, таких как LabDAO, можно зарабатывать на выполнении небольших задач: от анализа данных до простых тестов.<strong>Кто может участвовать:</strong> Подходит для начинающих, не требуется глубоких знаний.<strong>Пример задач:</strong></p><ul><li><p>Сортировка данных.</p></li><li><p>Помощь в структурировании информации.</p></li></ul><hr><h3 id="h-6-uchastie-v-soobshestvah-i-baunti-programmah" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">6. <strong>Участие в сообществах и баунти-программах</strong></h3><p>Многие DeSci-проекты проводят баунти-программы (награды за выполнение задач).<strong>Что делать:</strong></p><ul><li><p>Распространять информацию о проекте в социальных сетях.</p></li><li><p>Участвовать в обсуждениях и помогать новым пользователям.</p></li></ul><p>Это простой способ заработать токены без вложений.</p><hr><h3 id="h-7-stejking-tokenov-desci" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">7. <strong>Стейкинг токенов DeSci</strong></h3><p>Некоторые проекты позволяют вам зарабатывать за счет стейкинга токенов (удержания их в специальных кошельках).<strong>Как это работает:</strong></p><ul><li><p>Вы покупаете токены проекта и отправляете их на стейкинг.</p></li><li><p>Получаете вознаграждение в виде дополнительных токенов или процентов.</p></li></ul><hr><h3 id="h-8-rabota-v-marketinge-ili-podderzhke" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">8. <strong>Работа в маркетинге или поддержке</strong></h3><p>DeSci-проекты часто ищут людей для продвижения своих идей или помощи пользователям.</p><p><strong>Как заработать:</strong></p><ul><li><p>Работать удаленно в качестве представителя проекта.</p></li><li><p>Получать зарплату в токенах или фиатной валюте.</p></li></ul><hr><h3 id="h-zaklyuchenie" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Заключение</h3><p>DeSci открывает доступ к новым способам заработка для всех, кто хочет быть частью научной революции. Это не только шанс заработать, но и возможность поддержать важные исследования, которые могут изменить мир.</p><p>Статья несет исключительно информативный характер.</p>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/95aa70e71e2093761c448e6fba47f072adc80faf2eaa0dd49d18ddbb250d1dd2.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Crontab]]></title>
            <link>https://paragraph.com/@odanoder-2/crontab</link>
            <guid>nEEnT1RznaznSq6XJsgP</guid>
            <pubDate>Tue, 03 Dec 2024 14:11:41 GMT</pubDate>
            <description><![CDATA[Установка crontabroot@40:~# crontab -e bash: crontab: command not found # Это означает что crontab не установлен. Убедитесь, что утилита crontab установлена: Для систем на основе Debian/Ubuntu выполните команду:sudo apt update sudo apt install cron Для систем на основе CentOS/RHEL используйте:Проверьте, что служба cron запущена: Убедитесь, что служба cron работает. Выполните:sudo systemctl start cron sudo systemctl enable cron ___________________________ Для того чтобы выполнить запросы по вр...]]></description>
            <content:encoded><![CDATA[<p>Установка crontab</p><pre data-type="codeBlock" text="root@40:~# crontab -e
bash: crontab: command not found
# Это означает что crontab не установлен.
"><code>root<span class="hljs-variable">@40</span><span class="hljs-symbol">:~</span><span class="hljs-comment"># crontab -e</span>
<span class="hljs-symbol">bash:</span> <span class="hljs-symbol">crontab:</span> command <span class="hljs-keyword">not</span> found
<span class="hljs-comment"># Это означает что crontab не установлен.</span>
</code></pre><p><strong>Убедитесь, что утилита crontab установлена</strong>: Для систем на основе Debian/Ubuntu выполните команду:</p><pre data-type="codeBlock" text="sudo apt update
sudo apt install cron
"><code>sudo apt <span class="hljs-keyword">update</span>
sudo apt install cron
</code></pre><p>Для систем на основе CentOS/RHEL используйте:</p><pre data-type="codeBlock" text="sudo yum install cronie
"><code></code></pre><p><strong>Проверьте, что служба cron запущена</strong>: Убедитесь, что служба cron работает. Выполните:</p><pre data-type="codeBlock" text="sudo systemctl start cron
sudo systemctl enable cron
"><code>sudo systemctl start cron
sudo systemctl <span class="hljs-built_in">enable</span> cron
</code></pre><p>___________________________</p><p>Для того чтобы выполнить запросы по времени в 8 утра и 8 вечера по Киеву (UTC+2, а в летнее время — UTC+3) независимо от времени на сервере, вы можете использовать несколько подходов. Один из них — использование переменной окружения <code>TZ</code> для задания часового пояса в cron, чтобы кроны всегда выполнялись в нужное время в Киевском времени.</p><pre data-type="codeBlock" text="crontab -e
"><code>crontab <span class="hljs-operator">-</span>e
</code></pre><p>Пример строки в crontab:</p><pre data-type="codeBlock" text="# Устанавливаем временную зону на Киев
TZ=&quot;Europe/Kiev&quot;

# Выполнение в 8:00 утра
0 8 * * * /path/to/your/script.sh

# Выполнение в 8:00 вечера
0 20 * * * /path/to/your/script.sh
"><code># Устанавливаем временную зону на Киев
TZ<span class="hljs-operator">=</span><span class="hljs-string">"Europe/Kiev"</span>

# Выполнение в <span class="hljs-number">8</span>:00 утра
<span class="hljs-number">0</span> <span class="hljs-number">8</span> <span class="hljs-operator">*</span> <span class="hljs-operator">*</span> <span class="hljs-operator">*</span> <span class="hljs-operator">/</span>path<span class="hljs-operator">/</span>to<span class="hljs-operator">/</span>your<span class="hljs-operator">/</span>script.sh

# Выполнение в <span class="hljs-number">8</span>:00 вечера
<span class="hljs-number">0</span> <span class="hljs-number">20</span> <span class="hljs-operator">*</span> <span class="hljs-operator">*</span> <span class="hljs-operator">*</span> <span class="hljs-operator">/</span>path<span class="hljs-operator">/</span>to<span class="hljs-operator">/</span>your<span class="hljs-operator">/</span>script.sh
</code></pre><p>В этом примере:</p><p><code>TZ=&quot;Europe/Kiev&quot;</code> устанавливает временную зону для этого cron-задания.</p><p><code>0 8 * * *</code> — это время для выполнения задачи в 8:00 утра по Киевскому времени.</p><p><code>0 20 * * *</code> — это время для выполнения задачи в 8:00 вечера по Киевскому времени.</p><p>Общие рекомендации</p><p>Для того чтобы скрипт <code>/home/asonaric/check_sonaric.sh</code> мог выполняться, его нужно сделать исполняемым.</p><pre data-type="codeBlock" text="chmod +x /home/asonaric/check_sonaric.sh
"><code>chmod <span class="hljs-operator">+</span>x <span class="hljs-operator">/</span>home<span class="hljs-operator">/</span>asonaric<span class="hljs-operator">/</span>check_sonaric.sh
</code></pre><p>Проверить права на выполнение</p><pre data-type="codeBlock" text="ls -l /home/asonaric/check_sonaric.sh

# Вы должны увидеть что-то вроде этого:
# -rwxr-xr-x 1 asonaric asonaric 1234 Nov 26 12:34 /home/asonaric/check_sonaric.sh
"><code>ls <span class="hljs-operator">-</span>l <span class="hljs-operator">/</span>home<span class="hljs-operator">/</span>asonaric<span class="hljs-operator">/</span>check_sonaric.sh

# Вы должны увидеть что<span class="hljs-operator">-</span>то вроде этого:
# <span class="hljs-operator">-</span>rwxr<span class="hljs-operator">-</span>xr<span class="hljs-operator">-</span>x <span class="hljs-number">1</span> asonaric asonaric <span class="hljs-number">1234</span> Nov <span class="hljs-number">26</span> <span class="hljs-number">12</span>:<span class="hljs-number">34</span> <span class="hljs-operator">/</span>home<span class="hljs-operator">/</span>asonaric<span class="hljs-operator">/</span>check_sonaric.sh
</code></pre>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
        </item>
        <item>
            <title><![CDATA[Порты (ports) в Linux ]]></title>
            <link>https://paragraph.com/@odanoder-2/ports-linux</link>
            <guid>YNjgvZ4qb2XTw5HtZIdO</guid>
            <pubDate>Sat, 23 Nov 2024 14:47:59 GMT</pubDate>
            <description><![CDATA[Поиск и управление портами в операционной системе Linux является одной из основных задач при администрировании сетевых сервисов и приложений. Открытые порты позволяют программам обмениваться данными по сети. Важно знать, какие порты используются, чтобы обеспечить безопасность системы, избежать конфликтов и правильно настроить сетевые сервисы.Оглавление Основные понятия Способы поиска портов в Linux Установка различных инструментов для поиска и управления портами в Linux Примеры различных кома...]]></description>
            <content:encoded><![CDATA[<p>Поиск и управление портами в операционной системе Linux является одной из основных задач при администрировании сетевых сервисов и приложений. Открытые порты позволяют программам обмениваться данными по сети. Важно знать, какие порты используются, чтобы обеспечить безопасность системы, избежать конфликтов и правильно настроить сетевые сервисы.</p><blockquote><p>Оглавление</p><p>Основные понятия</p><p>Способы поиска портов в Linux</p><p>Установка различных инструментов для поиска и управления портами в Linux</p><p>Примеры различных команд и вариантов для поиска активных, прослушивающих, а также закрытых портов в системе.</p></blockquote><h2 id="h-osnovnye-ponyatiya" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Основные понятия</h2><h3 id="h-port" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Порт</h3><p>Порт — это точка входа для сетевых соединений. Каждый порт идентифицируется числом от 0 до 65535 и используется для связи с определёнными сервисами или приложениями. Порты делятся на несколько категорий:</p><ul><li><p><strong>Well-known ports</strong> (0–1023): зарезервированы для известных служб, таких как SSH (22), HTTP (80), HTTPS (443).</p></li><li><p><strong>Registered ports</strong> (1024–49151): используются для различных зарегистрированных приложений.</p></li><li><p><strong>Dynamic or private ports</strong> (49152–65535): могут использоваться для временных или специфичных для приложения соединений.</p></li></ul><h3 id="h-otkrytye-i-zakrytye-porty" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Открытые и закрытые порты</h3><ul><li><p><strong>Открытые порты</strong>: могут принимать входящие соединения.</p></li><li><p><strong>Закрытые порты</strong>: либо не используются, либо заблокированы файрволом или другим средством безопасности.</p></li></ul><hr><h2 id="h-sposoby-poiska-portov-v-linux" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Способы поиска портов в Linux</h2><h3 id="h-1-ispolzovanie-komandy-netstat" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">1. Использование команды <code>netstat</code></h3><p>Команда <code>netstat</code> — это один из наиболее распространённых способов для отображения всех активных соединений и открытых портов. Она выводит информацию о сетевых соединениях, таблицах маршрутизации, интерфейсах и статистике. Для просмотра всех открытых портов можно использовать следующий синтаксис:</p><pre data-type="codeBlock" text="netstat -tuln
"><code>netstat <span class="hljs-operator">-</span>tuln
</code></pre><ul><li><p><strong>-t</strong>: показывает TCP-соединения.</p></li><li><p><strong>-u</strong>: показывает UDP-соединения.</p></li><li><p><strong>-l</strong>: показывает только прослушивающие порты.</p></li><li><p><strong>-n</strong>: выводит порты в числовом формате (без разрешения имен хостов и сервисов).</p></li></ul><p>Пример вывода:</p><pre data-type="codeBlock" text="Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
udp        0      0 0.0.0.0:68              0.0.0.0:*                   
"><code>Proto Recv-<span class="hljs-selector-tag">Q</span> Send-<span class="hljs-selector-tag">Q</span> Local <span class="hljs-selector-tag">Address</span>           Foreign <span class="hljs-selector-tag">Address</span>         State
tcp        <span class="hljs-number">0</span>      <span class="hljs-number">0</span> <span class="hljs-number">0.0</span>.<span class="hljs-number">0.0</span>:<span class="hljs-number">22</span>              <span class="hljs-number">0.0</span>.<span class="hljs-number">0.0</span>:*               LISTEN
udp        <span class="hljs-number">0</span>      <span class="hljs-number">0</span> <span class="hljs-number">0.0</span>.<span class="hljs-number">0.0</span>:<span class="hljs-number">68</span>              <span class="hljs-number">0.0</span>.<span class="hljs-number">0.0</span>:*                   
</code></pre><p>и</p><pre data-type="codeBlock" text="netstat -an | grep LISTEN | grep -E &apos;\b(26658|26657|6060|26656|26660|1317|9090|9091|26657)\b&apos;             
"><code>netstat <span class="hljs-operator">-</span>an <span class="hljs-operator">|</span> grep LISTEN <span class="hljs-operator">|</span> grep <span class="hljs-operator">-</span>E <span class="hljs-string">'\b(26658|26657|6060|26656|26660|1317|9090|9091|26657)\b'</span>             
</code></pre><h3 id="h-2-ispolzovanie-komandy-ss" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">2. Использование команды <code>ss</code></h3><p>Команда <code>ss</code> (<code>socket statistics</code>) является более современной и быстрой заменой <code>netstat</code>. Она позволяет вывести информацию о сетевых сокетах, включая используемые порты.</p><p>Для вывода всех прослушивающих портов:</p><pre data-type="codeBlock" text="ss -tuln
"><code>ss <span class="hljs-operator">-</span>tuln
</code></pre><pre data-type="codeBlock" text="#Проверить сразу несколько портов
ss -tuln | grep &apos;:9090\|:8080&apos;
"><code><span class="hljs-comment">#Проверить сразу несколько портов</span>
ss -tuln | <span class="hljs-keyword">grep</span> <span class="hljs-string">':9090\|:8080'</span>
</code></pre><p>Пример вывода:</p><pre data-type="codeBlock" text="Netid State   Recv-Q Send-Q  Local Address:Port    Peer Address:Port Process
tcp   LISTEN  0      128     0.0.0.0:22           0.0.0.0:*         
udp   UNCONN  0      0       0.0.0.0:68           0.0.0.0:*         
"><code><span class="hljs-title class_">Netid</span> <span class="hljs-title class_">State</span>   <span class="hljs-title class_">Recv</span>-Q <span class="hljs-title class_">Send</span>-Q  <span class="hljs-title class_">Local</span> <span class="hljs-title class_">Address</span><span class="hljs-symbol">:Port</span>    <span class="hljs-title class_">Peer</span> <span class="hljs-title class_">Address</span><span class="hljs-symbol">:Port</span> <span class="hljs-title class_">Process</span>
tcp   <span class="hljs-variable constant_">LISTEN</span>  <span class="hljs-number">0</span>      <span class="hljs-number">128</span>     <span class="hljs-number">0.0</span>.<span class="hljs-number">0.0</span><span class="hljs-symbol">:</span><span class="hljs-number">22</span>           <span class="hljs-number">0.0</span>.<span class="hljs-number">0.0</span><span class="hljs-symbol">:*</span>         
udp   <span class="hljs-variable constant_">UNCONN</span>  <span class="hljs-number">0</span>      <span class="hljs-number">0</span>       <span class="hljs-number">0.0</span>.<span class="hljs-number">0.0</span><span class="hljs-symbol">:</span><span class="hljs-number">68</span>           <span class="hljs-number">0.0</span>.<span class="hljs-number">0.0</span><span class="hljs-symbol">:*</span>         
</code></pre><h3 id="h-3-ispolzovanie-lsof" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">3. Использование <code>lsof</code></h3><p>Команда <code>lsof</code> выводит список всех открытых файлов, включая сетевые соединения и порты, используемые процессами. Чтобы найти, какие процессы используют порты, можно использовать следующую команду:</p><pre data-type="codeBlock" text="lsof -i -P -n
"><code>lsof <span class="hljs-operator">-</span>i <span class="hljs-operator">-</span>P <span class="hljs-operator">-</span>n
</code></pre><ul><li><p><strong>-i</strong>: фильтрация по сетевым соединениям.</p></li><li><p><strong>-P</strong>: выводит номера портов без преобразования в имена служб.</p></li><li><p><strong>-n</strong>: не разрешает имена хостов (ускоряет вывод).</p></li></ul><p>Пример вывода:</p><pre data-type="codeBlock" text="COMMAND  PID  USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
sshd     676  root   3u   IPv4  13742      0t0  TCP *:22 (LISTEN)
dhclient 820  root   6u   IPv4  14642      0t0  UDP *:68
"><code>COMMAND  PID  USER   FD   TYPE  DEVICE SIZE<span class="hljs-operator">/</span>OFF NODE NAME
sshd     <span class="hljs-number">676</span>  root   3u   IPv4  <span class="hljs-number">13742</span>      0t0  TCP <span class="hljs-operator">*</span>:<span class="hljs-number">22</span> (LISTEN)
dhclient <span class="hljs-number">820</span>  root   6u   IPv4  <span class="hljs-number">14642</span>      0t0  UDP <span class="hljs-operator">*</span>:<span class="hljs-number">68</span>
</code></pre><h3 id="h-4-ispolzovanie-nmap" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">4. Использование <code>nmap</code></h3><p><code>nmap</code> — это мощный инструмент для сканирования сети и проверки открытых портов. Для сканирования всех открытых TCP-портов на локальной машине используйте:</p><pre data-type="codeBlock" text="nmap -sT localhost
"><code>nmap <span class="hljs-operator">-</span>sT localhost
</code></pre><p>Если необходимо проверить порты на удалённой машине, укажите её IP-адрес:</p><pre data-type="codeBlock" text="nmap -sT 192.168.1.1
"><code>nmap <span class="hljs-operator">-</span>sT <span class="hljs-number">192.168</span><span class="hljs-number">.1</span><span class="hljs-number">.1</span>
</code></pre><p>Пример вывода:</p><pre data-type="codeBlock" text="PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https
"><code>PORT    STATE SERVICE
<span class="hljs-number">22</span>/tcp  open  ssh
<span class="hljs-number">80</span>/tcp  open  http
<span class="hljs-number">443</span>/tcp open  https
</code></pre><h3 id="h-5-prosmotr-statusa-portov-s-pomoshyu-fajrvola" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">5. Просмотр статуса портов с помощью файрвола</h3><p>Если в вашей системе используется файрвол, например <code>ufw</code> или <code>iptables</code>, можно получить список открытых портов через эти утилиты.</p><h4 id="h-ufw" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">UFW</h4><p>Для отображения состояния файрвола и открытых портов в <code>ufw</code>, выполните:</p><pre data-type="codeBlock" text="sudo ufw status
"><code>sudo ufw <span class="hljs-built_in">status</span>
</code></pre><h4 id="h-iptables" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">IPTABLES</h4><p>Для получения списка правил и открытых портов в <code>iptables</code>, используйте:</p><pre data-type="codeBlock" text="sudo iptables -L
"><code>sudo iptables <span class="hljs-operator">-</span>L
</code></pre><p>Знание того, как просматривать и управлять портами в Linux, является важным навыком для системных администраторов и сетевых инженеров. Используя команды <code>netstat</code>, <code>ss</code>, <code>lsof</code>, <code>nmap</code>, а также управление через файрволы, вы можете легко отслеживать и регулировать сетевую активность системы. Эти методы помогут поддерживать безопасность и стабильность работы серверов и приложений.</p><hr><h2 id="h-ustanovka-razlichnyh-instrumentov-dlya-poiska-i-upravleniya-portami-v-linux" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Установка различных инструментов для поиска и управления портами в Linux</h2><p>Установка различных инструментов для поиска и управления портами в Linux может отличаться в зависимости от дистрибутива системы. Ниже приведены способы установки основных утилит для работы с портами на популярных дистрибутивах Linux, таких как <strong>Ubuntu/Debian</strong>, <strong>CentOS/RHEL</strong>, и других.</p><h2 id="h-1-ustanovka-netstat" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">1. Установка <code>netstat</code></h2><p><code>netstat</code> является частью пакета <strong>net-tools</strong>, который устарел, но всё ещё используется. Он может не быть предустановленным в новых версиях некоторых дистрибутивов Linux, например, в Ubuntu.</p><h3 id="h-ustanovka-na-ubuntudebian" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Установка на Ubuntu/Debian:</h3><pre data-type="codeBlock" text="sudo apt update
sudo apt install net-tools
"><code>sudo apt <span class="hljs-keyword">update</span>
sudo apt install net<span class="hljs-operator">-</span>tools
</code></pre><h3 id="h-ustanovka-na-centosrhel" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Установка на CentOS/RHEL:</h3><pre data-type="codeBlock" text="sudo yum install net-tools
"><code>sudo yum install net<span class="hljs-operator">-</span>tools
</code></pre><p>После установки команда <code>netstat</code> станет доступной.</p><h2 id="h-2-ustanovka-ss" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">2. Установка <code>ss</code></h2><p><code>ss</code> входит в состав пакета <strong>iproute2</strong>, который обычно предустановлен в большинстве современных дистрибутивов Linux. Однако, если он отсутствует, его можно установить.</p><h3 id="h-ustanovka-na-ubuntudebian" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Установка на Ubuntu/Debian:</h3><pre data-type="codeBlock" text="sudo apt update
sudo apt install iproute2
"><code>sudo apt <span class="hljs-keyword">update</span>
sudo apt install iproute2
</code></pre><h3 id="h-ustanovka-na-centosrhel" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Установка на CentOS/RHEL:</h3><pre data-type="codeBlock" text="sudo yum install iproute
"><code></code></pre><p>После установки <code>ss</code> можно использовать без дополнительных действий.</p><h2 id="h-3-ustanovka-lsof" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">3. Установка <code>lsof</code></h2><p>Утилита <code>lsof</code> обычно также предустановлена на большинстве дистрибутивов Linux. Если это не так, её можно легко установить.</p><h3 id="h-ustanovka-na-ubuntudebian" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Установка на Ubuntu/Debian:</h3><pre data-type="codeBlock" text="sudo apt update
sudo apt install lsof
"><code>sudo apt <span class="hljs-keyword">update</span>
sudo apt install lsof
</code></pre><h3 id="h-ustanovka-na-centosrhel" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Установка на CentOS/RHEL:</h3><pre data-type="codeBlock" text="sudo yum install lsof
"><code></code></pre><p>После установки <code>lsof</code> можно использовать для мониторинга портов и других открытых файлов.</p><h2 id="h-4-ustanovka-nmap" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">4. Установка <code>nmap</code></h2><p><code>nmap</code> — это отдельный инструмент, который нужно установить вручную, если он не предустановлен в системе.</p><h3 id="h-ustanovka-na-ubuntudebian" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Установка на Ubuntu/Debian:</h3><pre data-type="codeBlock" text="sudo apt update
sudo apt install nmap
"><code>sudo apt <span class="hljs-keyword">update</span>
sudo apt install nmap
</code></pre><h3 id="h-ustanovka-na-centosrhel" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Установка на CentOS/RHEL:</h3><pre data-type="codeBlock" text="sudo yum install nmap
"><code></code></pre><p>После установки можно использовать <code>nmap</code> для сканирования портов.</p><h2 id="h-5-ustanovka-i-nastrojka-ufw-uncomplicated-firewall" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">5. Установка и настройка <code>ufw</code> (Uncomplicated Firewall)</h2><p><code>ufw</code> — это удобный интерфейс для управления правилами файрвола, часто используется на Ubuntu.</p><h3 id="h-ustanovka-na-ubuntudebian" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Установка на Ubuntu/Debian:</h3><p>На большинстве версий Ubuntu <code>ufw</code> уже установлен, но если его нет, установите:</p><pre data-type="codeBlock" text="sudo apt update
sudo apt install ufw
"><code>sudo apt <span class="hljs-keyword">update</span>
sudo apt install ufw
</code></pre><h3 id="h-ustanovka-na-centosrhel" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Установка на CentOS/RHEL:</h3><p>На CentOS <code>ufw</code> не используется по умолчанию, здесь обычно применяются инструменты, такие как <code>firewalld</code>. Однако, при желании можно установить <code>ufw</code> через сторонние репозитории:</p><pre data-type="codeBlock" text="sudo yum install epel-release
sudo yum install ufw
"><code>sudo yum install epel-release
sudo yum install ufw
</code></pre><p>После установки можно включить <code>ufw</code>:</p><pre data-type="codeBlock" text="sudo ufw enable
"><code>sudo ufw <span class="hljs-built_in">enable</span>
</code></pre><p>И затем управлять портами:</p><pre data-type="codeBlock" text="sudo ufw allow 22/tcp    # открыть порт 22 для SSH
sudo ufw deny 80/tcp     # закрыть порт 80 для HTTP
"><code>sudo ufw allow 22/tcp    <span class="hljs-comment"># открыть порт 22 для SSH</span>
sudo ufw deny 80/tcp     <span class="hljs-comment"># закрыть порт 80 для HTTP</span>
</code></pre><h2 id="h-6-ustanovka-i-nastrojka-iptables" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">6. Установка и настройка <code>iptables</code></h2><p><code>iptables</code> — это низкоуровневый инструмент для управления сетевыми правилами. Обычно предустановлен на большинстве систем, но если отсутствует, его можно установить.</p><h3 id="h-ustanovka-na-ubuntudebian" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Установка на Ubuntu/Debian:</h3><pre data-type="codeBlock" text="sudo apt update
sudo apt install iptables
"><code>sudo apt <span class="hljs-keyword">update</span>
sudo apt install iptables
</code></pre><h3 id="h-ustanovka-na-centosrhel" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Установка на CentOS/RHEL:</h3><pre data-type="codeBlock" text="sudo yum install iptables
"><code></code></pre><p>Для проверки открытых портов и установленных правил:</p><pre data-type="codeBlock" text="sudo iptables -L
"><code>sudo iptables <span class="hljs-operator">-</span>L
</code></pre><p>Установка утилит для управления портами в Linux является достаточно простой задачей, которая сводится к использованию стандартных пакетных менеджеров, таких как <code>apt</code> на Ubuntu/Debian и <code>yum</code> на CentOS/RHEL. Все перечисленные утилиты являются важными инструментами для системных администраторов и могут быть установлены за несколько команд.</p><hr><h2 id="h-primery-razlichnyh-komand-i-variantov-dlya-poiska-aktivnyh-proslushivayushih-a-takzhe-zakrytyh-portov-v-sisteme" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Примеры различных команд и вариантов для поиска активных, прослушивающих, а также закрытых портов в системе.</h2><hr><p>Спасибо за внимание к материалу! Надеюсь, информация оказалась полезной для вас! Поздравляю с новым достижением!</p><hr><p>Если материал оказался полезным и вы хотите поддержать мою работу, буду рад вашему донату. Любая помощь вдохновляет на создание нового контента! Спасибо за вашу поддержку!</p><hr><p><em>ПОЛЕЗНЫЕ ССЫЛКИ</em></p>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
        </item>
        <item>
            <title><![CDATA[Помощник новичку в линукс]]></title>
            <link>https://paragraph.com/@odanoder-2/OuIuSGYJW4GBRP2n3M1d</link>
            <guid>OuIuSGYJW4GBRP2n3M1d</guid>
            <pubDate>Tue, 19 Nov 2024 17:21:43 GMT</pubDate>
            <description><![CDATA[Данная статья будет наполняться постепенно. Все зависит от моего энтузиазма и минта этой статье. Минт любой статье поддерживает развитие и желание наполнять все статьи. В ней будет размещены разные базовые команды, которые помогут новичку в линуксе.Оглавление Проверить версию/ядро Linux Руководство по команде find в Linux journalctl History Папки и файлы ЛОГИ / LOGSПроверить версию/ядро LinuxСпособы проверки версии через терминал#Полная информация: lsb_release -a #Краткая версия lsb_release -...]]></description>
            <content:encoded><![CDATA[<p>Данная статья будет наполняться постепенно. Все зависит от моего энтузиазма и минта этой статье. Минт любой статье поддерживает развитие и желание наполнять все статьи. В ней будет размещены разные базовые команды, которые помогут новичку в линуксе.</p><blockquote><p>Оглавление</p><p>Проверить версию/ядро Linux</p><p>Руководство по команде find в Linux</p><p>journalctl</p><p>History</p><p>Папки и файлы</p><p>ЛОГИ / LOGS</p></blockquote><hr><h2 id="h-proverit-versiyuyadro-linux" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Проверить версию/ядро Linux</h2><p>Способы проверки версии через терминал</p><pre data-type="codeBlock" text="#Полная информация:
lsb_release -a

#Краткая версия
lsb_release -d
cat /etc/issue

#Просмотр файла:
cat /etc/os-release

#Версия ядра:
uname -r
#Подробная информация: uname -a
"><code><span class="hljs-comment">#Полная информация:</span>
lsb_release -a

<span class="hljs-comment">#Краткая версия</span>
lsb_release -d
<span class="hljs-built_in">cat</span> /etc/issue

<span class="hljs-comment">#Просмотр файла:</span>
<span class="hljs-built_in">cat</span> /etc/os-release

<span class="hljs-comment">#Версия ядра:</span>
<span class="hljs-built_in">uname</span> -r
<span class="hljs-comment">#Подробная информация: uname -a</span>
</code></pre><hr><h2 id="h-rukovodstvo-po-komande-find-v-linux" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Руководство по команде find в Linux</h2><p>Базовый синтаксис <code>find [путь_начала_поиска] [опции] [выражение]</code></p><hr><h2 id="h-journalctl" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">journalctl</h2><p>Поиск строки &quot;Removing&quot; в логах с использованием <code>journalctl</code>.</p><pre data-type="codeBlock" text="journalctl -u massad --since &quot;3 hours ago&quot; | grep &quot;Removing&quot;
"><code>journalctl <span class="hljs-operator">-</span>u massad <span class="hljs-operator">-</span><span class="hljs-operator">-</span>since <span class="hljs-string">"3 hours ago"</span> <span class="hljs-operator">|</span> grep <span class="hljs-string">"Removing"</span>
</code></pre><p>Эта команда:</p><p>Использует <code>journalctl</code>, чтобы получить логи для службы <code>massad</code> за последние 3 часа. Применяет <code>grep</code> для поиска строк, содержащих слово &quot;Removing&quot;. Таким образом, будут отображены только те строки логов, которые содержат искомое слово.</p><hr><h2 id="h-history" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">History</h2><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"></h3><p>Чтобы вывести весь список команд из истории, используйте команду:</p><pre data-type="codeBlock" text="history
"><code><span class="hljs-built_in">history</span>
</code></pre><p><strong>Вариант первый:</strong></p><p>Удаление всей истории команд:</p><p>Очистка истории в текущей сессии - это удалит историю только для текущей сессии.</p><pre data-type="codeBlock" text="history -c
"><code><span class="hljs-built_in">history</span> -c
</code></pre><p>Чтобы сохранить изменения в файл <code>.bash_history</code>, нужно выполнить:</p><pre data-type="codeBlock" text="history -w
"><code><span class="hljs-built_in">history</span> -w
</code></pre><p>Выполните команду, чтобы убедиться, что история удалена и не сохранится при выходе из сессии:</p><pre data-type="codeBlock" text="history -c &amp;&amp; history -w
"><code>history <span class="hljs-operator">-</span>c <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> history <span class="hljs-operator">-</span>w
</code></pre><p><strong>Вариант второй:</strong></p><p>Удалить всю историю команд, включая ту, которая была сохранена ранее, можно просто удалить файл <code>.bash_history</code>:</p><pre data-type="codeBlock" text="rm ~/.bash_history
"><code>rm <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.bash_history
</code></pre><p>Удаление файла с историей (~/.bash_history):</p><pre data-type="codeBlock" text="cat /dev/null &gt; ~/.bash_history
"><code>cat <span class="hljs-operator">/</span>dev<span class="hljs-operator">/</span>null <span class="hljs-operator">></span> <span class="hljs-operator">~</span><span class="hljs-operator">/</span>.bash_history
</code></pre><p>Дополнительно: Очистка истории с <code>HISTFILE</code>: Если используется переменная <code>HISTFILE</code>, можно ее явно указать:</p><pre data-type="codeBlock" text="unset HISTFILE
"><code><span class="hljs-built_in">unset</span> HISTFILE
</code></pre><p><strong>Очистка истории и предотвращение её записи:</strong> Если нужно очистить историю и предотвратить её запись в будущем, можно установить переменную <code>HISTSIZE</code> и <code>HISTFILESIZE</code> в ноль:</p><pre data-type="codeBlock" text="export HISTSIZE=0
export HISTFILESIZE=0
"><code>export <span class="hljs-attr">HISTSIZE</span>=<span class="hljs-number">0</span>
export <span class="hljs-attr">HISTFILESIZE</span>=<span class="hljs-number">0</span>
</code></pre><p>Эти переменные можно также добавить в файл конфигурации <code>.bashrc</code> или <code>.bash_profile</code>, чтобы они применялись автоматически при каждом запуске терминала.</p><p><em>Теперь вся история из Bash удалена, включая текущую и сохраненную.</em></p><hr><p>ERRORS</p><pre data-type="codeBlock" text="/dev/sda3: recovering journal
/dev/sda3 contains a file system with errors, check forced.
Inodes that were part of a corrupted orphan linked list found.

/dev/sda3: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
       (i.e., without -a or -p options)
fsck exited with status code 4
The root filesystem on /dev/sda3 requires a manual fsck.

BusyBox v1.30.1 (Ubuntu 1:1.30.1-7ubuntu3.11) built-in shell (ash)
Enter &apos;help&apos; for a list of built-in commands.

(initramfs) fsck
fsck from util-linux 2.37.2
(initramfs) help
Built-in commands:
[alias break cd chdir command continue echo eval exec exit
export false getopt hash help history let local printf pwd read
readonly return set shift test times trap true type ulimit umask
unalias unset wait [ [[ acpid arch ash awk basename blockdev
busybox cat chmod chroot chvt clear cmp cp cut date deallocvt
deluser devmem df dirname du dumpkmap echo egrep env expr false
fbset fgrep find fold fstrim grep gunzip gzip hostname huclock
ifconfig ip kill ln loadfont loadkmap ls lzop mkdir mkfifo mknod
mkpasswd mknod mount mountp name openvt pidof printf
ps pwd readlink reboot renice rm run-init sed seq setkeycodes
sh sleep sort stat static-sh stty switch-root sync tail tee test
touch tr true tty umount uname uniq wget which yes
(initramfs)
"><code>/dev/sda3: recovering journal
/dev/sda3 contains a file system with errors, check forced.
Inodes that were part of a corrupted orphan linked list found.

/dev/sda3: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
       (i.e., without -a or -p options)
fsck exited with status code 4
The root filesystem on /dev/sda3 requires a manual fsck.

BusyBox v1.30.1 (Ubuntu 1:1.30.1-7ubuntu3.11) built-in shell (ash)
Enter <span class="hljs-string">'help'</span> <span class="hljs-keyword">for</span> a list of built-in commands.

(initramfs) fsck
fsck from util-linux 2.37.2
(initramfs) <span class="hljs-built_in">help</span>
Built-<span class="hljs-keyword">in</span> commands:
[<span class="hljs-built_in">alias</span> <span class="hljs-built_in">break</span> <span class="hljs-built_in">cd</span> <span class="hljs-built_in">chdir</span> <span class="hljs-built_in">command</span> <span class="hljs-built_in">continue</span> <span class="hljs-built_in">echo</span> <span class="hljs-built_in">eval</span> <span class="hljs-built_in">exec</span> <span class="hljs-built_in">exit</span>
<span class="hljs-built_in">export</span> <span class="hljs-literal">false</span> getopt <span class="hljs-built_in">hash</span> <span class="hljs-built_in">help</span> <span class="hljs-built_in">history</span> <span class="hljs-built_in">let</span> <span class="hljs-built_in">local</span> <span class="hljs-built_in">printf</span> <span class="hljs-built_in">pwd</span> <span class="hljs-built_in">read</span>
<span class="hljs-built_in">readonly</span> <span class="hljs-built_in">return</span> <span class="hljs-built_in">set</span> <span class="hljs-built_in">shift</span> <span class="hljs-built_in">test</span> <span class="hljs-built_in">times</span> <span class="hljs-built_in">trap</span> <span class="hljs-literal">true</span> <span class="hljs-built_in">type</span> <span class="hljs-built_in">ulimit</span> <span class="hljs-built_in">umask</span>
<span class="hljs-built_in">unalias</span> <span class="hljs-built_in">unset</span> <span class="hljs-built_in">wait</span> [ [[ acpid <span class="hljs-built_in">arch</span> ash awk <span class="hljs-built_in">basename</span> blockdev
busybox <span class="hljs-built_in">cat</span> <span class="hljs-built_in">chmod</span> <span class="hljs-built_in">chroot</span> chvt clear cmp <span class="hljs-built_in">cp</span> <span class="hljs-built_in">cut</span> <span class="hljs-built_in">date</span> deallocvt
deluser devmem <span class="hljs-built_in">df</span> <span class="hljs-built_in">dirname</span> <span class="hljs-built_in">du</span> dumpkmap <span class="hljs-built_in">echo</span> egrep <span class="hljs-built_in">env</span> <span class="hljs-built_in">expr</span> <span class="hljs-literal">false</span>
fbset fgrep find <span class="hljs-built_in">fold</span> fstrim grep gunzip gzip hostname huclock
ifconfig ip <span class="hljs-built_in">kill</span> <span class="hljs-built_in">ln</span> loadfont loadkmap <span class="hljs-built_in">ls</span> lzop <span class="hljs-built_in">mkdir</span> <span class="hljs-built_in">mkfifo</span> <span class="hljs-built_in">mknod</span>
mkpasswd <span class="hljs-built_in">mknod</span> mount mountp name openvt pidof <span class="hljs-built_in">printf</span>
ps <span class="hljs-built_in">pwd</span> <span class="hljs-built_in">readlink</span> reboot renice <span class="hljs-built_in">rm</span> run-init sed <span class="hljs-built_in">seq</span> setkeycodes
sh <span class="hljs-built_in">sleep</span> <span class="hljs-built_in">sort</span> <span class="hljs-built_in">stat</span> static-sh <span class="hljs-built_in">stty</span> switch-root <span class="hljs-built_in">sync</span> <span class="hljs-built_in">tail</span> <span class="hljs-built_in">tee</span> <span class="hljs-built_in">test</span>
<span class="hljs-built_in">touch</span> <span class="hljs-built_in">tr</span> <span class="hljs-literal">true</span> <span class="hljs-built_in">tty</span> umount <span class="hljs-built_in">uname</span> <span class="hljs-built_in">uniq</span> wget <span class="hljs-built_in">which</span> <span class="hljs-built_in">yes</span>
(initramfs)
</code></pre><h2 id="h-kak-ispravit-problemu" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Как исправить проблему:</h2><p>Ошибка указывает на то, что файловая система на <code>/dev/sda3</code> повреждена и требует ручной проверки. Для решения выполните следующие шаги:</p><ol><li><p><strong>Запустите команду</strong> <code>fsck</code> вручную: Введите следующую команду в режиме <code>initramfs</code>:</p><pre data-type="codeBlock" text="fsck /dev/sda3
"><code>fsck <span class="hljs-operator">/</span>dev<span class="hljs-operator">/</span>sda3
</code></pre><p>Если система попросит подтвердить исправления, нажимайте клавишу <code>y</code> (Yes).</p></li><li><p><strong>Перезагрузите систему:</strong> После завершения работы команды <code>fsck</code> выполните команду:</p><pre data-type="codeBlock" text="reboot
"><code></code></pre></li><li><p><strong>Если ошибка сохраняется:</strong></p><ul><li><p>Проверьте диск с помощью специализированных инструментов, например <code>smartctl</code> (для диагностики возможных аппаратных неисправностей).</p></li><li><p>Убедитесь, что данные с диска сохранены (сделайте резервную копию).</p></li></ul></li><li><p><strong>Если система не загружается:</strong></p><ul><li><p>Загрузитесь с LiveCD или LiveUSB и повторите проверку диска с помощью команды <code>fsck</code>.</p></li></ul></li></ol><hr><h2 id="h-papki-i-fajly" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Папки и файлы</h2><hr><h2 id="h-logi-logs" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">ЛОГИ / LOGS</h2><p>Чтобы посмотреть все логи на сервере, можно использовать несколько подходов в зависимости от того, что именно вы хотите просматривать: системные логи, логи Docker, или логи приложений.</p><h3 id="h-1-prosmotr-sistemnyh-logov-linux" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">1. <strong>Просмотр системных логов (Linux)</strong></h3><p>Системные логи обычно хранятся в каталоге <code>/var/log</code>. Используйте команду <code>journalctl</code> или команду для просмотра файлов.</p><h4 id="h-prosmotr-logov-s-pomoshyu-journalctl-dlya-sistem-ispolzuyushih-systemd" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Просмотр логов с помощью <code>journalctl</code> (для систем, использующих <code>systemd</code>):</h4><ul><li><p>Чтобы просмотреть все системные логи:</p><pre data-type="codeBlock" text="sudo journalctl
"><code></code></pre></li><li><p>Чтобы просмотреть логи в реальном времени:</p><pre data-type="codeBlock" text="sudo journalctl -f
"><code>sudo journalctl <span class="hljs-operator">-</span>f
</code></pre></li><li><p>Просмотр логов за определенный период (например, с начала дня):</p><pre data-type="codeBlock" text="sudo journalctl --since today
"><code>sudo journalctl <span class="hljs-operator">-</span><span class="hljs-operator">-</span>since today
</code></pre></li><li><p>Просмотр логов за последние 10 минут:</p><pre data-type="codeBlock" text="sudo journalctl --since &quot;10 minutes ago&quot;
"><code>sudo journalctl <span class="hljs-operator">-</span><span class="hljs-operator">-</span>since <span class="hljs-string">"10 minutes ago"</span>
</code></pre></li></ul><h4 id="h-prosmotr-logov-iz-fajlov" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Просмотр логов из файлов:</h4><p>Логи обычно хранятся в папке <code>/var/log</code>, и вы можете использовать команду <code>cat</code>, <code>less</code> или <code>tail</code> для их просмотра.</p><ul><li><p>Просмотр лога с помощью <code>cat</code> (например, для логов системы):</p><pre data-type="codeBlock" text="sudo cat /var/log/syslog
"><code>sudo cat <span class="hljs-operator">/</span><span class="hljs-keyword">var</span><span class="hljs-operator">/</span>log<span class="hljs-operator">/</span>syslog
</code></pre></li><li><p>Просмотр логов с помощью <code>less</code> (более удобное для прокрутки):</p><pre data-type="codeBlock" text="sudo less /var/log/syslog
"><code>sudo less <span class="hljs-operator">/</span><span class="hljs-keyword">var</span><span class="hljs-operator">/</span>log<span class="hljs-operator">/</span>syslog
</code></pre></li><li><p>Просмотр последних записей в логах с помощью <code>tail</code>:</p><pre data-type="codeBlock" text="sudo tail -f /var/log/syslog
"><code>sudo tail <span class="hljs-operator">-</span>f <span class="hljs-operator">/</span><span class="hljs-keyword">var</span><span class="hljs-operator">/</span>log<span class="hljs-operator">/</span>syslog
</code></pre></li></ul><h3 id="h-2-prosmotr-logov-docker-kontejnerov" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">2. <strong>Просмотр логов Docker контейнеров</strong></h3><p>Если вы хотите просматривать логи Docker контейнеров, используйте команду <code>docker logs</code>:</p><ul><li><p>Просмотр логов контейнера:</p><pre data-type="codeBlock" text="docker logs &lt;container_name_or_id&gt;
"><code>docker logs <span class="hljs-operator">&#x3C;</span>container_name_or_id<span class="hljs-operator">></span>
</code></pre></li><li><p>Просмотр логов в реальном времени (аналогично <code>tail -f</code>):</p><pre data-type="codeBlock" text="docker logs -f &lt;container_name_or_id&gt;
"><code>docker logs <span class="hljs-operator">-</span>f <span class="hljs-operator">&#x3C;</span>container_name_or_id<span class="hljs-operator">></span>
</code></pre></li><li><p>Чтобы просмотреть логи для конкретного контейнера с определенным количеством последних строк:</p><pre data-type="codeBlock" text="docker logs --tail 100 &lt;container_name_or_id&gt;
"><code>docker logs <span class="hljs-operator">-</span><span class="hljs-operator">-</span>tail <span class="hljs-number">100</span> <span class="hljs-operator">&#x3C;</span>container_name_or_id<span class="hljs-operator">></span>
</code></pre></li><li><p>Если у контейнера несколько журналов, вы можете фильтровать их по времени или по уровням журналирования, например:</p><pre data-type="codeBlock" text="docker logs --since &quot;2025-01-01&quot; &lt;container_name_or_id&gt;
"><code>docker logs <span class="hljs-operator">-</span><span class="hljs-operator">-</span>since <span class="hljs-string">"2025-01-01"</span> <span class="hljs-operator">&#x3C;</span>container_name_or_id<span class="hljs-operator">></span>
</code></pre></li></ul><h3 id="h-3-prosmotr-logov-prilozhenij" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">3. <strong>Просмотр логов приложений</strong></h3><p>Если приложение пишет логи в файлы, вы можете просто просматривать эти файлы с помощью стандартных команд:</p><ul><li><p>Пример для логов, расположенных в <code>/var/log/myapp/</code>:</p><pre data-type="codeBlock" text="sudo tail -f /var/log/myapp/*.log
"><code>sudo tail <span class="hljs-operator">-</span>f <span class="hljs-operator">/</span><span class="hljs-keyword">var</span><span class="hljs-operator">/</span>log<span class="hljs-operator">/</span>myapp<span class="hljs-comment">/*.log
</span></code></pre></li></ul><h3 id="h-4-kombinirovannyj-prosmotr-logov" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">4. <strong>Комбинированный просмотр логов</strong></h3><p>Чтобы просмотреть все логи в папке <code>/var/log</code>, вы можете использовать команду <code>find</code>:</p><ul><li><p>Просмотр всех логов в каталоге <code>/var/log</code>:</p><pre data-type="codeBlock" text="sudo find /var/log -type f -exec cat {} \;
"><code>sudo find <span class="hljs-operator">/</span><span class="hljs-keyword">var</span><span class="hljs-operator">/</span>log <span class="hljs-operator">-</span><span class="hljs-keyword">type</span> f <span class="hljs-operator">-</span>exec cat {} \;
</code></pre></li></ul><p>Эта команда выводит содержимое всех логов в каталоге <code>/var/log</code>. Вы также можете использовать <code>less</code> или <code>grep</code> для фильтрации или поиска информации по ключевым словам в логах.</p><h3 id="h-itog" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Итог:</h3><p>В зависимости от того, какие именно логи вам нужны, вы можете использовать разные команды, такие как <code>journalctl</code> для системных логов, <code>docker logs</code> для логов контейнеров, или стандартные команды для файловых логов (<code>cat</code>, <code>less</code>, <code>tail</code>).</p>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
        </item>
        <item>
            <title><![CDATA[Intract Academy: questions and answers]]></title>
            <link>https://paragraph.com/@odanoder-2/intract-academy-questions-and-answers</link>
            <guid>06p9NcKxnVNZSrHAdcXi</guid>
            <pubDate>Sun, 10 Nov 2024 16:01:17 GMT</pubDate>
            <description><![CDATA[#1: But what is crypto and web3?Link: “But what is crypto and web3” How is Intract Academy different from other crypto learning resources? Q: In simple words, what is crypto? A: Money on the internet Q: In regular usage of the term, what are crypto tokens? A: Different kinds of cryptocurrencies Q: So, what is Bitcoin? A: The first and most popular cryptocurrency Q: Which of these is NOT a popular story of people using crypto? **A:**Stores accepting crypto instead of regular cash Q: How are go...]]></description>
            <content:encoded><![CDATA[<h2 id="h-1-but-what-is-crypto-and-web3" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>#1: But what is crypto and web3?</strong></h2><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5852c20ae501a119c9f5044c3e256996bcc5e2473700aec6fa8c3037c99edd28.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Link: “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.intract.io/quest/6660ccb062834ed1b3399725">But what is crypto and web3</a>”</p><p>How is Intract Academy different from other crypto learning resources?</p><p><strong>Q:</strong> In simple words, what is crypto? <strong>A:</strong> Money on the internet</p><p><strong>Q:</strong> In regular usage of the term, what are crypto tokens? <strong>A:</strong> Different kinds of cryptocurrencies</p><p><strong>Q:</strong> So, what is Bitcoin? <strong>A:</strong> The first and most popular cryptocurrency</p><p><strong>Q:</strong> Which of these is NOT a popular story of people using crypto? **A:**Stores accepting crypto instead of regular cash</p><p><strong>Q:</strong> How are governments using crypto? <strong>A:</strong> All of these ;)</p><p><strong>Q:</strong> Now what&apos;s web3? <strong>A:</strong> The regular internet with crypto, decentralisation &amp; user-ownership</p><p><strong>Q:</strong> What is a real-world example of web3? <strong>A:</strong> Decentralized social media</p><p><strong>Q:</strong> How would you login to a web3 website? <strong>A:</strong> By connecting your wallet</p><h2 id="h-2-setting-up-your-own-web3-wallet" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>#2: Setting up your own web3 wallet!</strong></h2><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b3a5cea50e82231c95b3b42ec6eaf3a5257e0e2eebd48947c4565053ae629eed.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Link: “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.intract.io/quest/6668d61ed17337638a872411">Setting up your own web3 wallet!</a>“</p><p><strong>Q:</strong> What all can you do with your web3 wallet? <strong>A:</strong> Of course, all of these ;)</p><p><strong>Q:</strong> How does your wallet address look like? <strong>A:</strong> A huge code, treated like a bank account number</p><p><strong>Q:</strong> Installing your own MetaMask wallet! <strong>A:</strong> SKIP</p><p><strong>Q:</strong> What is a wallet&apos;s secret recovery phrase? <strong>A:</strong> Your wallet&apos;s unique password</p><p><strong>Q:</strong> What do you call converting regular money to crypto, and back? <strong>A:</strong> On-ramping &amp; off-ramping</p><p><strong>Q:</strong> Which of these is NOT a way to convert regular money to crypto, and back? <strong>A:</strong> Decentralized Exchanges (DEXs)</p><p><strong>Q:</strong> What is the easiest way to access your wallet? <strong>A:</strong> Pinning it as a browser extension</p><p><strong>Q:</strong> What are important actions you can do via your wallet extension? <strong>A:</strong> All of these ;)</p><h2 id="h-3-what-the-heck-is-a-blockchain" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>#3: What the heck is a blockchain?</strong></h2><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3de37dd719d64b932d6c2ae2402c21633c63e547c560c5f0c88596f4b213e0da.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.intract.io/quest/6669de1f4d97acde3eb0b5fa">https://www.intract.io/quest/6669de1f4d97acde3eb0b5fa</a></p><p>Link: “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.intract.io/quest/6669de1f4d97acde3eb0b5fa">What the heck is a blockchain?</a>“</p><p><strong>Q:</strong> But first, what is a blockchain commonly called? <strong>A:</strong> Chain or network</p><p><strong>Q:</strong> So what is a blockchain? <strong>A:</strong> Secure, public database with apps and crypto tokens</p><p><strong>Q:</strong> What are some popular examples of chains that are cheap and fast? <strong>A:</strong> All of these ;)</p><p><strong>Q:</strong> Which of these is NOT a quality of a blockchain? <strong>A:</strong> Controlled by a single entity</p><p><strong>Q:</strong> If a blockchain is like a big city, then its neighbourhoods would be... <strong>A:</strong> Different apps built on it, with crypto tokens as currency</p><p><strong>Q:</strong> What are gas fees? <strong>A:</strong> Fees for carrying out transactions on a blockchain</p><p><strong>Q:</strong> Your favourite blockchain&apos;s gas fees are suddenly high, why? <strong>A:</strong> Too many users actively transacting on it</p><p><strong>Q:</strong> Why is it important to know the native token of a blockchain before using it? <strong>A:</strong> To pay gas fees on the blockchain</p><h2 id="h-4-swapping-and-bridging-whats-that" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>#4: Swapping and bridging? What’s that?</strong></h2><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/897315b67ce0e4cd236cdf848193a805d8530115e8aad0d1d588c40542125a4f.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Link: “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.intract.io/quest/666a134f4d97acde3eb0d0a6">Swapping and bridging? What’s that?</a>“</p><p><strong>Q:</strong> What is swapping? <strong>A:</strong> Exchanging one type of crypto token for another on the same chain</p><p><strong>Q:</strong> Which of the following is NOT a reason why people swap crypto? <strong>A:</strong> To stay invested in a single crypto for the long term</p><p><strong>Q:</strong> What is unique about a token like USDT? <strong>A:</strong> Its a stablecoin - designed to maintain same price as the US dollar</p><p><strong>Q:</strong> What are the two main places to swap crypto? <strong>A:</strong> Centralized exchanges and decentralized exchanges (DEXs)</p><p><strong>Q:</strong> Uniswap and SushiSwap are examples of what? <strong>A:</strong> Decentralized exchanges (DEXs) used to swap crypto</p><p><strong>Q:</strong> What are the factors in choosing the best DEX to swap on a blockchain? <strong>A:</strong> All of these ;)</p><p><strong>Q:</strong> What&apos;s the benefit of using a &apos;swap aggregator&apos; like 1inch? <strong>A:</strong> Simplifies finding the best exchange rates across different platforms</p><p><strong>Q:</strong> What is the purpose of bridging in crypto? <strong>A:</strong> To help in movement of crypto assets between different blockchains</p><p><strong>Q:</strong> What details about a bridge can a user ignore while bridging? <strong>A:</strong> Design elements of the interface</p><p><strong>Q:</strong> What are some of our best bridge recommendations? <strong>A:</strong> Chainge Finance, Across, and Synapse</p><h2 id="h-5-nfts-and-why-theyre-cool" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>#5: NFTs and why they’re cool ;)</strong></h2><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a443f2162a404e0ba8b3a675d4d53f2875ceb275ee6a7769555ebd41b0994e6a.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Link: “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.intract.io/quest/666adbf64d97acde3eb0f253">NFTs and why they’re cool</a>“</p><p><strong>Q:</strong> What are NFTs? <strong>A:</strong> Digital versions of collectible items like trading cards</p><p><strong>Q:</strong> What is the difference between owning a digital file vs owning an NFT? <strong>A:</strong> NFTs are a way to prove ownership and authenticity of the digital file</p><p><strong>Q:</strong> What are reasons some NFTs are so expensive? <strong>A:</strong> All of these ;)</p><p><strong>Q:</strong> In common crypto talk, what does it mean to mint an NFT? <strong>A:</strong> Being the first owner of the NFT, instead of purchasing it from another user</p><p><strong>Q:</strong> How are NFTs being used today? <strong>A:</strong> All of these ;)</p><p><strong>Q:</strong> Which of the following companies has NOT experimented around NFTs? <strong>A:</strong> Tesla (electric vehicle manufacturer</p><h2 id="h-6-doing-quests-and-winning-rewards" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>#6: Doing quests and winning rewards!</strong></h2><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/625d4ab80bd79689e266e2990328cca2affcb904c49309e6ac5f96fc0fb77973.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.intract.io/quest/667d183e010a0189758b665e">https://www.intract.io/quest/667d183e010a0189758b665e</a></p><p>Link: “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.intract.io/quest/667d183e010a0189758b665e">Doing quests and winning rewards!</a>“</p><p><strong>Q:</strong> In simple words, what is a quest? <strong>A:</strong> A series of tasks completed by users to earn rewards</p><p><strong>Q:</strong> Which of the following is NOT a task a user can expect during a quest? <strong>A:</strong> Posting images of them riding a bike</p><p><strong>Q:</strong> What is an example of a &apos;whitelist&apos; perk as a quest&apos;s reward? <strong>A:</strong> Chance to purchase a project&apos;s tokens at a lesser price before the public sale</p><p><strong>Q:</strong> Which of these is NOT a way of distributing rewards in quests? <strong>A:</strong> Points System: getting the project&apos;s points whose task is being done</p><p><strong>Q:</strong> What is one of the ways to increase your chances of winning rewards in a regular quest? <strong>A:</strong> Selecting quests with fewer participants or a first-come-first-served format</p><p><strong>Q:</strong> How are questing events/festivals different from regular ones? <strong>A:</strong> Events usually have quests with themes across days/weeks</p><p><strong>Q:</strong> What are &apos;onchain&apos; tasks in questing? <strong>A:</strong> Tasks completed by performing transactions on a blockchain</p><p>Claim your first NFT reward!</p><h2 id="h-1-what-are-airdrops-and-how-can-they-change-your-life" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>#1: What are airdrops, and how can they change your life?</strong></h2><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9856e22d6f3c8fbe648533fb10a8e3d45257e216287e291fa39abdd8865cfacf.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Link: “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.intract.io/quest/666b57994d97acde3eb116fe">What are airdrops, and how can they change your life?</a>“</p><p><strong>Q:</strong> In simple terms, what are airdrops? <strong>A:</strong> A free distribution of crypto tokens by a crypto project</p><p><strong>Q:</strong> Assuming Uber were to do an airdrop, who would be rewarded? <strong>A:</strong> All of them :)</p><p><strong>Q:</strong> Why do projects distribute their ownership via airdrops? <strong>A:</strong> It creates a more decentralized decision-making process</p><p><strong>Q:</strong> How do tokens affect the &apos;governance&apos; of a project? <strong>A:</strong> Users with more tokens have a greater voting power on project decisions</p><p><strong>Q:</strong> Which of these is NOT a reason why projects do an airdrop? <strong>A:</strong> To generate revenue through transaction fees</p><p><strong>Q:</strong> What&apos;s the difference between airdrop hunting and airdrop farming? <strong>A:</strong> Hunting focuses on being a regular user, while farming might use unfair methods</p><p><strong>Q:</strong> Which crypto projects have done some of the biggest airdrops till date? <strong>A:</strong> All of these ;)</p><h2 id="h-2-types-of-airdrops" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>#2: Types of airdrops</strong></h2><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7f7ad5047dcdc3708a1d85baa8a6c12ed3d262f6503299700da08b9127cf1056.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.intract.io/quest/666b9c224d97acde3eb1337b">https://www.intract.io/quest/666b9c224d97acde3eb1337b</a></p><p>Link: “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.intract.io/quest/666b9c224d97acde3eb1337b">Types of airdrops</a>“</p><p><strong>Q:</strong> In airdrops like Arbitrum, what is the commonly expected criteria? <strong>A:</strong> Users with more transactions and funds onchain will receive a larger airdrop</p><p><strong>Q:</strong> In what ways are project points different from traditional token airdrops? <strong>A:</strong> All of these ;)</p><p><strong>Q:</strong> Why are early adopter NFTs usually issued by projects? <strong>A:</strong> These NFTs serve as proof of a user&apos;s early contribution to a project</p><p><strong>Q:</strong> What is the key difference between staking and liquidity farming? <strong>A:</strong> Staking has users lock up tokens, while liquidity farming is a way to get eligible for airdrops</p><p><strong>Q:</strong> Why is it important to interact with testnets while hunting airdrops? <strong>A:</strong> Participating in the testnet can qualify users as early contributors for airdrop rewards</p><p><strong>Q:</strong> What are examples of the other ways to qualify for airdrops? <strong>A:</strong> All of these ;)</p><p><strong>Q:</strong> What does the snapshot of a crypto project refer to? <strong>A:</strong> The deadline for a user to complete tasks/interactions to qualify for an airdrop</p><p><strong>Q:</strong> What is the main challenge with liquidity-based airdrops? <strong>A:</strong> The decreasing share of airdrop rewards as more users participate</p><p><strong>Q:</strong> How can interaction-based airdrops be more beneficial for certain users? <strong>A:</strong> Users with less capital to begin with, can still earn the airdrop by maximising interactions</p><p><strong>Q:</strong> Which of these is NOT good advice while choosing projects to farm? <strong>A:</strong> Focus on liquidity-based airdrops if you&apos;re not a whale</p><h2 id="h-3-how-to-earn-huge-dollar-from-airdrops" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>#3: How to earn huge $ from airdrops?</strong></h2><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6e8df1779a2e4be5e7fd45580d0c5cfa4697fddd881a6f14a339d379688c7aed.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.intract.io/quest/666de0106ec95e2507649ffa">https://www.intract.io/quest/666de0106ec95e2507649ffa</a></p><p>Link: “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.intract.io/quest/666de0106ec95e2507649ffa">How to earn huge $ from airdrops?</a>“</p><p><strong>Q:</strong> What is NOT a crucial factor while deciding whether to hunt a project&apos;s airdrop? <strong>A:</strong> Size of the project&apos;s team</p><p><strong>Q:</strong> What is one key indicator that a project is planning an airdrop? <strong>A:</strong> The project&apos;s documents mention keywords like &quot;governance&quot; and &quot;decentralization.&quot;</p><p><strong>Q:</strong> What are the right factors to estimate a project&apos;s valuation? <strong>A:</strong> The sector the project belongs to and the blockchain it operates on</p><p><strong>Q:</strong> What is the risk to consider while hunting an airdrop? <strong>A:</strong> The airdrop rewards might not be worth the time and effort required to participat</p><p><strong>Q:</strong> What are some airdrop hunting actions for a user with a low budget? <strong>A:</strong> All of these ;)</p><p><strong>Q:</strong> Which of these is an example of &apos;essential&apos; airdrop hunting actions? <strong>A:</strong> Bridging tokens to a blockchain and doing transactions</p><p><strong>Q:</strong> Why is it important to follow KOLs (crypto influencers)? <strong>A:</strong> All of these ;)</p><p><strong>Q:</strong> What does &apos;alpha&apos; mean in crypto and airdrop hunting? <strong>A:</strong> Any valuable insight that gives users an advantage in making money in crypto</p><p><strong>Q:</strong> What are some VC firms whose investments have lead to huge airdrops? <strong>A:</strong> All of these ;)</p><p><strong>Q:</strong> What is the relationship between a project&apos;s category and its potential airdrop? <strong>A:</strong> Infrastructure projects like blockchains have bigger airdrops compared to DEXs, games, and others</p><p><strong>Q:</strong> Which of these is NOT a good tip around hunting airdrops? <strong>A:</strong> Using multiple wallets and other hacks</p><h2 id="h-4-things-to-keep-in-mind" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>#4: Things to keep in mind!</strong></h2><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/762f175115e92a5e3bae91f50ad716793c6b999c84645c64b9b7c7371e2c5641.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Link: “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.intract.io/quest/667d2059010a0189758ba395">Things to keep in mind</a>!“</p><p>Things to keep in mind!</p><p><strong>Q:</strong> What can lead to disqualification of even genuine users from airdrops? <strong>A:</strong> Using different wallets and transferring funds between them</p><p><strong>Q:</strong> How do projects fight back against Sybils? <strong>A:</strong> All of these ;)</p><p><strong>Q:</strong> What are actions users DON&apos;T undergo during proof of humanity? <strong>A:</strong> Sending tokens as payment</p><p><strong>Q:</strong> What is the most important tool to stay safe from crypto scams? <strong>A:</strong> WalletGuard</p><p><strong>Q:</strong> What is the purpose of having a burner wallet in crypto? <strong>A:</strong> Act as a temporary wallet for interacting with projects and avoiding scams</p><p><strong>Q:</strong> What are factors that determine higher prices after a token&apos;s airdrop? <strong>A:</strong> All of these ;)</p><p>Claim your first airdrop and NFT rewards!</p>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/c0302913c393d7ba4f3a133414ece7f26008709e6e1317f438498331d5c25a2a.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Warpcast.com || Farcaster]]></title>
            <link>https://paragraph.com/@odanoder-2/warpcast-com-farcaster</link>
            <guid>zJlDo93FzSZVVYYp2QAr</guid>
            <pubDate>Fri, 08 Nov 2024 16:51:24 GMT</pubDate>
            <description><![CDATA[ОглавлениеГде посмотреть и как узнать свой Farcaster ID(FID)?Как найти свой Farcaster ID (FID) Farcaster ID (FID) — это уникальный идентификатор вашего профиля в социальной сети Farcaster. Он используется для идентификации и взаимодействия с другими пользователями платформы. Способы узнать свой FID: Вариант №1 Профиль Farcaster. Авторизуйтесь в своем аккаунте (используя барузер) на платформе warpcast. Нажимаем на кнопку “Log in with email” или “Log in with phone“. Обычно FID указан в настройк...]]></description>
            <content:encoded><![CDATA[<p>Оглавление</p><h2 id="h-gde-posmotret-i-kak-uznat-svoj-farcaster-idfid" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Где посмотреть и как узнать свой Farcaster ID(FID)?</h2><p><strong>Как найти свой Farcaster ID (FID)</strong></p><p><strong>Farcaster ID (FID)</strong> — это уникальный идентификатор вашего профиля в социальной сети Farcaster. Он используется для идентификации и взаимодействия с другими пользователями платформы.</p><p><strong>Способы узнать свой FID:</strong></p><p>Вариант №1 Профиль Farcaster.</p><p>Авторизуйтесь в своем аккаунте (используя барузер) на платформе <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/">warpcast</a>. Нажимаем на кнопку “Log in with email” или “Log in with phone“. Обычно FID указан в настройках профиля (настройках аккаунта)<em>.</em></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e4f70ca0a6f18371526d9c62a6f1ac8a2091e601bb4e9e534ef83902f74ce256.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/1a31c9c8e19fa1c6e27f15fe3d20552491938552f368ec9ade82a5bedf2df698.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Вариант №2 Использование Farcaster API.</p><p>Farcaster предоставляет API, через который можно получить свой FID. Для этого выполните запрос, подставив свой username. В ответе вы найдете FID в данных профиля.</p><pre data-type="codeBlock" text="curl -X GET &quot;https://api.farcaster.xyz/v1/users/by-username/{your_username}&quot;
"><code>curl <span class="hljs-operator">-</span>X <span class="hljs-keyword">GET</span> "https://api.farcaster.xyz/v1/users/by-username/{your_username}"
</code></pre><p>Вариант №3 Использовать CLI (если установлен)</p><p>Если вы используете CLI Farcaster, можно получить свой FID командой, которая возвращает информацию о вашем профиле.</p><pre data-type="codeBlock" text="farcaster user info
"><code>farcaster <span class="hljs-keyword">user</span> info
</code></pre>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
        </item>
        <item>
            <title><![CDATA[Discord]]></title>
            <link>https://paragraph.com/@odanoder-2/discord</link>
            <guid>rSiq2s7LtJTuza8FKUfG</guid>
            <pubDate>Fri, 08 Nov 2024 12:08:37 GMT</pubDate>
            <description><![CDATA[Token в DiscordЧто такое токен в Discord?Токен в Discord - это уникальный набор символов, который служит ключом для доступа к вашей учетной записи через API Discord.Токен в Discord — это уникальный идентификатор или ключ (строка данных, состоящая из букв и цифр, генерируется сервером Discor), который позволяет взаимодействовать с Discord через ботов и автоматизированные скрипты. Когда требуется доступ к определенной учетной записи, серверу или ботам, используется токен для идентификации и аут...]]></description>
            <content:encoded><![CDATA[<h2 id="h-token-v-discord" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Token в Discord</h2><h4 id="h-chto-takoe-token-v-discord" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Что такое токен в Discord?</h4><blockquote><p><strong>Токен в Discord</strong> - это уникальный набор символов, который служит ключом для доступа к вашей учетной записи через API Discord.</p></blockquote><p>Токен в Discord — это уникальный идентификатор или ключ (строка данных, состоящая из букв и цифр, генерируется сервером Discor), который позволяет взаимодействовать с Discord через ботов и автоматизированные скрипты. Когда требуется доступ к определенной учетной записи, серверу или ботам, <strong>используется токен для идентификации и аутентификации</strong> запросов к API Discord. <em>Он работает как «паспорт», и именно по токену Discord идентифицирует и предоставляет доступ к ресурсам.</em> <strong>Каждый токен уникален и привязан к учетной записи или боту</strong>. <em>Token позволяет приложениям: Взаимодействовать с API Discord; Получать доступ к серверу, где добавлен бот; Работать с командами, переданными через API; Обрабатывать события, такие как сообщения, реакции и уведомления.</em> Если токен утерян или украден, злоумышленники могут использовать его для доступа к API Discord от имени владельца токена.</p><h2 id="h-kak-uznat-svoj-discord-token" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Как узнать свой Discord токен?</h2><blockquote><p>Нужно использовать браузер или настольное приложение Discord (версия которая устанавливается на компьютер). Мобильное приложении не поддерживает такую функцию.</p></blockquote><p>браузер</p><h4 id="h-kak-uznat-token-discord-cherez-brauzer" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Как узнать токен Discord через браузер?</h4><p>Откройте Discord в браузере: Запустите <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/login">веб-версию Discord</a> и войдите в свою учетную запись.</p><p>Откройте инструменты разработчика. Рассмотрим пример браузеров <code>chrome</code> или <code>brave</code>. Нажмите <code>F12</code> или кликните правой кнопкой мыши на странице и выберите &quot;Посмотреть код&quot; / &quot;Инспектировать&quot;. Перейдите во вкладку <code>Network</code> (Сеть).</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/fb9d10aaf9b35bb7d90b8e2cfad3604958a71c8033468745dc0e6aa608d9f431.jpg" alt="Перейдите во вкладку Network" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Перейдите во вкладку Network</figcaption></figure><p>В строке поиска фильтруйте запросы, введя <code>&quot;/api&quot;</code> или <code>&quot;api&quot;</code> (запросы Discord API). Обновите страницу (нажмите Ctrl + R). Появится куча вкладок, типа science, выберите её или любую другую. Найдите один из запросов к <code>discord.com/api</code>.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/069f3716ef29d4ba236afc1d5fbc446440c2e910ba275b86d9035b26a5b8bc70.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>В деталях запроса перейдите на вкладку <code>&quot;Headers&quot;</code> (Заголовки) и найдите поле <code>Authorization</code> — это и есть ваш токен. Листайте список справа пока не дойдёте до надписи <code>Authorization</code>, если её нет - берите другую вкладку.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b69b48ada89a05c92189d54cadc9c4376643e5dfc1b6926c68174b63f1d9237b.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h4 id="h-kak-uznat-token-discord-cherez-nastolnoe-prilozhenie-versiya-kotoraya-ustanavlivaetsya-na-kompyuter" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Как узнать токен Discord через настольное приложение (версия которая устанавливается на компьютер)?</h4><p>Для приложения принцип тот же, но потребуется немного изменить подход:</p><p>Откройте <strong>Discord Desktop App</strong>. Нажмите комбинацию клавиш <code>Ctrl + Shift + I</code> для вызова панели разработчика. В разделе <strong>Application</strong> → <strong>Local Storage</strong> найдите токен, связанный с <code>discord.com</code>.</p><blockquote><p>Ваш Discord токен предоставляет полный доступ к вашему аккаунту. Если кто-то завладеет им, он получит возможность управлять вашей учетной записью, поэтому: Не сохраняйте токен в открытом виде. Перегенерируйте токен, если подозреваете утечку (смените пароль учетной записи).</p></blockquote><h2 id="h-chto-delat-esli-token-ustarel" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Что делать, если токен устарел?</h2><p>Если ваш токен устарел, вы не сможете использовать его для взаимодействия с API Discord. В таком случае необходимо сбросить токен и получить новый.</p><p><strong>Способы сброса токена</strong></p><p>Смена пароля учетной записи. Зайдите в Discord и перейдите в Настройки пользователя (значок шестеренки). Выберите &quot;Моя учетная запись&quot; и нажмите &quot;Изменить пароль&quot;. Введите текущий и новый пароли. После смены пароля ваш токен автоматически сбросится.</p><p>Войдите заново: при смене пароля произойдет принудительный выход из аккаунта на всех устройствах, и будет сгенерирован новый токен.</p>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
        </item>
        <item>
            <title><![CDATA[Руководство по установке валидатора Elixir Mainnet]]></title>
            <link>https://paragraph.com/@odanoder-2/elixir-mainnet</link>
            <guid>E5p7SWISsRQCcgE1RbVc</guid>
            <pubDate>Sun, 03 Nov 2024 17:04:25 GMT</pubDate>
            <description><![CDATA[Гайды. Ноды. Тестнеты | Teletype "OdaNoder" | Mirror "OdaNoder" | Telegram группаОглавление Быстрая установка с использованием скриптов Ручная установка Обновление валидатораПодготовка оборудованияРекомендуемые требования:Оперативная память: 8 ГБ.Скорость интернета: стабильное подключение на 100 Мбит/с.Хранилище: 100 ГБ свободного места.Быстрая установка с использованием скриптовС таким скриптом вам не придется вручную выполнять каждый шаг: он автоматизирует все необходимые действия, включая ...]]></description>
            <content:encoded><![CDATA[<hr><p><em>Гайды. Ноды. Тестнеты | Teletype &quot;</em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://teletype.in/@odanoder"><em>OdaNoder</em></a><em>&quot; | Mirror &quot;</em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52"><em>OdaNoder</em></a><em>&quot; | </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.me/odanoder_channel"><em>Telegram группа</em></a></p><hr><blockquote><p>Оглавление</p><p>Быстрая установка с использованием скриптов</p><p>Ручная установка</p><p>Обновление валидатора</p></blockquote><hr><h3 id="h-podgotovka-oborudovaniya" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Подготовка оборудования</h3><p>Рекомендуемые требования:</p><ul><li><p><strong>Оперативная память</strong>: 8 ГБ.</p></li><li><p><strong>Скорость интернета</strong>: стабильное подключение на 100 Мбит/с.</p></li><li><p><strong>Хранилище</strong>: 100 ГБ свободного места.</p></li></ul><h2 id="h-bystraya-ustanovka-s-ispolzovaniem-skriptov" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Быстрая установка с использованием скриптов</h2><blockquote><p>С таким скриптом вам не придется вручную выполнять каждый шаг: он автоматизирует все необходимые действия, включая ввод параметров, настройку Docker Compose и выдачу готовых команд для управления.</p></blockquote><h3 id="h-shag-1-ustanovka-docker-i-docker-compose" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Шаг 1: Установка Docker и Docker Compose</h3><pre data-type="codeBlock" text="sudo apt update
"><code>sudo apt <span class="hljs-keyword">update</span>
</code></pre><pre data-type="codeBlock" text="sudo apt install curl wget git nano htop tree net-tools openssh-server npm -y
"><code>sudo apt install curl wget git nano htop tree net<span class="hljs-operator">-</span>tools openssh<span class="hljs-operator">-</span>server npm <span class="hljs-operator">-</span>y
</code></pre><pre data-type="codeBlock" text="bash &lt;(curl -s https://raw.githubusercontent.com/odanoder/scripts/refs/heads/main/docker/docker_compose_ru_off.sh)
"><code>bash &#x3C;(curl -s <span class="hljs-symbol">https:</span>/<span class="hljs-regexp">/raw.githubusercontent.com/odanoder</span><span class="hljs-regexp">/scripts/refs</span><span class="hljs-regexp">/heads/main</span><span class="hljs-regexp">/docker/docker</span>_compose_ru_off.sh)
</code></pre><pre data-type="codeBlock" text="bash &lt;(curl -s https://raw.githubusercontent.com/odanoder/scripts/refs/heads/main/docker/add_user_docker_ru.sh)
"><code>bash &#x3C;(curl -s <span class="hljs-symbol">https:</span>/<span class="hljs-regexp">/raw.githubusercontent.com/odanoder</span><span class="hljs-regexp">/scripts/refs</span><span class="hljs-regexp">/heads/main</span><span class="hljs-regexp">/docker/add</span>_user_docker_ru.sh)
</code></pre><p>Выходим из текущей сессии (выполнить повторную авторизацию под нашим пользователем).</p><h3 id="h-shag-2-generaciya-privatnogo-klyucha-validatora" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Шаг 2: Генерация приватного ключа валидатора</h3><p>Для валидатора потребуется кошелек, предназначенный только для этой задачи. Для генерации приватного ключа используйте <strong>MetaMask</strong>:</p><ul><li><p>Создайте новый аккаунт в MetaMask: нажмите значок «My Accounts», затем «+ Create Account».</p></li><li><p>Скопируйте приватный ключ: откройте меню «Account Details», нажмите «Export private key».</p></li></ul><blockquote><p><strong>Внимание</strong>: Используйте этот кошелек <strong>только</strong> для работы валидатора!</p></blockquote><h3 id="h-shag-3-ustanovka-samogo-validatora" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Шаг 3: Установка самого валидатора</h3><p>После того как был установлен Docker и Docker Compose выполняем этот скрипт</p><pre data-type="codeBlock" text="bash &lt;(curl -s https://raw.githubusercontent.com/odanoder/networks/refs/heads/main/elixir/elixir_mainnet_install_ru.sh)
"><code>bash &#x3C;(curl -s <span class="hljs-symbol">https:</span>/<span class="hljs-regexp">/raw.githubusercontent.com/odanoder</span><span class="hljs-regexp">/networks/refs</span><span class="hljs-regexp">/heads/main</span><span class="hljs-regexp">/elixir/elixir</span>_mainnet_install_ru.sh)
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d690d99651974e79d9d7460a40503ca29eb88afd9088a45aeeb5dc5d4571bbc0.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>Теперь ваш валидатор Elixir настроен и работает, поддерживая основную сеть.</strong></p><hr><h2 id="h-ruchnaya-ustanovka" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Ручная установка</h2><h3 id="h-rukovodstvo-po-ustanovke-validatora-elixir-mainnet-vruchnuyu-s-ispolzovaniem-docker-compose" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Руководство по установке валидатора Elixir Mainnet вручную с использованием Docker Compose</h3><p>Это руководство поможет вам настроить и запустить валидатор на основной сети Elixir для поддержки сети и заработка вознаграждений.</p><h3 id="h-shag-1-ustanovka-docker-i-docker-compose" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Шаг 1: Установка Docker и Docker Compose</h3><pre data-type="codeBlock" text="bash &lt;(curl -s https://raw.githubusercontent.com/odanoder/scripts/refs/heads/main/docker/docker_compose_ru_off.sh)
"><code>bash &#x3C;(curl -s <span class="hljs-symbol">https:</span>/<span class="hljs-regexp">/raw.githubusercontent.com/odanoder</span><span class="hljs-regexp">/scripts/refs</span><span class="hljs-regexp">/heads/main</span><span class="hljs-regexp">/docker/docker</span>_compose_ru_off.sh)
</code></pre><pre data-type="codeBlock" text="bash &lt;(curl -s https://raw.githubusercontent.com/odanoder/scripts/refs/heads/main/docker/add_user_docker_ru.sh)
"><code>bash &#x3C;(curl -s <span class="hljs-symbol">https:</span>/<span class="hljs-regexp">/raw.githubusercontent.com/odanoder</span><span class="hljs-regexp">/scripts/refs</span><span class="hljs-regexp">/heads/main</span><span class="hljs-regexp">/docker/add</span>_user_docker_ru.sh)
</code></pre><p>Выходим из текущей сессии (выполнить повторную авторизацию под нашим пользователем).</p><h3 id="h-shag-2-generaciya-privatnogo-klyucha-validatora" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Шаг 2: Генерация приватного ключа валидатора</h3><p>Для валидатора потребуется кошелек, предназначенный только для этой задачи. Для генерации приватного ключа используйте <strong>MetaMask</strong>:</p><ul><li><p>Создайте новый аккаунт в MetaMask: нажмите значок «My Accounts», затем «+ Create Account».</p></li><li><p>Скопируйте приватный ключ: откройте меню «Account Details», нажмите «Export private key».</p></li></ul><blockquote><p><strong>Внимание</strong>: Используйте этот кошелек <strong>только</strong> для работы валидатора!</p></blockquote><h3 id="h-shag-3-nastrojka-validatora" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Шаг 3: Настройка валидатора</h3><pre data-type="codeBlock" text=" cd $HOME &amp;&amp; mkdir elixir &amp;&amp; cd elixir
"><code> <span class="hljs-built_in">cd</span> <span class="hljs-variable">$HOME</span> &#x26;&#x26; <span class="hljs-built_in">mkdir</span> elixir &#x26;&#x26; <span class="hljs-built_in">cd</span> elixir
</code></pre><p>Создайте файл <code>validator.env</code> для настроек валидатора:</p><pre data-type="codeBlock" text="STRATEGY_EXECUTOR_DISPLAY_NAME=YourValidatorName
STRATEGY_EXECUTOR_BENEFICIARY=YourWalletAddres
SIGNER_PRIVATE_KEY=YourPrivateKeyWithout0x

STRATEGY_EXECUTOR_DISPLAY_NAME — Название валидатора, которое будет отображаться в сети Elixir.
STRATEGY_EXECUTOR_BENEFICIARY — Адрес кошелька для получения вознаграждений.
SIGNER_PRIVATE_KEY — Приватный ключ кошелька (без префикса 0x).
"><code>STRATEGY_EXECUTOR_DISPLAY_NAME<span class="hljs-operator">=</span>YourValidatorName
STRATEGY_EXECUTOR_BENEFICIARY<span class="hljs-operator">=</span>YourWalletAddres
SIGNER_PRIVATE_KEY<span class="hljs-operator">=</span>YourPrivateKeyWithout0x

STRATEGY_EXECUTOR_DISPLAY_NAME — Название валидатора, которое будет отображаться в сети Elixir.
STRATEGY_EXECUTOR_BENEFICIARY — Адрес кошелька для получения вознаграждений.
SIGNER_PRIVATE_KEY — Приватный ключ кошелька (без префикса 0x).
</code></pre><pre data-type="codeBlock" text="nano validator.env
"><code>nano validator.env
</code></pre><p>Вставить в фаил <code>validator.env</code> приведенный ниже текст, подставив свои значения.</p><blockquote><p>Объяснение</p><p>NAME_NODE_ELIXIR - Название валидатора, которое будет отображаться в сети Elixir.</p><p>MY_ADDRESS_REWARD - Адрес кошелька для получения вознаграждений.</p><p>VALIDATOR_PRIVATE_KEY - Приватный ключ кошелька (без префикса 0x)</p></blockquote><pre data-type="codeBlock" text="# Valid environments are &quot;prod&quot; and &quot;testnet&quot;
ENV=prod

# Allowed characters A-Z, a-z, 0-9, _, -, and space
STRATEGY_EXECUTOR_DISPLAY_NAME=NAME_NODE_ELIXIR

# The Ethereum address to receive ELX rewards for this validator
STRATEGY_EXECUTOR_BENEFICIARY=MY_ADDRESS_REWARD

# A private key used only for this validator. Note: Does not begin with &quot;0x&quot;
SIGNER_PRIVATE_KEY=VALIDATOR_PRIVATE_KEY
"><code><span class="hljs-comment"># Valid environments are "prod" and "testnet"</span>
<span class="hljs-attr">ENV</span>=prod

<span class="hljs-comment"># Allowed characters A-Z, a-z, 0-9, _, -, and space</span>
<span class="hljs-attr">STRATEGY_EXECUTOR_DISPLAY_NAME</span>=NAME_NODE_ELIXIR

<span class="hljs-comment"># The Ethereum address to receive ELX rewards for this validator</span>
<span class="hljs-attr">STRATEGY_EXECUTOR_BENEFICIARY</span>=MY_ADDRESS_REWARD

<span class="hljs-comment"># A private key used only for this validator. <span class="hljs-doctag">Note:</span> Does not begin with "0x"</span>
<span class="hljs-attr">SIGNER_PRIVATE_KEY</span>=VALIDATOR_PRIVATE_KEY
</code></pre><p><em>Пример как должен выглядеть фаил</em> <code>validator.env</code></p><pre data-type="codeBlock" text="ENV=prod

STRATEGY_EXECUTOR_DISPLAY_NAME=MyNodeName
STRATEGY_EXECUTOR_BENEFICIARY=0xe10C191F857529295823C3743AfeA26AE9a3a00b
SIGNER_PRIVATE_KEY=e412ab1b5c2c0d5c04d6d0d46e478c67ed46f78c5e65d1ed4ac70f56e9655d30
"><code><span class="hljs-attr">ENV</span>=prod

<span class="hljs-attr">STRATEGY_EXECUTOR_DISPLAY_NAME</span>=MyNodeName
<span class="hljs-attr">STRATEGY_EXECUTOR_BENEFICIARY</span>=<span class="hljs-number">0</span>xe10C191F857529295823C3743AfeA26AE9a3a00b
<span class="hljs-attr">SIGNER_PRIVATE_KEY</span>=e412ab1b5c2c0d5c04d6d0d46e478c67ed46f78c5e65d1ed4ac70f56e9655d30
</code></pre><h3 id="h-shag-5-nastrojka-docker-compose-dlya-zapuska-validatora" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Шаг 5: Настройка Docker Compose для запуска валидатора</h3><p><strong>Создайте файл Docker Compose</strong>: Создайте файл <code>docker-compose.yml</code> в рабочей директории с таким содержанием:</p><pre data-type="codeBlock" text="cd $HOME/elixir &amp;&amp; nano docker-compose.yml
"><code>cd $HOME<span class="hljs-operator">/</span>elixir <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> nano docker<span class="hljs-operator">-</span>compose.yml
</code></pre><p>Приведенный ниже текст скопировать в фаил <code>docker-compose.yml</code></p><pre data-type="codeBlock" text="version: &apos;3&apos;
services:
  elixir-validator:
    image: elixirprotocol/validator
    container_name: elixir
    env_file:
      - ./validator.env
    restart: always
    ports:
      - &quot;17690:17690&quot;  # для мониторинга состояния и метрик
"><code>version: <span class="hljs-string">'3'</span>
services:
  elixir<span class="hljs-operator">-</span>validator:
    image: elixirprotocol<span class="hljs-operator">/</span>validator
    container_name: elixir
    env_file:
      <span class="hljs-operator">-</span> ./validator.env
    restart: always
    ports:
      <span class="hljs-operator">-</span> <span class="hljs-string">"17690:17690"</span>  # для мониторинга состояния и метрик
</code></pre><p>Эта команда запустит валидатор в фоновом режиме. Контейнер настроен для автоматического перезапуска при сбоях.</p><pre data-type="codeBlock" text="docker compose up -d
"><code>docker compose up <span class="hljs-operator">-</span>d
</code></pre><h3 id="h-monitoring-i-proverka-sostoyaniya" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Мониторинг и проверка состояния</h3><p>После запуска можно проверить статус контейнера и просмотреть логи:</p><pre data-type="codeBlock" text="docker ps  # для проверки запущенных контейнеров
docker logs -f elixir  # для просмотра логов в реальном времени
"><code>docker ps  <span class="hljs-comment"># для проверки запущенных контейнеров</span>
docker logs -f elixir  <span class="hljs-comment"># для просмотра логов в реальном времени</span>
</code></pre><p>Чтобы проверить состояние валидатора и метрики, откройте в браузере:</p><hr><h2 id="h-obnovlenie-validatora-esli-vyshlo-novoe-obnovlenie" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Обновление валидатора (если вышло новое обновление)</h2><p>По мере обновлений от команды Elixir вам потребуется обновлять Docker-образ:</p><ol><li><p>Остановите и удалите контейнер:</p><pre data-type="codeBlock" text="docker kill elixir
docker rm elixir
"><code>docker <span class="hljs-built_in">kill</span> elixir
docker <span class="hljs-built_in">rm</span> elixir
</code></pre></li><li><p>Скачайте обновленную версию образа:</p><pre data-type="codeBlock" text="cd $HOME/elixir &amp;&amp; docker pull elixirprotocol/validator
"><code><span class="hljs-built_in">cd</span> <span class="hljs-variable">$HOME</span>/elixir &#x26;&#x26; docker pull elixirprotocol/validator
</code></pre></li><li><p>Перезапустите контейнер:</p><pre data-type="codeBlock" text="cd $HOME/elixir &amp;&amp; docker compose up -d
"><code>cd $HOME<span class="hljs-operator">/</span>elixir <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> docker compose up <span class="hljs-operator">-</span>d
</code></pre></li></ol><hr><p><strong>Теперь ваш валидатор Elixir настроен и работает, поддерживая основную сеть.</strong></p>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/1752d6d655b3450c6566708fb37aebd0495abeedcb7ba7a5adc2f4337e141746.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Быстрая установка docker + compose]]></title>
            <link>https://paragraph.com/@odanoder-2/docker-compose-2</link>
            <guid>F8c1XbJL0Us1nNDefe1T</guid>
            <pubDate>Sun, 03 Nov 2024 14:58:03 GMT</pubDate>
            <description><![CDATA[Гайды. Ноды. Тестнеты | Teletype "OdaNoder" | Mirror "OdaNoder" | Telegram группа Приведенный ниже скрипт использует официальный скрипт установки от docker. Пункт установки №1 - Установка Скрипт установки docker и docker composebash &#x3C;(curl -s https://raw.githubusercontent.com/odanoder/scripts/refs/heads/main/docker/docker_compose_ru_off.sh) Точно такой же скрипт установки только в нем добавлен список базовых команд для работы с докеромbash &#x3C;(curl -s https://raw.githubusercontent.com...]]></description>
            <content:encoded><![CDATA[<hr><p><em>Гайды. Ноды. Тестнеты | Teletype &quot;</em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://teletype.in/@odanoder"><em>OdaNoder</em></a><em>&quot; | Mirror &quot;</em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52"><em>OdaNoder</em></a><em>&quot; | </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.me/odanoder_channel"><em>Telegram группа</em></a></p><p>Приведенный ниже скрипт использует официальный скрипт установки от docker.</p><p><strong>Пункт установки №1 - Установка</strong></p><p>Скрипт установки docker и docker compose</p><pre data-type="codeBlock" text="bash &lt;(curl -s https://raw.githubusercontent.com/odanoder/scripts/refs/heads/main/docker/docker_compose_ru_off.sh)
"><code>bash &#x3C;(curl -s <span class="hljs-symbol">https:</span>/<span class="hljs-regexp">/raw.githubusercontent.com/odanoder</span><span class="hljs-regexp">/scripts/refs</span><span class="hljs-regexp">/heads/main</span><span class="hljs-regexp">/docker/docker</span>_compose_ru_off.sh)
</code></pre><p>Точно такой же скрипт установки только в нем добавлен список базовых команд для работы с докером</p><pre data-type="codeBlock" text="bash &lt;(curl -s https://raw.githubusercontent.com/odanoder/scripts/refs/heads/main/docker/docker_compose_ru_commands_off.sh)
"><code>bash &#x3C;(curl -s <span class="hljs-symbol">https:</span>/<span class="hljs-regexp">/raw.githubusercontent.com/odanoder</span><span class="hljs-regexp">/scripts/refs</span><span class="hljs-regexp">/heads/main</span><span class="hljs-regexp">/docker/docker</span>_compose_ru_commands_off.sh)
</code></pre><p><strong>Пункт установки №2 - Добавление пользователя в рабочую группу</strong> <code>docker</code></p><pre data-type="codeBlock" text="bash &lt;(curl -s https://raw.githubusercontent.com/odanoder/scripts/refs/heads/main/docker/add_user_docker_ru.sh)
"><code>bash &#x3C;(curl -s <span class="hljs-symbol">https:</span>/<span class="hljs-regexp">/raw.githubusercontent.com/odanoder</span><span class="hljs-regexp">/scripts/refs</span><span class="hljs-regexp">/heads/main</span><span class="hljs-regexp">/docker/add</span>_user_docker_ru.sh)
</code></pre><p>Выходим из текущей сессии (выполнить повторную авторизацию под нашим пользователем).</p><h2 id="h-chasto-vstrechayushiesya-oshibki" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Часто встречающиеся ошибки</h2><p><strong>Ошибка 1 - у пользователя нет прав</strong> <code>permission denied</code> <strong>, нужно дать права пользователю.</strong></p><pre data-type="codeBlock" text="nil@ubuntu:~$ docker ps
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get &quot;http://%2Fvar%2Frun%2Fdocker.sock/v1.47/containers/json&quot;: dial unix /var/run/docker.sock: connect: permission denied
"><code>nil@ubuntu:~$ docker ps
permission denied <span class="hljs-keyword">while</span> trying to <span class="hljs-keyword">connect</span> to the Docker daemon <span class="hljs-keyword">socket</span> at unix:<span class="hljs-regexp">//</span><span class="hljs-regexp">/var/run</span><span class="hljs-regexp">/docker.sock: Get "http:/</span><span class="hljs-regexp">/%2Fvar%2Frun%2Fdocker.sock/</span>v1.<span class="hljs-number">47</span>/containers/json<span class="hljs-string">": dial unix /var/run/docker.sock: connect: permission denied
</span></code></pre><p>Как исправить ошибку <code>permission denied</code> в docker (docker compose)?</p><p>Выполняем скрипт из <strong>Пункт установки №2</strong>, выходим из текущей сессии (выполнить повторную авторизацию под нашим пользователем).</p>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/782e9942962542ef188e253e209ee1268d7d022aa90a434985b1f688a5f90408.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[BlockMesh. Устанавливаем ноду. Step By Step, How To Install BlockMesh && Update node (v0.0.321)]]></title>
            <link>https://paragraph.com/@odanoder-2/blockmesh-step-by-step-how-to-install-blockmesh-update-node-v0-0-321</link>
            <guid>Sjw44iOzYxrsWrEWoA0G</guid>
            <pubDate>Wed, 23 Oct 2024 13:27:36 GMT</pubDate>
            <description><![CDATA[Проект BlockMesh находится на ранней стадии и пока не привлек инвестиции, но уже имеет партнерства с проектами, такими как Backpack и Eclipse. Для участников проекта сейчас доступен этап с вознаграждениями, включающий установку браузерного расширения и ноды на сервер с минимальными характеристиками, что позволяет зарабатывать очки.Гайд актуальный для версии v0.0.321. Для дальнейшей актуализации и поддержки в течении месяца нужно всего 3 минта NFT. The guide is relevant for version v0.0.321. F...]]></description>
            <content:encoded><![CDATA[<p>Проект <strong>BlockMesh</strong> находится на ранней стадии и пока не привлек инвестиции, но уже имеет партнерства с проектами, такими как <strong>Backpack</strong> и <strong>Eclipse</strong>. Для участников проекта сейчас доступен этап с вознаграждениями, включающий установку браузерного расширения и ноды на сервер с минимальными характеристиками, что позволяет зарабатывать очки.</p><blockquote><p><strong>Гайд актуальный для версии v0.0.321. Для дальнейшей актуализации и поддержки в течении месяца нужно всего 3 минта NFT.</strong></p><p><strong>The guide is relevant for version v0.0.321. For further updating and support during the month, only 3 NFT mints are needed.</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/nft/0x67Afd1736A4a2E1DB8A3cd14da2E4BBfD5001Faa/0">MINT NFT</a></p></blockquote><p><strong>Характеристики: 1CPU/1RAM/10SSD || Ubuntu 22.04</strong></p><blockquote><p><strong>НЕ допускается:</strong> Запуск узлов на VPS, Запуск нескольких узлов на одном IP-адресе. <strong>Допускается:</strong> Использование одной учетной записи с разных IP-адресов, лучше 1 узел = 1 учетная запись.</p><p><strong>NOT allowed:</strong> Running nodes on VPS, Running multiple nodes on one IP address. <strong>Allowed:</strong> Using one account from different IP addresses, better 1 node = 1 account.</p></blockquote><p>Зарегистрируйтесь на официальном сайте <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app.blockmesh.xyz/register?invite_code=odanoder">BlockMesh</a>. Укажите код приглашения <code>odanoder</code> || Register on the official <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app.blockmesh.xyz/register?invite_code=odanoder">BlockMesh</a> website. Enter the invitation code <code>odanoder</code></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/83c9eecd8c75ea580e2b86a5b0d0894d4b479334cec6139b1611841b5f8d2846.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><blockquote><p>На почту придет письмо. Обязательно <strong>подтвердите свою почту</strong>.</p><p>A letter will be sent to your email. Be sure to <strong>confirm your email</strong>.</p></blockquote><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/50d66e2d438fb863639404cd587e5993cd2ceaee579a58eb413be3e2181c4dcc.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Подключить свой <code>twitter</code> аккаунт и <code>solana wallet</code> || Connect your <code>twitter</code> and <code>solana wallet</code></p><h2 id="h-ustanovka-brauzernogo-rasshireniya-oror-installing-a-browser-extension" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Установка браузерного расширения || Installing a browser extension</h2><p>Устанавливаем <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://chromewebstore.google.com/detail/blockmesh-network/obfhoiefijlolgdmphcekifedagnkfjp">расширение</a> || Installing the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://chromewebstore.google.com/detail/blockmesh-network/obfhoiefijlolgdmphcekifedagnkfjp">extension</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/120c62fe831508a612aaf3bd6947ff1e67d5969b9d45296974fde2d69030d9fc.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Вводим почту и пароль || Enter your email and password</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/136ba702bb9c7b135cf52da470acfbf874d3e0b593160f5b1dcfc1c40d965c0e.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Поинты отслеживаем в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app.blockmesh.xyz/ui/dashboard">dashboard</a> || We track points in the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app.blockmesh.xyz/ui/dashboard">dashboard</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ab4e54c280faa010f7f0c1310e9240caa4b3c4f9888ecbd6daf97aad16daecf7.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-ustanovka-nody-na-server-oror-installing-a-node-on-a-server" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Установка ноды на сервер || Installing a node on a server</h2><blockquote><p><strong>Для этой ноды нужна минимальная версия Ubuntu 22.04</strong></p><p><strong>This node requires a minimum version of Ubuntu 22.04</strong></p></blockquote><h2 id="h-ustanovka-nody-skriptom-oror-installing-a-node-with-a-script" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Установка ноды скриптом || Installing a node with a script</h2><pre data-type="codeBlock" text="bash &lt;(curl -s https://raw.githubusercontent.com/odanoder/networks/refs/heads/main/blockmesh/install_blockmesh.sh)
"><code>bash &#x3C;(curl -s <span class="hljs-symbol">https:</span>/<span class="hljs-regexp">/raw.githubusercontent.com/odanoder</span><span class="hljs-regexp">/networks/refs</span><span class="hljs-regexp">/heads/main</span><span class="hljs-regexp">/blockmesh/install</span>_blockmesh.sh)
</code></pre><h2 id="h-ruchna-ustanovka-nody-oror-manual-node-installation" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Ручна установка ноды || Manual node installation</h2><pre data-type="codeBlock" text="sudo apt update &amp;&amp; sudo apt upgrade -y
"><code>sudo apt update <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> sudo apt upgrade <span class="hljs-operator">-</span>y
</code></pre><pre data-type="codeBlock" text="wget https://github.com/block-mesh/block-mesh-monorepo/releases/download/v0.0.321/blockmesh-cli-x86_64-unknown-linux-gnu.tar.gz
"><code>wget https://github.com/block-mesh/block-mesh-monorepo/releases/download/v0.0.321/blockmesh-cli-x86_64-unknown-linux-gnu.tar.gz
</code></pre><pre data-type="codeBlock" text="tar -xvzf blockmesh-cli-x86_64-unknown-linux-gnu.tar.gz &amp;&amp; rm blockmesh-cli-x86_64-unknown-linux-gnu.tar.gz
"><code>tar <span class="hljs-operator">-</span>xvzf blockmesh<span class="hljs-operator">-</span>cli<span class="hljs-operator">-</span>x86_64<span class="hljs-operator">-</span>unknown<span class="hljs-operator">-</span>linux<span class="hljs-operator">-</span>gnu.tar.gz <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> rm blockmesh<span class="hljs-operator">-</span>cli<span class="hljs-operator">-</span>x86_64<span class="hljs-operator">-</span>unknown<span class="hljs-operator">-</span>linux<span class="hljs-operator">-</span>gnu.tar.gz
</code></pre><p>Копируем весь текст сразу и вставляем в командную строку || Copy the entire text at once and paste it into the command line</p><blockquote><p><strong>EMAIL</strong> - заменить на свой адрес электронной почты, который указывали при регистрации на сайте. Кавычки оставляем. <strong>PASSWORD</strong> - заменить на свой пароль. Кавычки оставляем.</p><p><strong>EMAIL</strong> - replace with your email address that you specified when registering on the site. Leave the quotation marks. <strong>PASSWORD</strong> - replace with your password. Leave the quotation marks.</p></blockquote><pre data-type="codeBlock" text="sudo bash -c &quot;cat &lt;&lt;EOT &gt; /etc/systemd/system/blockmesh.service
[Unit]
Description=BlockMesh
After=network.target

[Service]
User=$USER
ExecStart=$HOME/target/release/blockmesh-cli login --email &apos;EMAIL&apos; --password &apos;PASSWORD&apos;
WorkingDirectory=$HOME/target/release
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOT&quot;
"><code>sudo bash -c "cat &#x3C;&#x3C;EOT > /etc/systemd/system/blockmesh.service
<span class="hljs-section">[Unit]</span>
<span class="hljs-attr">Description</span>=BlockMesh
<span class="hljs-attr">After</span>=network.target

<span class="hljs-section">[Service]</span>
<span class="hljs-attr">User</span>=<span class="hljs-variable">$USER</span>
<span class="hljs-attr">ExecStart</span>=<span class="hljs-variable">$HOME</span>/target/release/blockmesh-cli login --email <span class="hljs-string">'EMAIL'</span> --password <span class="hljs-string">'PASSWORD'</span>
<span class="hljs-attr">WorkingDirectory</span>=<span class="hljs-variable">$HOME</span>/target/release
<span class="hljs-attr">Restart</span>=<span class="hljs-literal">on</span>-failure

<span class="hljs-section">[Install]</span>
<span class="hljs-attr">WantedBy</span>=multi-user.target
EOT"
</code></pre><pre data-type="codeBlock" text="sudo systemctl daemon-reload &amp;&amp; sudo systemctl enable blockmesh
sudo systemctl start blockmesh
"><code>sudo systemctl daemon<span class="hljs-operator">-</span>reload <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> sudo systemctl enable blockmesh
sudo systemctl start blockmesh
</code></pre><p>Поинты отслеживаем в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app.blockmesh.xyz/ui/dashboard">dashboard</a> || We track points in the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app.blockmesh.xyz/ui/dashboard">dashboard</a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ab4e54c280faa010f7f0c1310e9240caa4b3c4f9888ecbd6daf97aad16daecf7.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-poleznye-komandy-oror-useful-commands" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Полезные команды || Useful commands</h2><p>Проверка логов || Checking logs</p><pre data-type="codeBlock" text="sudo journalctl -u blockmesh.service -f -n 100
"><code>sudo journalctl <span class="hljs-operator">-</span>u blockmesh.service <span class="hljs-operator">-</span>f <span class="hljs-operator">-</span>n <span class="hljs-number">100</span>
</code></pre><p>Перезагрузка сервиса || Restarting the service</p><pre data-type="codeBlock" text="sudo systemctl restart blockmesh
"><code></code></pre><h2 id="h-obnovlenie-nody-oror-updating-the-node-oror-ver-v00321" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Обновление ноды || Updating the node || ver: <strong>v0.0.321</strong></h2><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/block-mesh/block-mesh-monorepo/releases">GITHUB releases</a> (blockmesh-cli-x86_64-unknown-linux-gnu.tar.gz)</p><p>Копируем ссылку на последнюю версию бинарного файла || Copy the link to the latest version of the binary file</p><pre data-type="codeBlock" text="sudo apt update &amp;&amp; sudo apt upgrade -y
sudo systemctl stop blockmesh
rm -rf $HOME/target/
wget https://github.com/block-mesh/block-mesh-monorepo/releases/download/v0.0.321/blockmesh-cli-x86_64-unknown-linux-gnu.tar.gz
tar -xvzf blockmesh-cli-x86_64-unknown-linux-gnu.tar.gz
rm blockmesh-cli-x86_64-unknown-linux-gnu.tar.gz
sudo systemctl restart blockmesh
"><code>sudo apt update <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> sudo apt upgrade <span class="hljs-operator">-</span>y
sudo systemctl stop blockmesh
rm <span class="hljs-operator">-</span>rf $HOME<span class="hljs-operator">/</span>target<span class="hljs-operator">/</span>
wget https:<span class="hljs-comment">//github.com/block-mesh/block-mesh-monorepo/releases/download/v0.0.321/blockmesh-cli-x86_64-unknown-linux-gnu.tar.gz</span>
tar <span class="hljs-operator">-</span>xvzf blockmesh<span class="hljs-operator">-</span>cli<span class="hljs-operator">-</span>x86_64<span class="hljs-operator">-</span>unknown<span class="hljs-operator">-</span>linux<span class="hljs-operator">-</span>gnu.tar.gz
rm blockmesh<span class="hljs-operator">-</span>cli<span class="hljs-operator">-</span>x86_64<span class="hljs-operator">-</span>unknown<span class="hljs-operator">-</span>linux<span class="hljs-operator">-</span>gnu.tar.gz
sudo systemctl restart blockmesh
</code></pre><p>Проверяем логи и смотрим версию || Check the logs and see the version</p><pre data-type="codeBlock" text="sudo journalctl -u blockmesh.service -f -n 100
"><code>sudo journalctl <span class="hljs-operator">-</span>u blockmesh.service <span class="hljs-operator">-</span>f <span class="hljs-operator">-</span>n <span class="hljs-number">100</span>
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/867fd493c5f8c3806c5ac65e2ee7f145327f09c983b705686213a5e72e2a87be.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h2 id="h-udalenie-nody-oror-delete-node" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Удаление ноды || Delete node</h2><pre data-type="codeBlock" text="sudo systemctl stop blockmesh
sudo systemctl disable blockmesh
sudo rm /etc/systemd/system/blockmesh.service
sudo systemctl daemon-reload
rm -rf target
"><code>sudo systemctl stop blockmesh
sudo systemctl disable blockmesh
sudo rm <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>systemd<span class="hljs-operator">/</span>system<span class="hljs-operator">/</span>blockmesh.service
sudo systemctl daemon<span class="hljs-operator">-</span>reload
rm <span class="hljs-operator">-</span>rf target
</code></pre><p>________________________________</p><p>Часто Задаваемые Вопросы || Frequently Asked Questions</p><p>Большинство обновлений обратно совместимы || Most updates are backward compatible.</p><p>О критически важных обновлений сообщается в официальном канале проекта. Повешение верcии CLI связано с внесением любых изменений, но обычно версия не меняется. || Critical updates are announced in the official project channel. CLI version hanging is associated with any changes, but usually the version does not change.</p>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/b70a629a55d9e866492dd6425dcb715c8cbcb3c985ea07bfcfa857aa981e4d68.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Подборка актуальных кошельков Crypto Wallet]]></title>
            <link>https://paragraph.com/@odanoder-2/crypto-wallet</link>
            <guid>jScCPHHsbdqt6AUPickQ</guid>
            <pubDate>Mon, 21 Oct 2024 18:24:24 GMT</pubDate>
            <description><![CDATA[ВНИМАНИЕ: КРИПТОВАЛЮТНЫЕ КОШЕЛЬКИ, БИРЖИ ИЛИ ПЛАТФОРМЫ НИКОГДА НЕ БУДУТ ПРОСИТЬ ВАС ПОПОЛНИТЬ КОШЕЛЕК ДЛЯ ЕГО АКТИВАЦИИ!!!Универсальные Crypto Wallet (поддержка большого количества сетей\монет)БезопасностьВыбор надежного кошелька. Используйте только проверенные и официальные кошельки (например, Metamask, Trust Wallet, Ledger, Trezor ...). Создание кошелька в безопасной среде. Выполняйте установку кошелька на личном устройстве, избегая публичных сетей Wi-Fi, отключите сеть и интернет от устрой...]]></description>
            <content:encoded><![CDATA[<h2 id="h-vnimanie-kriptovalyutnye-koshelki-birzhi-ili-platformy-nikogda-ne-budut-prosit-vas-popolnit-koshelek-dlya-ego-aktivacii" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">ВНИМАНИЕ: КРИПТОВАЛЮТНЫЕ КОШЕЛЬКИ, БИРЖИ ИЛИ ПЛАТФОРМЫ НИКОГДА НЕ БУДУТ ПРОСИТЬ ВАС ПОПОЛНИТЬ КОШЕЛЕК ДЛЯ ЕГО АКТИВАЦИИ!!!</h2><h2 id="h-universalnye-crypto-wallet-podderzhka-bolshogo-kolichestva-setejmonet" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Универсальные Crypto Wallet (поддержка большого количества сетей\монет)</h2><h2 id="h-bezopasnost" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Безопасность</h2><p><strong>Выбор надежного кошелька.</strong> Используйте только проверенные и официальные кошельки (например, Metamask, Trust Wallet, Ledger, Trezor ...).</p><p><strong>Создание кошелька в безопасной среде.</strong> Выполняйте установку кошелька на личном устройстве, избегая публичных сетей Wi-Fi, отключите сеть и интернет от устройства, создайте кошелек используя сложный пароль, запишите на листике или сохраните в безопасном месте seed-фразу (не фотографировать, не копировать и не пересылать в мессенджеры и облака).</p><p><strong>Хранение seed-фразы (фразы восстановления).</strong> Запишите фразу восстановления (обычно 12-24 слова) на бумаге. Никогда не сохраняйте её в электронном виде (скриншот, заметки, облако).</p><p><strong>Использование сложных паролей.</strong> Установите уникальный, сложный пароль для доступа к кошельку. Не используйте пароли, связанные с вашей личной информацией.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.okx.com/ru/download">OKX Wallet официальный сайт</a> | <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://chromewebstore.google.com/detail/%D0%BA%D0%BE%D1%88%D0%B5%D0%BB%D0%B5%D0%BA-okx/mcohilncbfahbmgdjkbpemcciiolgcge">Расширение Chrome \ Brave</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://trustwallet.com/download">TrustWallet</a> | Расширение Chrome \ Brave скачивайте с официального сайта</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="">Talisman Wallet</a> | Расширение Chrome \ Brave скачивайте с официального сайта</p><h2 id="h-polkadot" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Polkadot</h2><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polkadot.js.org/extension/">Polkadot</a> |</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://talisman.xyz/">Talisman Wallet</a> | Расширение Chrome \ Brave скачивайте с официального сайта</p><h2 id="h-erc-20" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">ERC-20</h2><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://rabby.io/">Rabby</a> | Расширение Chrome \ Brave скачивайте с официального сайта</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://metamask.io/ru/">Metamask</a> | Расширение Chrome \ Brave скачивайте с официального сайта</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://rainbow.me">https://rainbow.me</a></p><h2 id="h-bitcoin" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Bitcoin</h2><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.okx.com/ru/download">https://www.okx.com/ru/download</a></p><p>Unisat Wallet ( OKX Wallet можно использовать как альтернативу)</p><h2 id="h-solana" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Solana</h2><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://phantom.app/">https://phantom.app/</a></p><h2 id="h-cosmos" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Cosmos</h2><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.keplr.app/get">https://www.keplr.app/get</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.leapwallet.io/download">https://www.leapwallet.io/download</a></p><h2 id="h-sui" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Sui</h2><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://suiwallet.com/">https://suiwallet.com/</a></p><pre data-type="codeBlock" text="SUI explorers:
https://suivision.xyz/
https://suiscan.xyz/
"><code>SUI explorers:
https:<span class="hljs-comment">//suivision.xyz/</span>
https:<span class="hljs-comment">//suiscan.xyz/</span>
</code></pre><h2 id="h-aptos" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Aptos</h2><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://petra.app/">https://petra.app/</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://pontem.network/pontem-wallet">https://pontem.network/pontem-wallet</a></p><p>Кошелек <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://martianwallet.xyz/">martian</a> лучше не использовать. После очередного обновления для sui и apt они внедрили принудительную комиссию в 2% от сумы перевода за использование кошелька (это слух - лично не проверял).</p><h2 id="h-starknet" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">StarkNet</h2><p>Braavos</p><p>Argent X</p><h2 id="h-chto-takoe-revoke-i-zachem-on-nuzhen" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Что такое Revoke и зачем он нужен?</h2><blockquote><p><strong>Revoke</strong> — это инструмент для контроля безопасности в мире криптовалют. Когда человек пользуется разными приложениями на базе эфира, ему часто приходится разрешать этим приложениям доступ к своим криптовалютам, чтобы проводить операции. Однако после использования приложения разрешение остается активным, и это может быть опасно — если приложение взломают, злоумышленники могут воспользоваться этим доступом. <em>Revoke помогает увидеть, какие разрешения были выданы, и позволяет отозвать ненужные. Это как отобрать ключи у людей, которым вы больше не доверяете, чтобы они не могли воспользоваться вашим имуществом.</em></p></blockquote><p>В экосистеме эфира <strong>Revoke</strong> — это инструмент, который позволяет пользователям управлять своими разрешениями на использование токенов, предоставленными различным смарт-контрактам. Основная задача Revoke — повысить безопасность, позволяя отзывать разрешения, которые ранее были выданы приложениям DeFi, NFT-платформам или другим контрактам в сети Ethereum. Часто пользователи забывают об этих разрешениях, что может привести к потере активов, особенно если контракт оказался скомпрометированным.</p><h3 id="h-zachem-nuzhen-revoke" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Зачем нужен Revoke?</h3><p>Когда пользователь взаимодействует с децентрализованными приложениями (DApps), ему нередко требуется дать контракту разрешение на использование своих токенов. Например, при использовании DEX (децентрализованной биржи) нужно позволить смарт-контракту биржи перемещать токены для выполнения сделок. Эти разрешения остаются активными до тех пор, пока их явно не отозвать. Чем больше таких разрешений остается, тем выше риск, что злоумышленники смогут ими воспользоваться, особенно если контракт был скомпрометирован.</p><h3 id="h-princip-raboty" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Принцип работы</h3><p>Revoke проверяет блокчейн и отображает список всех разрешений, предоставленных кошельком пользователя. Это включает информацию о том, каким смарт-контрактам разрешено перемещать токены, а также их объем. Пользователь может выбрать ненужные или потенциально опасные разрешения и отозвать их, таким образом предотвращая возможность несанкционированного доступа к своим токенам.</p><p>Отзыв разрешений — это транзакция в сети Ethereum, которая требует оплаты комиссии за газ.</p><p>Сервисы для ревоука:</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/tokenapprovalchecker">https://etherscan.io/tokenapprovalchecker</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revoke.cash/">https://revoke.cash/</a></p><p>Описания кошельков.</p><p><strong>UniSat Wallet</strong> – это кошелек, разработанный специально для работы с <strong>Ordinals (Bitcoin NFT)</strong> и <strong>BRC-20 токенами</strong> в сети <strong>Bitcoin</strong>. Это один из первых и самых популярных кошельков для работы с этим стандартом.</p><h3 id="h-osobennosti-unisat" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">🔹 <strong>Особенности UniSat</strong></h3><p>✔ <strong>Поддержка Ordinals и BRC-20</strong> – позволяет чеканить, отправлять и получать NFT на Bitcoin.</p><p>✔ <strong>Работает как расширение для браузера</strong> – похож на Metamask, но для биткоина.</p><p>✔ <strong>Открытый исходный код</strong> – можно проверить на безопасность.</p><p>✔ <strong>Собственная площадка для торговли Ordinals и BRC-20</strong>.✔ <strong>Интеграция с аппаратными кошельками</strong> (например, Ledger).</p><h3 id="h-plyusy" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">🔥 <strong>Плюсы</strong></h3><p>✅ Простота использования для Ordinals и BRC-20.</p><p>✅ Активно развивается и получает обновления.</p><p>✅ Можно импортировать seed-фразу из других биткоин-кошельков.</p><p>✅ Поддержка Taproot-адресов (современный стандарт биткоина).</p><h3 id="h-minusy-i-riski" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">⚠ <strong>Минусы и риски</strong></h3><p>❌ Не так безопасен, как аппаратные кошельки.</p><p>❌ Возможны баги и уязвимости (как у всех новых проектов).</p><p>❌ BRC-20 – экспериментальный стандарт, его будущее не гарантировано.</p><p>Если работаешь с <strong>Ordinals и BRC-20</strong>, то <strong>UniSat</strong> – один из лучших вариантов.</p><p>_________________________________________________</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/ECwGmlttT2sg3hTMNZ64aTYLkBXW4uShXtV45lzq1Ss">About &amp; Contact | Donate</a> || <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="">Services</a></p>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/be20d3b28729c09e073a18f6ea8dfe1975bdd319a67e3f61dad5fc112a9b34e3.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Exorde. Устанавливаем ноду ||  How to run an Exorde node, Step by step]]></title>
            <link>https://paragraph.com/@odanoder-2/exorde-how-to-run-an-exorde-node-step-by-step</link>
            <guid>jmX7fJbKHJU47W43SJZz</guid>
            <pubDate>Sat, 19 Oct 2024 20:48:38 GMT</pubDate>
            <description><![CDATA[Network: MainNet Site: exordelabs.com Discord: dscord Token EXD coinmarketcap.comRequirementsWindows 8.1/10/11 or Linux or macOS 6 GB RAM per client instance 2 CPU cores per client instance 20 GB storage (HDD or SSD)Гайды. Ноды. Тестнеты | Teletype "OdaNoder" | Mirror "OdaNoder" | Telegram группаManual installation || Установка вручнуюUpdate your system || Обновляем систему и список пакетов.sudo apt update &#x26;&#x26; sudo apt upgrade -y Install DockerМожете воспользоваться гайдом “Быстрая у...]]></description>
            <content:encoded><![CDATA[<blockquote><p>Network: MainNet</p><p>Site: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.exordelabs.com/">exordelabs.com</a></p><p>Discord: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/XK5HNeeYuV">dscord</a></p><p>Token EXD <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://coinmarketcap.com/ru/currencies/exorde/">coinmarketcap.com</a></p></blockquote><blockquote><h3 id="h-requirements" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Requirements</h3><p>Windows 8.1/10/11 or Linux or macOS</p><p>6 GB RAM per client instance</p><p>2 CPU cores per client instance</p><p>20 GB storage (HDD or SSD)</p></blockquote><p><em>Гайды. Ноды. Тестнеты | Teletype &quot;</em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://teletype.in/@odanoder"><em>OdaNoder</em></a><em>&quot; | Mirror &quot;</em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52"><em>OdaNoder</em></a><em>&quot; | </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.me/odanoder_channel"><em>Telegram группа</em></a></p><h2 id="h-manual-installation-oror-ustanovka-vruchnuyu" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>Manual installation || Установка вручную</strong></h2><p><strong>Update your system || Обновляем систему и список пакетов.</strong></p><pre data-type="codeBlock" text="sudo apt update &amp;&amp; sudo apt upgrade -y
"><code>sudo apt update <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> sudo apt upgrade <span class="hljs-operator">-</span>y
</code></pre><h2 id="h-install-docker" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>Install Docker</strong></h2><blockquote><p>Можете воспользоваться гайдом “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/EjUIz3eIksMxS8HiQfSVyf9vxwqKtT2EOxeu1lUuhL8"><strong>Быстрая установка docker + compose</strong></a><strong>”</strong></p></blockquote><p>Install Docker ( If docker is installed, skip this step) || Устанавливаем Docker (Если докер установлен, пропускаем этот шаг).</p><pre data-type="codeBlock" text="curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
"><code>curl <span class="hljs-operator">-</span>fsSL https:<span class="hljs-comment">//get.docker.com -o get-docker.sh</span>
sudo sh get<span class="hljs-operator">-</span>docker.sh
</code></pre><p>Adding a user to a docker workgroup || Добавление пользователя в рабочую группа docker</p><pre data-type="codeBlock" text="myusername=$(echo $USER)
sudo usermod -aG docker $myusername
"><code>myusername=$(<span class="hljs-built_in">echo</span> <span class="hljs-variable">$USER</span>)
sudo usermod -aG docker <span class="hljs-variable">$myusername</span>
</code></pre><p>Log out of the user or reboot our VPS. If you are using a server and there are other projects on it, simply log out of the session and log in again (re-login).</p><p>Выходим из пользователя или перезагружаем нашу VPS. Если используете сервер и на нем есть другие проекты - просто выйдите из сессии и снова зайдите (перелогинится).</p><p>We will create a new directory named <code>exorde</code> and enter it. Inside this directory, we will create and edit a file named <code>docker-compose.yml</code>. The following text should be inserted into the <code>docker-compose.yml</code> file. <code>0x0F97049ea5c123104E46B46796194dB6DC805C99</code> - this is a placeholder for an EVM network wallet address. Please replace it with your actual wallet address. All rewards will be sent to the specified address.</p><p>Создаем папку <code>exorde</code> и переходим в нее. Создаем и редактируем фаил docker-compose.yml. Ниже приведен текст, который необходимо скопировать и вставить в наш <code>docker-compose.yml</code>. <code>0x0F97049ea5c123104E46B46796194dB6DC805C99</code> - это придуманный кошелек, меняем на свой адрес кошелька сети evm. На этот адрес будут начисляться награды.</p><pre data-type="codeBlock" text="mkdir exorde &amp;&amp; cd exorde
nano docker-compose.yml
"><code>mkdir exorde <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> cd exorde
nano docker<span class="hljs-operator">-</span>compose.yml
</code></pre><pre data-type="codeBlock" text="version: &apos;3&apos;

services:
  exorde-eny:
    image: exordelabs/exorde-client:latest
    command: --main_address 0x0F97049ea5c123104E46B46796194dB6DC805C99
    restart: unless-stopped
"><code>version: <span class="hljs-string">'3'</span>

services:
  exorde<span class="hljs-operator">-</span>eny:
    image: exordelabs<span class="hljs-operator">/</span>exorde<span class="hljs-operator">-</span>client:latest
    command: <span class="hljs-operator">-</span><span class="hljs-operator">-</span>main_address <span class="hljs-number">0x0F97049ea5c123104E46B46796194dB6DC805C99</span>
    restart: unless<span class="hljs-operator">-</span>stopped
</code></pre><p>To save the file and exit: Press Ctrl+O to save the file. Press Enter to confirm the filename. Press Ctrl+X to exit the nano editor.</p><p>Сохранить файл и выйти: Нажмите Ctrl + O (чтобы сохранить файл). Нажмите Enter (чтобы подтвердить имя файла). Нажмите Ctrl + X (чтобы выйти из редактора nano).</p><p>We start our node using the following command. If you have an older version of Docker, use <code>docker-compose</code> instead of <code>docker compose</code>.</p><p>Запускаем нашу ноду командой. Если у Вас более старая версия docker, тогда используйте <code>docker-compose</code> в место <code>docker compose</code></p><pre data-type="codeBlock" text="docker compose -f $HOME/exorde/docker-compose.yml -d up
"><code>docker compose <span class="hljs-operator">-</span>f $HOME<span class="hljs-operator">/</span>exorde<span class="hljs-operator">/</span>docker<span class="hljs-operator">-</span>compose.yml <span class="hljs-operator">-</span>d up
</code></pre><p><em>Thank you for your attention and congratulations on successfully setting up the node. || Спасибо за внимание и поздравляю с успешной настройкой узла.</em></p><p><strong>Additional commands || Дополнительные команды</strong></p><p>If you want to stop your node || Остановить ноду</p><pre data-type="codeBlock" text=" docker compose -f $HOME/exorde/docker-compose.yml down
"><code> docker compose <span class="hljs-operator">-</span>f $HOME<span class="hljs-operator">/</span>exorde<span class="hljs-operator">/</span>docker<span class="hljs-operator">-</span>compose.yml down
</code></pre><p>If you want to restart your node || Сделать рестарт</p><pre data-type="codeBlock" text=" docker compose -f $HOME/exorde/docker-compose.yml restart
"><code> docker compose <span class="hljs-operator">-</span>f $HOME<span class="hljs-operator">/</span>exorde<span class="hljs-operator">/</span>docker<span class="hljs-operator">-</span>compose.yml restart
</code></pre><hr><p>About &amp; Contact | Donate || <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/S6yC_iDcf6Ja1hbjpZhX6YIzqHB-_Ot5M8xOvx3BCbY">Services</a></p>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/0367312203f3425239e39209ead81e171b88e9022bbcbbb5de48210881be9eaf.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Настройка сервера с нуля, на базе Linux.]]></title>
            <link>https://paragraph.com/@odanoder-2/linux-2</link>
            <guid>XyqS7fNEkO5KqfohbWjq</guid>
            <pubDate>Fri, 18 Oct 2024 16:12:18 GMT</pubDate>
            <description><![CDATA[Будем считать что операционная система на базе Linux уже установлена. Данная статья находится на стадии наполнения. Ваши минты могут ускорить этот процесс. А так наполняю по наличии свободного времени.Опционально. Изменить имя сервера на свое.https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/Zlnf5FOwcfZHa7N2RL34OFPWKBdGUzQEeY1ya0sAyE4Базовая настройка .Настройка аутентификации на базе ключей SSH - это самый правильный вариант.Ограничить использование swap в Ubuntu.С подробным опис...]]></description>
            <content:encoded><![CDATA[<p>Будем считать что операционная система на базе Linux уже установлена.</p><p>Данная статья находится на стадии наполнения. Ваши минты могут ускорить этот процесс. А так наполняю по наличии свободного времени.</p><ol><li><p>Опционально. Изменить имя сервера на свое.</p></li></ol><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/Zlnf5FOwcfZHa7N2RL34OFPWKBdGUzQEeY1ya0sAyE4">https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/Zlnf5FOwcfZHa7N2RL34OFPWKBdGUzQEeY1ya0sAyE4</a></p><ol><li><p>Базовая настройка .</p></li><li><p>Настройка аутентификации на базе ключей SSH - это самый правильный вариант.</p></li></ol><h3 id="h-ogranichit-ispolzovanie-swap-v-ubuntu" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><strong>Ограничить использование swap в Ubuntu.</strong></h3><p>С подробным описанием можно ознакомиться в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="">этой статье</a>.</p><p>К сожалению, в Ubuntu (и других дистрибутивах Linux) нет прямого параметра, который бы жёстко ограничивал использование swap-памяти.</p><p><strong>Проверь настройки swapiness (60 - по умолчанию).</strong></p><pre data-type="codeBlock" text="cat /proc/sys/vm/swappiness
"><code>cat <span class="hljs-operator">/</span>proc<span class="hljs-operator">/</span>sys<span class="hljs-operator">/</span>vm<span class="hljs-operator">/</span>swappiness
</code></pre><p><strong>Уменьшить значение, чтобы система реже использовала swap. Использовать команду ниже или вручную отредактировать фаил</strong> <code>/proc/sys/vm/swappiness</code> .</p><pre data-type="codeBlock" text="sudo sysctl vm.swappiness=10
"><code>sudo sysctl <span class="hljs-attr">vm.swappiness</span>=<span class="hljs-number">10</span>
</code></pre><pre data-type="codeBlock" text="sudo sysctl -p
"><code>sudo sysctl -<span class="hljs-selector-tag">p</span>
</code></pre><p>Для внесения изменения на постоянной основе, открой файл <code>/etc/sysctl.conf</code> для редактирования</p><pre data-type="codeBlock" text="sudo nano /etc/sysctl.conf
"><code>sudo nano <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>sysctl.conf
</code></pre><p>Добавь строку в конец файла, сохранить и выйти</p><pre data-type="codeBlock" text="vm.swappiness=10
"><code><span class="hljs-attr">vm.swappiness</span>=<span class="hljs-number">10</span>
</code></pre><p>Применение новых настроек без перезагрузки</p><pre data-type="codeBlock" text="sudo sysctl -p
"><code>sudo sysctl -<span class="hljs-selector-tag">p</span>
</code></pre><p>Если swap по прежнему заполнен на 90%+ выполняем команды “Отключить swap” и “Включить swap”.</p><p>Отключить swap</p><pre data-type="codeBlock" text="sudo swapoff -a
"><code>sudo swapoff -<span class="hljs-selector-tag">a</span>
</code></pre><p>Включить swap</p><pre data-type="codeBlock" text="sudo swapon -a
"><code>sudo swapon -<span class="hljs-selector-tag">a</span>
</code></pre>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
        </item>
        <item>
            <title><![CDATA[Зависание сервера]]></title>
            <link>https://paragraph.com/@odanoder-2/HzLUaFx8OPbbLjvlzAaK</link>
            <guid>HzLUaFx8OPbbLjvlzAaK</guid>
            <pubDate>Fri, 18 Oct 2024 16:07:33 GMT</pubDate>
            <description><![CDATA[. Причина: swap заполнен на 95-100%. Если сервис продолжает забивать swap при наличии свободной оперативной памяти, применить ниже изложенное. Возможные решения: отключение swap, физическое ограничение сервиса, принудительное завершение любого сервиса который использует много swap (использовать скрипт).Оперативная память (RAM) и фаил подкачки (swap).Проверь настройки swapiness — это параметр Linux, который определяет, как агрессивно система использует swap. Если он установлен слишком высоко, ...]]></description>
            <content:encoded><![CDATA[<p>.</p><p>Причина: swap заполнен на 95-100%. Если сервис продолжает забивать swap при наличии свободной оперативной памяти, применить ниже изложенное. Возможные решения: отключение swap, физическое ограничение сервиса, принудительное завершение любого сервиса который использует много swap (использовать скрипт).</p><h2 id="h-operativnaya-pamyat-ram-i-fail-podkachki-swap" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Оперативная память (RAM) и фаил подкачки (swap).</h2><p><strong>Проверь настройки swapiness</strong> — это параметр Linux, который определяет, как агрессивно система использует swap. Если он установлен слишком высоко, система будет чаще использовать swap даже при наличии свободной RAM. Настройку можно посмотреть или изменить с помощью команды:</p><pre data-type="codeBlock" text="cat /proc/sys/vm/swappiness
"><code>cat <span class="hljs-operator">/</span>proc<span class="hljs-operator">/</span>sys<span class="hljs-operator">/</span>vm<span class="hljs-operator">/</span>swappiness
</code></pre><p><strong>Чем меньше значение swappiness, тем меньше система будет использовать swap.</strong> Это, как правило, более безопасная и эффективная стратегия, особенно для серверов, где стабильность работы очень важна. <strong>Слишком низкое значение swappiness</strong> может привести к тому, что система начнет испытывать нехватку памяти, если нагрузка будет очень высокой. В этом случае система может начать завершать процессы, чтобы освободить память. <strong>Оптимальное значение swappiness</strong> зависит от конкретной конфигурации системы и нагрузки. <em>Базовый мониторинг позволит отслеживать использование памяти, swap и другие параметры</em>.</p><p><strong>swappiness = 100:</strong> система будет стремиться максимально быстро освобождать оперативную память, перемещая данные в swap. Даже при наличии свободной оперативной памяти, система будет активно использовать swap.</p><p><strong>swappiness = 0:</strong> система будет стараться избегать использования swap до последнего момента. Она будет стремиться максимально использовать всю доступную оперативную память, прежде чем начать перемещать данные на диск.</p><p>Когда сервер начинает активно использовать swap, это означает, что оперативной памяти может быть недостаточно для текущих задач или ОС перемещает неактивные данные в swap, чтобы освободить оперативную память для более приоритетных процессов. Однако, если swap заполнен до предела, следующие моменты могут вызвать проблемы:</p><p><strong>Замедление работы:</strong> Доступ к данным в swap-памяти намного медленнее, чем в оперативной памяти, так как swap обычно располагается на жестком диске или SSD. Если swap начинает активно использоваться, производительность может резко снизиться.</p><p><strong>Стратегия управления памятью:</strong> ОС может продолжать записывать данные в swap, даже если оперативная память ещё свободна. Это может происходить из-за того, что система считает эти данные низкоприоритетными. Если swap заполнен, а система всё равно пытается выгружать данные, это может привести к сбоям в работе процессов, особенно если ресурсы требуют срочного доступа к данным.</p><p><strong>Out of Memory (OOM):</strong> Если swap и оперативная память не могут удовлетворить запросы памяти, ОС может начать завершать процессы, чтобы освободить ресурсы. Это может привести к аварийным завершениям программ и сервисов.</p><p><strong>Зависания:</strong> Если система тратит слишком много времени на обмен данными между оперативной памятью и swap (так называемый &quot;thrashing&quot;), она может полностью зависнуть. Это происходит, когда процессор перегружен обработкой ввода-вывода из swap, и системы начинают замедляться или перестают отвечать.</p><h3 id="h-chto-proizojdet-pri-polnom-zapolnenii-operativnoj-pamyati" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Что произойдет при полном заполнении оперативной памяти?</h3><p>Если оперативная память полностью заполняется:</p><p><strong>Swap начнет использоваться</strong> (если включен): Система начнет выгружать неактивные страницы данных в swap, чтобы освободить оперативную память для новых процессов или данных.</p><p><strong>Out of Memory (OOM)</strong>: Если swap тоже полностью заполнен, или если своппинга недостаточно, система может начать завершать процессы, которые используют больше всего памяти, чтобы освободить ресурсы для других процессов. Этот процесс называется <strong>OOM killer</strong> (Out of Memory killer), и он автоматически завершает наименее важные процессы, по мнению системы.</p><p><strong>SSH может быть недоступен</strong>: Если все ресурсы (RAM и swap) исчерпаны, могут быть проблемы с доступом по SSH, так как системе может не хватить памяти для обработки запросов.</p><h3 id="h-ochistka-swap-vruchnuyu" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Очистка swap вручную:</h3><p>Когда ты выполняешь команду <code>sudo swapoff -a</code>, произойдет следующее:</p><p><strong>Swap будет отключен</strong>: Система перестанет использовать swap-файл или раздел, и все данные, которые в данный момент находятся в swap, будут попытаны выгружены обратно в оперативную память.</p><p><strong>Никакие процессы не пострадают</strong>: Если в оперативной памяти достаточно места, то система успешно переместит данные из swap обратно в RAM. Однако, если оперативной памяти недостаточно (например, память уже заполнена почти полностью), могут возникнуть проблемы с отказом в выделении памяти, и система может начать завершать процессы (через механизм OOM — Out of Memory).</p><p>После выполнения команды <code>sudo swapon -a</code>, swap снова включится, и если система понадобится swap, она начнет его использовать снова. Однако при низком значении <code>swappiness</code>, система будет использовать swap менее агрессивно.</p><h3 id="h-kak-ogranichit-ispolzovanie-swap-v-ubuntu" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Как ограничить использование swap в Ubuntu:</h3><p>К сожалению, в Ubuntu (и других дистрибутивах Linux) нет прямого параметра, который бы жёстко ограничивал использование swap-памяти.</p><p><strong>Проверь настройки swapiness (60 - по умолчанию).</strong></p><pre data-type="codeBlock" text="cat /proc/sys/vm/swappiness
"><code>cat <span class="hljs-operator">/</span>proc<span class="hljs-operator">/</span>sys<span class="hljs-operator">/</span>vm<span class="hljs-operator">/</span>swappiness
</code></pre><p><strong>Уменьшить значение, чтобы система реже использовала swap. Использовать команду ниже или вручную отредактировать фаил</strong> <code>/proc/sys/vm/swappiness</code> .</p><pre data-type="codeBlock" text="sudo sysctl vm.swappiness=10
"><code>sudo sysctl <span class="hljs-attr">vm.swappiness</span>=<span class="hljs-number">10</span>
</code></pre><pre data-type="codeBlock" text="sudo sysctl -p
"><code>sudo sysctl -<span class="hljs-selector-tag">p</span>
</code></pre><p>Для внесения изменения на постоянной основе, открой файл <code>/etc/sysctl.conf</code> для редактирования</p><pre data-type="codeBlock" text="sudo nano /etc/sysctl.conf
"><code>sudo nano <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>sysctl.conf
</code></pre><p>Добавь строку в конец файла, сохранить и выйти</p><pre data-type="codeBlock" text="vm.swappiness=10
"><code><span class="hljs-attr">vm.swappiness</span>=<span class="hljs-number">10</span>
</code></pre><p>Применение новых настроек без перезагрузки</p><pre data-type="codeBlock" text="sudo sysctl -p
"><code>sudo sysctl -<span class="hljs-selector-tag">p</span>
</code></pre><p>Если swap по прежнему заполнен на 90%+ выполняем команды “Отключить swap” и “Включить swap” (раздел <strong>дополнительные команды</strong>).</p><p><strong>Дополнительные команды</strong></p><p>Отключить swap</p><pre data-type="codeBlock" text="sudo swapoff -a
"><code>sudo swapoff -<span class="hljs-selector-tag">a</span>
</code></pre><p>Включить swap</p><pre data-type="codeBlock" text="sudo swapon -a
"><code>sudo swapon -<span class="hljs-selector-tag">a</span>
</code></pre><p>Проверка использования памяти процессами. Если система продолжает активно использовать swap, это может указывать на процессы, которые используют слишком много памяти.</p><pre data-type="codeBlock" text="ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
"><code>ps <span class="hljs-operator">-</span>eo pid,ppid,cmd,<span class="hljs-operator">%</span>mem,<span class="hljs-operator">%</span>cpu <span class="hljs-operator">-</span><span class="hljs-operator">-</span>sort<span class="hljs-operator">=</span><span class="hljs-operator">-</span><span class="hljs-operator">%</span>mem <span class="hljs-operator">|</span> head
</code></pre><p>Проверь файл swap и его размер.</p><pre data-type="codeBlock" text="free -h
"><code><span class="hljs-built_in">free</span> -h
</code></pre><p>Проверка текущей нагрузки на память. Чтобы узнать, какие процессы используют больше всего памяти, и проверить, что может провоцировать использование swap.</p><pre data-type="codeBlock" text="ps aux --sort=-%mem | head -n 10
"><code>ps aux <span class="hljs-operator">-</span><span class="hljs-operator">-</span>sort<span class="hljs-operator">=</span><span class="hljs-operator">-</span><span class="hljs-operator">%</span>mem <span class="hljs-operator">|</span> head <span class="hljs-operator">-</span>n <span class="hljs-number">10</span>
</code></pre>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
        </item>
        <item>
            <title><![CDATA[Unichain. Устанавливаем ноду ||  How to run an Unichain node, Step by step]]></title>
            <link>https://paragraph.com/@odanoder-2/unichain-how-to-run-an-unichain-node-step-by-step</link>
            <guid>StPBP6DPojGEUK9qVV3X</guid>
            <pubDate>Thu, 17 Oct 2024 12:54:28 GMT</pubDate>
            <description><![CDATA[Manual installation || Установка вручную1 Update your system || Обновляем систему и список пакетов.sudo apt update &#x26;&#x26; sudo apt upgrade -y 2 Install Docker ( If docker is installed, skip this step) || Устанавливаем Docker (Если докер установлен, пропускаем этот шаг).curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh Adding a user to a docker workgroup || Добавление пользователя в рабочую группа dockermyusername=$(echo $USER) sudo usermod -aG docker $myusername 3...]]></description>
            <content:encoded><![CDATA[<h2 id="h-manual-installation-oror-ustanovka-vruchnuyu" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Manual installation || Установка вручную</h2><p><strong>1 Update your system || Обновляем систему и список пакетов.</strong></p><pre data-type="codeBlock" text="sudo apt update &amp;&amp; sudo apt upgrade -y
"><code>sudo apt update <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> sudo apt upgrade <span class="hljs-operator">-</span>y
</code></pre><p><strong>2 Install Docker ( If docker is installed, skip this step) || Устанавливаем Docker (Если докер установлен, пропускаем этот шаг).</strong></p><pre data-type="codeBlock" text="curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
"><code>curl <span class="hljs-operator">-</span>fsSL https:<span class="hljs-comment">//get.docker.com -o get-docker.sh</span>
sudo sh get<span class="hljs-operator">-</span>docker.sh
</code></pre><p>Adding a user to a docker workgroup || Добавление пользователя в рабочую группа docker</p><pre data-type="codeBlock" text="myusername=$(echo $USER)
sudo usermod -aG docker $myusername
"><code>myusername=$(<span class="hljs-built_in">echo</span> <span class="hljs-variable">$USER</span>)
sudo usermod -aG docker <span class="hljs-variable">$myusername</span>
</code></pre><p><strong>3 Log out of the user or reboot our VPS. If you are using a server and there are other projects on it, simply log out of the session and log in again (re-login).</strong></p><p><strong>Выходим из пользователя или перезагружаем нашу VPS. Если используете сервер и на нем есть другие проекты - просто выйдите из сессии и снова зайдите (перелогинится).</strong></p><p><strong>4 Clone Unichain repository || Клонируем репозиторию Unichain</strong></p><pre data-type="codeBlock" text="git clone https://github.com/Uniswap/unichain-node
"><code>git <span class="hljs-built_in">clone</span> https://github.com/Uniswap/unichain-node
</code></pre><pre data-type="codeBlock" text="cd unichain-node
"><code><span class="hljs-built_in">cd</span> unichain-node
</code></pre><p><strong>5 Open end edit .env.sepolia file || Открываем nano конфиг .env.sepolia и меняем RPC</strong></p><pre data-type="codeBlock" text="nano .env.sepolia
"><code>nano .env.sepolia
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c6585f0a60f754dc0a5d1743152c1c5a302886ebcd5f13cbc6586725dfa308b7.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Edit OP_NODE_L1_ETH_RPC and OP_NODE_L1_BEACON</p><pre data-type="codeBlock" text="OP_NODE_L1_ETH_RPC=https://ethereum-sepolia-rpc.publicnode.com
OP_NODE_L1_BEACON=https://ethereum-sepolia-beacon-api.publicnode.com
"><code><span class="hljs-attr">OP_NODE_L1_ETH_RPC</span>=https://ethereum-sepolia-rpc.publicnode.com
<span class="hljs-attr">OP_NODE_L1_BEACON</span>=https://ethereum-sepolia-beacon-api.publicnode.com
</code></pre><p>Save contents Ctrl + X, Y, Enter || Сохранить содержимое Ctrl + X, Y, Enter</p><p><strong>6 Launching the node || Запускаем ноду</strong></p><pre data-type="codeBlock" text="docker compose -f $HOME/unichain-node/docker-compose.yml up -d
"><code>docker compose <span class="hljs-operator">-</span>f $HOME<span class="hljs-operator">/</span>unichain<span class="hljs-operator">-</span>node<span class="hljs-operator">/</span>docker<span class="hljs-operator">-</span>compose.yml up <span class="hljs-operator">-</span>d
</code></pre><p>Checking || Проверяем</p><pre data-type="codeBlock" text="curl -d &apos;{&quot;id&quot;:1,&quot;jsonrpc&quot;:&quot;2.0&quot;,&quot;method&quot;:&quot;eth_getBlockByNumber&quot;,&quot;params&quot;:[&quot;latest&quot;,false]}&apos; \
  -H &quot;Content-Type: application/json&quot; http://localhost:8545
"><code>curl -d '<span class="hljs-punctuation">{</span><span class="hljs-attr">"id"</span><span class="hljs-punctuation">:</span><span class="hljs-number">1</span><span class="hljs-punctuation">,</span><span class="hljs-attr">"jsonrpc"</span><span class="hljs-punctuation">:</span><span class="hljs-string">"2.0"</span><span class="hljs-punctuation">,</span><span class="hljs-attr">"method"</span><span class="hljs-punctuation">:</span><span class="hljs-string">"eth_getBlockByNumber"</span><span class="hljs-punctuation">,</span><span class="hljs-attr">"params"</span><span class="hljs-punctuation">:</span><span class="hljs-punctuation">[</span><span class="hljs-string">"latest"</span><span class="hljs-punctuation">,</span><span class="hljs-literal"><span class="hljs-keyword">false</span></span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">}</span>' \
  -H <span class="hljs-string">"Content-Type: application/json"</span> http<span class="hljs-punctuation">:</span><span class="hljs-comment">//localhost:8545</span>
</code></pre><p>The result should be like this || Должен быть такой результат</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a4a70a905f4baf1198c257e69611e05c011286b7b81e437342572a0fbedb4af2.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Checking the logs || Проверяем логи <strong>unichain-node-op-node-1</strong></p><pre data-type="codeBlock" text="docker logs unichain-node-op-node-1 -f -n 100
"><code>docker logs unichain<span class="hljs-operator">-</span>node<span class="hljs-operator">-</span>op<span class="hljs-operator">-</span>node<span class="hljs-number">-1</span> <span class="hljs-operator">-</span>f <span class="hljs-operator">-</span>n <span class="hljs-number">100</span>
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/499ff135e8257f45fd75a3998382be6ba014ce4ae7ce695222612609d06558b7.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Checking the logs || Проверяем логи <strong>unichain-node-execution-client-1</strong></p><pre data-type="codeBlock" text="docker logs unichain-node-execution-client-1 -f -n 100
"><code>docker logs unichain<span class="hljs-operator">-</span>node<span class="hljs-operator">-</span>execution<span class="hljs-operator">-</span>client<span class="hljs-number">-1</span> <span class="hljs-operator">-</span>f <span class="hljs-operator">-</span>n <span class="hljs-number">100</span>
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/81e2986cbef28c50ad59a7f724913ec770b67a4b9b890af59ef999af212e3723.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>7 Display your private key and save it || Смотрим свой приватный ключ и сохраняем его</p><pre data-type="codeBlock" text="sudo less $HOME/unichain-node/geth-data/geth/nodekey
"><code>sudo less $HOME<span class="hljs-operator">/</span>unichain<span class="hljs-operator">-</span>node<span class="hljs-operator">/</span>geth<span class="hljs-operator">-</span>data<span class="hljs-operator">/</span>geth<span class="hljs-operator">/</span>nodekey
</code></pre><p><strong>Additional commands || Дополнительные команды</strong></p><p>If you want to stop your node || Остановить ноду</p><pre data-type="codeBlock" text=" docker compose -f $HOME/unichain-node/docker-compose.yml down
"><code> docker compose <span class="hljs-operator">-</span>f $HOME<span class="hljs-operator">/</span>unichain<span class="hljs-operator">-</span>node<span class="hljs-operator">/</span>docker<span class="hljs-operator">-</span>compose.yml down
</code></pre><p>If you want to restart your node || Сделать рестарт</p><pre data-type="codeBlock" text=" docker compose -f $HOME/unichain-node/docker-compose.yml restart
"><code> docker compose <span class="hljs-operator">-</span>f $HOME<span class="hljs-operator">/</span>unichain<span class="hljs-operator">-</span>node<span class="hljs-operator">/</span>docker<span class="hljs-operator">-</span>compose.yml restart
</code></pre>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/f1ad6ba092422e62726c2e7d07f6a4381400341c1eca11f37b47c4261a3961ae.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Личное пространство "CryptPad - бесплатная альтернатива облачного офиса, таких как Google Docs, Microsoft Office Online."]]></title>
            <link>https://paragraph.com/@odanoder-2/cryptpad-google-docs-microsoft-office-online</link>
            <guid>rhaZLzcEbVDtmDR1ddB2</guid>
            <pubDate>Tue, 15 Oct 2024 08:30:27 GMT</pubDate>
            <description><![CDATA[Краткое описание. CryptPad — это облачный сервис для создания зашифрованных документов и совместной работы с максимальной конфиденциальностью. Данные шифруются на стороне пользователя (end-to-end), что защищает их от третьих лиц.Назначение: безопасное создание и редактирование текстов, таблиц, презентаций, кодов и других документов.Особенности: работа без регистрации, шифрование данных, приватные ссылки для совместного доступа.Цена: бесплатная версия с 1 ГБ хранилища; платные планы для расшир...]]></description>
            <content:encoded><![CDATA[<p><strong>Краткое описание.</strong></p><p><strong>CryptPad</strong> — это облачный сервис для создания зашифрованных документов и совместной работы с максимальной конфиденциальностью. Данные шифруются на стороне пользователя (end-to-end), что защищает их от третьих лиц.</p><ul><li><p><strong>Назначение</strong>: безопасное создание и редактирование текстов, таблиц, презентаций, кодов и других документов.</p></li><li><p><strong>Особенности</strong>: работа без регистрации, шифрование данных, приватные ссылки для совместного доступа.</p></li><li><p><strong>Цена</strong>: бесплатная версия с 1 ГБ хранилища; платные планы для расширения функций и объема.</p></li><li><p><strong>Регистрация</strong>: возможна без указания почты и номера телефона, что сохраняет анонимность пользователя.</p></li></ul><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5e97601039d94de9c4f4500b751f3274443a4f1859a53e6f44bd52db7fa92027.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><h3 id="h-cryptpad-privatnost-i-kollaboraciya-na-vysshem-urovne" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">CryptPad: приватность и коллаборация на высшем уровне</h3><p>С развитием технологий мы стали свидетелями массового внедрения облачных сервисов для работы с документами и совместной работы. Такие платформы, как Google Docs, Microsoft Office Online и другие, предлагают удобство доступа к файлам из любой точки мира, предоставляя пользователям инструменты для редактирования в реальном времени. Однако основной недостаток таких платформ заключается в том, что данные пользователей могут сохраняться и обрабатываться без должной защиты конфиденциальности. Именно на этом фоне вырос интерес к решениям, которые не только обеспечивают удобную совместную работу, но и предоставляют высокую степень безопасности. Одним из таких решений является <strong>CryptPad</strong>.</p><p>Цена: есть бесплатный тариф (с ограниченным объемом хранилища, обычно 1 ГБ)</p><h4 id="h-chto-takoe-cryptpad" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Что такое CryptPad?</h4><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://cryptpad.fr">CryptPad</a> — это облачная платформа для создания и редактирования документов, которая была разработана с приоритетом на безопасность данных и приватность пользователей. CryptPad основан на принципе end-to-end шифрования, что означает, что все данные, вводимые пользователем, зашифрованы еще до того, как они покидают его устройство. Это делает невозможным для сервера платформы или третьих лиц просматривать или изменять данные пользователя.</p><p>CryptPad позволяет создавать разные виды контента: текстовые документы, таблицы, презентации, форматы для программирования и даже доски для совместных рисунков. В основе платформы лежит возможность совместной работы в реальном времени, что делает её удобной для команд, которые заботятся о безопасности своих данных.</p><h4 id="h-komu-podhodit-cryptpad" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Кому подходит CryptPad?</h4><p>CryptPad идеально подходит для тех, кто ценит приватность и хочет работать над документами в безопасной среде. Это отличный инструмент для команд разработчиков, журналистов, активистов, а также для всех, кто хочет избежать риска утечки данных. Также платформа будет полезна тем, кто работает с конфиденциальной информацией, будь то бизнес или личные данные.</p><h4 id="h-osnovnye-funkcii-cryptpad" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Основные функции CryptPad</h4><ol><li><p><strong>End-to-End шифрование (E2EE)</strong>: Это ключевая особенность CryptPad. Все данные шифруются на стороне пользователя, и только тот, у кого есть ключи доступа (обычно это сам пользователь), может их расшифровать. Даже администраторы серверов CryptPad не могут видеть, что содержится в ваших документах.</p></li><li><p><strong>Многофункциональные приложения</strong>: CryptPad поддерживает широкий спектр приложений для совместной работы, в том числе:</p><ul><li><p><strong>Rich Text (текстовые документы)</strong> — аналог Google Docs с поддержкой форматирования текста.</p></li><li><p><strong>Spreadsheets (таблицы)</strong> — аналог Excel или Google Sheets.</p></li><li><p><strong>Kanban</strong> — инструмент для управления задачами и проектами.</p></li><li><p><strong>Презентации</strong> — возможность создавать слайды.</p></li><li><p><strong>Code/Markdown</strong> — текстовые редакторы для разработчиков.</p></li><li><p><strong>Doodle (рисование)</strong> — доска для совместного рисования в реальном времени.</p></li></ul></li><li><p><strong>Совместная работа</strong>: CryptPad поддерживает работу над документами в реальном времени, что означает, что несколько пользователей могут редактировать документ одновременно, а изменения каждого видны другим участникам мгновенно.</p></li><li><p><strong>Отсутствие регистрации</strong>: CryptPad позволяет начать работу без создания учетной записи. Вы можете создать документ и поделиться ссылкой на него с другими людьми, даже если у них нет аккаунта на платформе. Однако создание учетной записи открывает больше возможностей, например, хранение всех ваших документов в одном месте.</p></li><li><p><strong>Приватные ссылки</strong>: Сервис генерирует уникальные ссылки для доступа к документам. Поскольку данные шифруются на клиенте, даже сама ссылка содержит информацию для расшифровки документа. Это значит, что без ссылки никто не сможет получить доступ к документу, а его содержимое остается конфиденциальным.</p></li><li><p><strong>Неограниченное количество участников</strong>: CryptPad не ограничивает количество людей, которые могут одновременно работать над документом, что делает его идеальным для коллективной работы.</p></li><li><p><strong>Полная анонимность</strong>: CryptPad не требует ввода персональных данных. Даже если вы регистрируете аккаунт, вам не нужно вводить адрес электронной почты или другую идентифицирующую информацию.</p></li></ol><h4 id="h-preimushestva-ispolzovaniya-cryptpad" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Преимущества использования CryptPad</h4><ol><li><p><strong>Приватность и безопасность</strong>: Благодаря end-to-end шифрованию, пользователи могут быть уверены, что их данные защищены от посторонних глаз. Ни администраторы серверов, ни злоумышленники не смогут получить доступ к содержимому документов.</p></li><li><p><strong>Открытый исходный код</strong>: CryptPad является проектом с открытым исходным кодом, что позволяет любому пользователю проверить код на наличие уязвимостей или встроенных трекеров. Это также дает возможность развернуть собственную версию CryptPad на своих серверах для полного контроля над данными.</p></li><li><p><strong>Простота использования</strong>: Несмотря на высокую степень защиты, интерфейс CryptPad интуитивно понятен и прост в использовании. Он похож на многие привычные офисные пакеты, что делает переход на него безболезненным.</p></li><li><p><strong>Отсутствие рекламы и трекинга</strong>: В отличие от многих бесплатных онлайн-сервисов, CryptPad не показывает пользователям рекламу и не отслеживает их активность. Платформа финансируется за счет пожертвований и премиум-подписок, что исключает необходимость монетизации за счет данных пользователей.</p></li></ol><h4 id="h-nedostatki-i-ogranicheniya" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Недостатки и ограничения</h4><ol><li><p><strong>Ограниченное хранилище</strong>: Бесплатная версия CryptPad предоставляет ограниченное количество места для хранения данных (обычно 1 ГБ), что может быть недостаточно для больших команд или проектов. Для увеличения объема хранения пользователи могут перейти на платные планы.</p></li><li><p><strong>Нет полной интеграции с популярными облачными сервисами</strong>: CryptPad работает в своей экосистеме и не предоставляет интеграцию с Google Drive, Dropbox и другими популярными облачными сервисами. Это может быть неудобно для пользователей, которые привыкли к таким сервисам.</p></li><li><p><strong>Отсутствие некоторых продвинутых функций</strong>: Хотя CryptPad поддерживает многие функции для работы с документами, некоторым пользователям могут не хватать более продвинутых возможностей, таких как сложные формулы в таблицах или макросы.</p></li></ol><h4 id="h-kak-nachat-rabotu-s-cryptpad" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Как начать работу с CryptPad?</h4><ol><li><p>Перейдите на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://cryptpad.fr">CryptPad</a> и выберите тип документа, который хотите создать.</p></li><li><p>Создайте документ и при необходимости поделитесь им с другими пользователями через ссылку.</p></li><li><p>Если вы хотите сохранить документ на сервере или получить доступ к дополнительным функциям, зарегистрируйте учетную запись.</p></li></ol><h3 id="h-zaklyuchenie" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Заключение</h3><p>CryptPad — это уникальная платформа, которая предлагает высокий уровень защиты данных и при этом обеспечивает удобные инструменты для совместной работы. В эпоху, когда приватность в интернете становится все более важной, CryptPad выделяется среди других облачных сервисов, давая пользователям полный контроль над своими данными.</p>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/f396c6180d90bd370a98de75f939bbe347ddb956312f0f45a34593e169f299b0.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Социальная инженерия или как мошенники играют на эмоциях]]></title>
            <link>https://paragraph.com/@odanoder-2/IAqy6AWWXJl9u4aXw7wt</link>
            <guid>IAqy6AWWXJl9u4aXw7wt</guid>
            <pubDate>Wed, 02 Oct 2024 12:12:16 GMT</pubDate>
            <description><![CDATA[ОглавлениеСоциальная инженерия или как мошенники играют на эмоцияхСоциальная инженерия в криптовалютеПримеры из жизни: социальная инженерия в криптовалютеМного букв?* * “Меня это точно не коснется” - конечно, так думает каждый 2-й человек. Даже директора и ведущие IT специалисты, попадаются на разводы. А вас это точно не коснется =). Предупрежден - значит вооружен. Немного статистики: С 2020 по 2024 годы было украдено значительное количество средств в криптовалюте через различные виды мошенни...]]></description>
            <content:encoded><![CDATA[<blockquote><p>Оглавление</p><h3 id="h-socialnaya-inzheneriya-ili-kak-moshenniki-igrayut-na-emociyah" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Социальная инженерия или как мошенники играют на эмоциях</h3><h3 id="h-socialnaya-inzheneriya-v-kriptovalyute" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Социальная инженерия в криптовалюте</h3><h3 id="h-primery-iz-zhizni-socialnaya-inzheneriya-v-kriptovalyute" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Примеры из жизни: социальная инженерия в криптовалюте</h3></blockquote><p><strong><em>Много букв?</em></strong>* *</p><p><em>“Меня это точно не коснется” - конечно, так думает каждый 2-й человек. Даже директора и ведущие IT специалисты, попадаются на разводы. А вас это точно не коснется =). Предупрежден - значит вооружен.</em></p><p><strong>Немного статистики:</strong></p><p>С 2020 по 2024 годы было украдено значительное количество средств в криптовалюте через различные виды мошенничества и хакерских атак. По данным Chainalysis, к июлю 2024 года общая сумма украденных средств достигла <strong>$1,58 миллиарда</strong>, и это только за первую половину года, что на 84,4% больше по сравнению с тем же периодом 2023 года. Это связано с увеличением хакерской активности, особенно на централизованные биржи. Одним из крупнейших инцидентов в 2024 году был взлом биржи DMM, в результате которого было похищено около $305 миллионов​.</p><p>Кроме того, согласно данным за 2023 год, в целом было украдено около <strong>$1,35 миллиарда</strong> только через блокчейн-платформы, такие как Ethereum и BNB Chain​. Также стоит отметить, что <strong>Северная Корея</strong> остается одним из крупнейших киберпреступников в области криптовалюты, украв в 2023 году около $600 миллионов​. В общей сложности с 2020 года потери в криптовалюте исчисляются миллиардами долларов, и эта тенденция сохраняется, несмотря на меры безопасности.</p><h2 id="h-socialnaya-inzheneriya-ili-kak-moshenniki-igrayut-na-emociyah" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Социальная инженерия или как мошенники играют на эмоциях</h2><p>«Меня-то это уж точно не коснётся». Именно эта фраза часто звучит в головах людей, уверенных в своей защищённости от мошенничества. Однако реальность показывает, что даже самые осторожные могут стать жертвами социальной инженерии. Мошенники используют не только технологии, но и человеческие слабости, манипулируя эмоциями, чтобы достичь своих целей.</p><h4 id="h-chto-takoe-socialnaya-inzheneriya" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Что такое социальная инженерия?</h4><p>Социальная инженерия — это метод манипуляции, при котором злоумышленники убеждают человека совершить действия, приводящие к утечке информации или другим негативным последствиям. В отличие от кибератак, ориентированных на технические уязвимости, социальные инженеры нацелены на человеческий фактор, на эмоции и поведенческие реакции.</p><h4 id="h-pochemu-eto-rabotaet" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Почему это работает?</h4><p>Социальная инженерия работает, потому что люди склонны принимать решения на основе эмоций, особенно когда они испытывают стресс, страх или волнение. Мошенники создают ситуации, в которых у жертвы практически нет времени на раздумья, побуждая её действовать импульсивно. Примером может быть звонок якобы от банка с сообщением о несанкционированной транзакции. Испуганный человек может быстро передать конфиденциальные данные в надежде защитить свои средства.</p><h4 id="h-osnovnye-metody-socialnoj-inzhenerii" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Основные методы социальной инженерии</h4><ol><li><p><strong>Фишинг</strong> — одна из самых распространённых форм социальной инженерии. Пользователю отправляется электронное письмо или сообщение, выглядящее как официальное, от имени банка, социальной сети или другого сервиса, с просьбой перейти по ссылке и ввести свои данные. На деле эта ссылка ведёт на сайт, контролируемый злоумышленниками.</p></li><li><p><strong>Предварительные угрозы и давление</strong> — мошенники могут звонить, представляясь сотрудниками правоохранительных органов или государственных учреждений, угрожая арестом или крупным штрафом, если не будут предоставлены определённые данные.</p></li><li><p><strong>Психологическая игра на доверии</strong> — использование дружелюбного общения или даже комплиментов для создания ощущения безопасности у жертвы. Этот метод особенно эффективен при общении с людьми, которые не ожидают обмана от доброжелательного и вежливого человека.</p></li><li><p><strong>Использование чувств срочности</strong> — мошенники создают иллюзию ограниченного времени, чтобы человек не мог долго думать и проверять информацию. Это могут быть «выигрыши в лотерею», которые необходимо срочно забрать, или предложения о помощи, если «ваш близкий попал в беду».</p></li></ol><h4 id="h-kak-zashititsya" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Как защититься?</h4><ol><li><p><strong>Знание основных методов</strong> — понимание, как работают мошенники, уже значительно снижает вероятность стать жертвой. Чем больше вы знаете о том, как злоумышленники пытаются манипулировать эмоциями, тем сложнее вас обмануть.</p></li><li><p><strong>Не поддавайтесь панике</strong> — если вам говорят, что ситуация срочная или требуют немедленных действий, сделайте паузу. Проконсультируйтесь с родственниками, друзьями или сотрудниками соответствующих организаций.</p></li><li><p><strong>Проверяйте информацию</strong> — звонки от банка, госучреждений или социальных сервисов всегда можно перепроверить, набрав официальный номер или зайдя на официальный сайт.</p></li><li><p><strong>Доверяйте, но проверяйте</strong> — даже если человек кажется честным и доброжелательным, всегда сохраняйте здоровую долю скептицизма, особенно когда дело касается ваших денег или личных данных.</p></li></ol><p>Социальная инженерия — это искусство манипуляции, и его жертвой может стать каждый, кто хотя бы раз попал под влияние эмоций. «Меня-то это уж точно не коснётся» — фраза, которую говорили многие, кто впоследствии становился жертвой мошенников.</p><hr><h2 id="h-socialnaya-inzheneriya-v-kriptovalyute" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Социальная инженерия в криптовалюте</h2><p>С ростом популярности криптовалют мошенники всё чаще прибегают к социальной инженерии, чтобы обманом завладеть цифровыми активами пользователей. В отличие от традиционных финансовых систем, где можно попытаться вернуть украденные средства, в мире криптовалют ответственность за безопасность полностью ложится на владельцев. Поэтому атаки, основанные на манипуляциях и обмане, особенно опасны.</p><h4 id="h-osnovnye-metody-socialnoj-inzhenerii-v-kriptovalyute" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Основные методы социальной инженерии в криптовалюте</h4><ol><li><p><strong>Фейковые инвестиционные схемы и скам-проекты</strong></p><p>Мошенники создают сайты, чаты и целые сообщества, обещающие высокие доходы от инвестиций в якобы перспективные криптовалютные проекты. Они используют поддельные отзывы, фотографии успешных инвесторов и даже платную рекламу в социальных сетях, чтобы вызвать доверие. Как только пользователи вкладывают свои средства, проект внезапно исчезает.</p></li><li><p><strong>Фишинг-сайты и поддельные кошельки</strong></p><p>Один из распространённых методов социальной инженерии — создание фальшивых сайтов криптовалютных бирж и кошельков, которые внешне идентичны оригиналам. Пользователь вводит свои логин и пароль, не подозревая, что передаёт эти данные злоумышленникам. В итоге его криптовалютный кошелёк опустошают в считанные минуты.</p></li><li><p><strong>Атаки через социальные сети и мессенджеры</strong>Мошенники могут выдавать себя за известных криптоинвесторов или разработчиков блокчейн-проектов, предлагать уникальные инвестиционные возможности или раздачи токенов. Пользователей убеждают перевести криптовалюту на определённые адреса под предлогом участия в розыгрышах или акциях.</p></li><li><p><strong>Схемы двойной оплаты</strong></p><p>В этой форме социальной инженерии мошенники просят жертву отправить небольшую сумму криптовалюты с обещанием удвоить или утроить её в ответ. Эта схема часто распространяется через социальные сети, форумы и чаты, и хотя она кажется слишком хорошей, чтобы быть правдой, многие люди всё равно поддаются на обман.</p></li><li><p><strong>Имитация технической поддержки</strong></p><p>Один из самых изощрённых методов — подделка службы поддержки криптобиржи или криптовалютного кошелька. Мошенники находят пользователей, которые публикуют запросы о помощи в соцсетях или на форумах, и связываются с ними, выдавая себя за сотрудников техподдержки. Жертву убеждают предоставить доступ к кошельку, после чего все активы переводятся на счета злоумышленников.</p></li></ol><h4 id="h-kak-zashititsya-ot-socialnoj-inzhenerii-v-kriptovalyute" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Как защититься от социальной инженерии в криптовалюте?</h4><ol><li><p><strong>Всегда проверяйте источники</strong></p><p>Если вас просят перевести криптовалюту или предоставить доступ к кошельку, убедитесь, что вы имеете дело с официальными представителями бирж или проектов. Перепроверяйте адреса сайтов и учетных записей.</p></li><li><p><strong>Используйте двухфакторную аутентификацию (2FA)</strong></p><p>Дополнительный уровень защиты затруднит мошенникам доступ к вашим аккаунтам, даже если они получат логин и пароль.</p></li><li><p><strong>Никогда не делитесь своими приватными ключами</strong></p><p>Приватные ключи — это ваш единственный доступ к криптовалютным активам. Никто, включая представителей бирж, не должен запрашивать их.</p></li><li><p><strong>Будьте осторожны с предложениями “удвоить” или “утроить” ваши криптоактивы</strong></p><p>Такие обещания — явный признак мошенничества. В криптовалютном мире, как и в традиционных финансах, быстрых и лёгких способов получения прибыли практически не существует.</p></li><li><p><strong>Используйте официальные приложения и кошельки</strong></p><p>Скачивайте кошельки и биржи только с официальных сайтов или из проверенных источников, таких как Google Play или App Store, чтобы избежать поддельных приложений.</p></li></ol><p>Социальная инженерия в криптовалюте требует особой осторожности, поскольку даже одна ошибка может привести к безвозвратной потере средств. Важно быть начеку, не доверять слепо обещаниям быстрых доходов и всегда сохранять здравый смысл в любых взаимодействиях, связанных с цифровыми активами.</p><hr><h2 id="h-primery-iz-zhizni-socialnaya-inzheneriya-v-kriptovalyute" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Примеры из жизни: социальная инженерия в криптовалюте</h2><p>Примеры атак социальной инженерии, связанных с криптовалютой, включают взлом аккаунтов знаменитостей и использование их популярности для продвижения мошеннических схем. Один из недавних случаев произошёл с актёром Томом Холландом, известным по роли Человека-Паука. Его Twitter был взломан, и мошенники использовали аккаунт для продвижения фальшивой криптовалюты $SPIDER и NFT, якобы связанных с вселенной Spiderverse. Мошенники опубликовали ссылки на поддельный сайт, призывая фанатов участвовать в схеме. Эти твиты были быстро удалены, но они успели ввести в заблуждение часть его аудитории.</p><p>Другой громкий случай произошёл с платформой Robinhood, когда её Twitter был взломан для продвижения фальшивой монеты. Хакеры пытались привлечь пользователей к покупке фальшивой криптовалюты, используя доверие к бренду и популярность платформы. Это стало одним из примеров того, как злоумышленники используют социальные сети для распространения скам-схем.</p><h4 id="h-1-massovyj-fejkovyj-razdacha-kriptovalyut-ot-izvestnyh-lic" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">1. <strong>Массовый фейковый раздача криптовалют от известных лиц</strong></h4><p>Одним из самых громких случаев социальной инженерии в криптовалюте стал инцидент, связанный с массовым взломом Twitter-аккаунтов в 2020 году. Мошенники получили доступ к аккаунтам известных личностей, таких как Илон Маск, Барак Обама и Билл Гейтс, и опубликовали сообщения, предлагающие удвоить любую сумму биткойнов, отправленную на указанный адрес. Сообщения выглядели правдоподобно, поскольку исходили из официальных аккаунтов знаменитостей. В итоге жертвы перевели мошенникам более 100 тысяч долларов в криптовалюте за считаные часы.</p><h4 id="h-2-fejkovaya-tehnicheskaya-podderzhka-na-kriptovalyutnoj-birzhe" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">2. <strong>Фейковая техническая поддержка на криптовалютной бирже</strong></h4><p>Мошенники часто ищут пользователей, которые публикуют запросы о помощи в соцсетях или на форумах по криптовалютам. В одном из таких случаев жертва написала на форуме о проблемах с выводом средств с популярной биржи. Мошенник быстро представился сотрудником службы поддержки и попросил пользователя предоставить свои данные для &quot;решения проблемы&quot;. После того как жертва передала приватные ключи, её аккаунт был взломан, и все активы были выведены на кошелёк злоумышленников.</p><h4 id="h-3-poddelnaya-investicionnaya-platforma" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">3. <strong>Поддельная инвестиционная платформа</strong></h4><p>В одном из громких случаев мошенники создали поддельную инвестиционную платформу, обещая пользователям высокие доходы от вложений в криптовалюту. На сайте были размещены поддельные отзывы реальных инвесторов и информация о фиктивных партнёрских соглашениях с известными компаниями. Множество людей, привлечённые обещаниями лёгкой прибыли, начали вкладывать средства. Некоторым даже удавалось получить небольшие выплаты, что создавало иллюзию легитимности проекта. Вскоре сайт закрылся, а мошенники исчезли с сотнями тысяч долларов, оставив инвесторов ни с чем.</p><h4 id="h-4-fishingovyj-sajt-populyarnogo-kriptokoshelka" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">4. <strong>Фишинговый сайт популярного криптокошелька</strong></h4><p>Один пользователь, пытаясь зайти на свой аккаунт в криптокошельке, случайно попал на фишинговый сайт, выглядевший идентично официальному. На фальшивом сайте ему предложили ввести свои приватные ключи для «подтверждения личности». После ввода ключей все его средства были мгновенно переведены на кошелёк мошенников. Поскольку в криптовалютах транзакции необратимы, вернуть деньги не удалось.</p><h4 id="h-5-shema-s-mnimym-rozygryshem-tokenov" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">5. <strong>Схема с мнимым розыгрышем токенов</strong></h4><p>В одном из Telegram-каналов, посвящённых криптовалютам, был объявлен &quot;розыгрыш&quot; бесплатных токенов нового проекта. Чтобы получить токены, участникам предлагалось перевести небольшую сумму в криптовалюте на указанный адрес для подтверждения участия. Жертвы, надеясь на получение бесплатных токенов, переводили деньги, но никаких токенов, естественно, не получали. Мошенники, собрав средства от множества людей, удалили канал и исчезли.</p><p>Эти реальные случаи показывают, как легко можно стать жертвой социальной инженерии в мире криптовалют. Будьте внимательны и не поддавайтесь на уловки, обещающие быстрые заработки или требующие разглашения конфиденциальных данных.</p><hr><p>Спасибо за внимание к материалу! Надеюсь, информация оказалась полезной для вас! Поздравляю с новым достижением!</p><hr><p>Если материал оказался полезным и вы хотите поддержать мою работу, буду рад вашему <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/2hMbi1NzRlcWc4RXn7BRj1GY3QHFqy_PEncc-o56ZCI">донату</a>. Любая помощь вдохновляет на создание нового контента! Спасибо за вашу поддержку!</p><hr><p><em>ПОЛЕЗНЫЕ ССЫЛКИ</em></p><p>В этом <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/JDo-vg9rN0R5BOl4GnEMUXGp6u85_Ya3Oqlqae3uouM">ОГЛАВЛЕНИИ</a> собраны и структурированы все материалы.</p><blockquote><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/SC7MrZQyKV0visxyEsH8gk9V5Xa8PSKEJ-ekNlXXDi4">About &amp; Contact</a> || <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/S6yC_iDcf6Ja1hbjpZhX6YIzqHB-_Ot5M8xOvx3BCbY">Услуги</a> || <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/2hMbi1NzRlcWc4RXn7BRj1GY3QHFqy_PEncc-o56ZCI">Donate</a> || <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/ECwGmlttT2sg3hTMNZ64aTYLkBXW4uShXtV45lzq1Ss">Отказ от ответственности</a> | ©</p></blockquote><hr>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
        </item>
        <item>
            <title><![CDATA[Linux: Изменить имя сервера в различных операционных системах на базе Linux]]></title>
            <link>https://paragraph.com/@odanoder-2/linux-linux</link>
            <guid>bn99rbyYDH2HTY83GVNY</guid>
            <pubDate>Fri, 13 Sep 2024 12:35:25 GMT</pubDate>
            <description><![CDATA[Как изменить имя сервера в различных операционных системах LinuxИмя сервера, или hostname, является важным элементом сетевой идентификации машины в системе Linux. Поменять его можно по разным причинам: для упрощения администрирования, сетевой диагностики или для удобства при подключении к серверам. В этой статье мы рассмотрим, как изменить hostname в нескольких популярных дистрибутивах Linux.Общие понятия о hostnameHostname — это имя, которое идентифицирует устройство в сети. Оно может быть к...]]></description>
            <content:encoded><![CDATA[<h1 id="h-kak-izmenit-imya-servera-v-razlichnyh-operacionnyh-sistemah-linux" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Как изменить имя сервера в различных операционных системах Linux</h1><p>Имя сервера, или hostname, является важным элементом сетевой идентификации машины в системе Linux. Поменять его можно по разным причинам: для упрощения администрирования, сетевой диагностики или для удобства при подключении к серверам. В этой статье мы рассмотрим, как изменить hostname в нескольких популярных дистрибутивах Linux.</p><h2 id="h-obshie-ponyatiya-o-hostname" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Общие понятия о hostname</h2><p>Hostname — это имя, которое идентифицирует устройство в сети. Оно может быть как локальным, так и глобальным (например, зарегистрированным в DNS). У каждого устройства в сети должно быть уникальное имя для правильной работы различных сетевых служб.</p><h3 id="h-tipy-hostname" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Типы hostname:</h3><ul><li><p><strong>Static hostname</strong> — имя, которое задается в конфигурации системы и не изменяется при перезагрузке.</p></li><li><p><strong>Transient hostname</strong> — временное имя, которое может меняться во время работы, но не сохраняется при перезагрузке.</p></li><li><p><strong>Pretty hostname</strong> — «красивое» имя, используемое для отображения в интерфейсе, например, в графических оболочках.</p></li></ul><h2 id="h-izmenenie-imeni-servera-v-raznyh-distributivah" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Изменение имени сервера в разных дистрибутивах</h2><h3 id="h-ubuntu-i-debian" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Ubuntu и Debian</h3><h4 id="h-sposob-1-ispolzovanie-hostnamectl" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Способ 1: Использование <code>hostnamectl</code></h4><p>В дистрибутивах, основанных на системах с <code>systemd</code>, самым простым способом изменения имени сервера является команда <code>hostnamectl</code>.</p><ol><li><p>Просмотр текущего hostname:</p><pre data-type="codeBlock" text="hostnamectl
"><code></code></pre></li><li><p>Изменение hostname:</p><pre data-type="codeBlock" text="sudo hostnamectl set-hostname новое_имя
"><code>sudo hostnamectl set<span class="hljs-operator">-</span>hostname новое<span class="hljs-keyword">_</span>имя
</code></pre></li><li><p>Проверка изменений:</p><pre data-type="codeBlock" text="hostnamectl
"><code></code></pre></li></ol><blockquote><p>Обратите внимание: изменение происходит мгновенно, но для полного применения имени рекомендуется перезагрузить систему.</p></blockquote><h4 id="h-sposob-2-redaktirovanie-konfiguracionnyh-fajlov" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Способ 2: Редактирование конфигурационных файлов</h4><p>Для ручного изменения можно отредактировать несколько файлов:</p><ol><li><p>Откройте файл <code>/etc/hostname</code> и измените имя на новое:</p><pre data-type="codeBlock" text="sudo nano /etc/hostname
"><code>sudo nano <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>hostname
</code></pre></li><li><p>Откройте файл <code>/etc/hosts</code> и обновите строку с текущим именем хоста:</p><pre data-type="codeBlock" text="sudo nano /etc/hosts
"><code>sudo nano <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>hosts
</code></pre><p>Пример:</p><pre data-type="codeBlock" text="127.0.0.1   localhost
127.0.1.1   новое_имя
"><code><span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>   localhost
<span class="hljs-number">127.0</span><span class="hljs-number">.1</span><span class="hljs-number">.1</span>   новое<span class="hljs-keyword">_</span>имя
</code></pre></li><li><p>Перезагрузите систему:</p><pre data-type="codeBlock" text="sudo reboot
"><code></code></pre></li></ol><h3 id="h-centos-rhel-i-fedora" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">CentOS, RHEL и Fedora</h3><h4 id="h-sposob-1-ispolzovanie-hostnamectl" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Способ 1: Использование <code>hostnamectl</code></h4><p>В системах с поддержкой <code>systemd</code> (CentOS 7 и выше, Fedora) процесс изменения аналогичен Ubuntu:</p><ol><li><p>Просмотр текущего имени хоста:</p><pre data-type="codeBlock" text="hostnamectl
"><code></code></pre></li><li><p>Изменение имени:</p><pre data-type="codeBlock" text="sudo hostnamectl set-hostname новое_имя
"><code>sudo hostnamectl set<span class="hljs-operator">-</span>hostname новое<span class="hljs-keyword">_</span>имя
</code></pre></li><li><p>Перезагрузка или проверка текущего имени:</p><pre data-type="codeBlock" text="hostnamectl
"><code></code></pre></li></ol><h4 id="h-sposob-2-redaktirovanie-konfiguracionnyh-fajlov" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">Способ 2: Редактирование конфигурационных файлов</h4><ol><li><p>Измените имя в файле <code>/etc/hostname</code>:</p><pre data-type="codeBlock" text="sudo nano /etc/hostname
"><code>sudo nano <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>hostname
</code></pre></li><li><p>Откорректируйте файл <code>/etc/hosts</code>, чтобы обновить имя для локальных сетевых настроек.</p></li><li><p>Перезагрузите систему для применения изменений.</p></li></ol><h3 id="h-arch-linux" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Arch Linux</h3><p>Arch Linux также использует <code>systemd</code>, и процесс изменения имени хоста аналогичен:</p><ol><li><p>Используйте <code>hostnamectl</code> для изменения имени:</p><pre data-type="codeBlock" text="sudo hostnamectl set-hostname новое_имя
"><code>sudo hostnamectl set<span class="hljs-operator">-</span>hostname новое<span class="hljs-keyword">_</span>имя
</code></pre></li><li><p>Обновите файл <code>/etc/hostname</code>, если требуется ручное изменение:</p><pre data-type="codeBlock" text="sudo nano /etc/hostname
"><code>sudo nano <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>hostname
</code></pre></li><li><p>Также откорректируйте файл <code>/etc/hosts</code>, если это необходимо:</p><pre data-type="codeBlock" text="sudo nano /etc/hosts
"><code>sudo nano <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>hosts
</code></pre></li><li><p>Перезагрузите систему.</p></li></ol><h3 id="h-opensuse" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">OpenSUSE</h3><p>OpenSUSE, как и многие современные дистрибутивы, поддерживает <code>systemd</code>, что делает процесс изменения простым.</p><ol><li><p>Измените имя с помощью <code>hostnamectl</code>:</p><pre data-type="codeBlock" text="sudo hostnamectl set-hostname новое_имя
"><code>sudo hostnamectl set<span class="hljs-operator">-</span>hostname новое<span class="hljs-keyword">_</span>имя
</code></pre></li><li><p>Обновите файл <code>/etc/hostname</code> вручную, если требуется:</p><pre data-type="codeBlock" text="sudo nano /etc/hostname
"><code>sudo nano <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>hostname
</code></pre></li><li><p>Не забудьте откорректировать файл <code>/etc/hosts</code>.</p></li></ol><h2 id="h-proverka-izmenenij" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Проверка изменений</h2><p>После изменения hostname убедитесь, что новое имя применяется корректно:</p><ol><li><p>Используйте команду <code>hostname</code> для мгновенной проверки текущего имени:</p><pre data-type="codeBlock" text="hostname
"><code></code></pre></li><li><p>Если система поддерживает <code>systemd</code>, команда <code>hostnamectl</code> предоставит более подробную информацию:</p><pre data-type="codeBlock" text="hostnamectl
"><code></code></pre></li></ol><h2 id="h-4-zaklyuchenie" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">4. Заключение</h2><p>Изменение имени сервера — это простая задача, которая может быть выполнена с помощью командной строки или редактирования конфигурационных файлов. В современных дистрибутивах, таких как Ubuntu, CentOS и Fedora, удобно использовать утилиту <code>hostnamectl</code>. В любом случае, после изменения имени рекомендуется проверить конфигурацию и, если необходимо, перезагрузить систему для применения изменений.</p><hr><p><em>Спасибо за внимание к материалу! Надеюсь, информация оказалась полезной для вас! Поздравляю с новым достижением!</em></p><hr><p>Если материал оказался полезным и вы хотите поддержать мою работу, буду рад вашему донату. Любая помощь вдохновляет на создание нового контента! Спасибо за вашу поддержку!</p><hr><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/ECwGmlttT2sg3hTMNZ64aTYLkBXW4uShXtV45lzq1Ss">About &amp; Contact | Donate</a> || Services</p>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
        </item>
        <item>
            <title><![CDATA[About & Contact | Donate]]></title>
            <link>https://paragraph.com/@odanoder-2/about-contact-donate</link>
            <guid>FakWPOG4gapzKpwHT6Ln</guid>
            <pubDate>Mon, 09 Sep 2024 16:25:57 GMT</pubDate>
            <description><![CDATA[Оглавление 1 About & Contact Отказ от ответственности Правила копирайтинга и распространения информации Donate - поддержать автораAbout & ContactНаши социальные сети Telegram каналы: активности и нодыОтказ от ответственностиИнформация, предоставленная автором, носит исключительно информационный характер и не является профессиональной консультацией. Информация проверяется автором и тестируется, после чего выкладывается для ознакомления. Несмотря на стремление предоставлять точную и актуальную ...]]></description>
            <content:encoded><![CDATA[<blockquote><p>Оглавление</p><p>1</p><p>About &amp; Contact</p><p><em>Отказ от ответственности</em></p><p><em>Правила копирайтинга и распространения информации</em></p><p>Donate - поддержать автора</p></blockquote><hr><h2 id="h-about-and-contact" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">About &amp; Contact</h2><p>Наши социальные сети</p><p>Telegram каналы: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="">активности и ноды</a></p><hr><h2 id="h-otkaz-ot-otvetstvennosti" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><em>Отказ от ответственности</em></h2><p>Информация, предоставленная автором, носит исключительно информационный характер и не является профессиональной консультацией. Информация проверяется автором и тестируется, после чего выкладывается для ознакомления. Несмотря на стремление предоставлять точную и актуальную информацию, нет никаких гарантий, что все данные будут полностью соответствовать вашим требованиям или обстоятельствам. Пользователь самостоятельно несет ответственность за использование предоставленной информации, включая любые действия или решения, принятые на её основе. Автор и платформа не несут ответственности за возможные убытки или ущерб, возникшие в результате использования данной информации.</p><h2 id="h-pravila-kopirajtinga-i-rasprostraneniya-informacii" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><em>Правила копирайтинга и распространения информации</em></h2><p>Авторские права и использование контента:</p><ul><li><p>Все материалы, представленные на данном ресурсе, включая текст, изображения, графику, видео и другие виды контента, защищены авторскими правами. Права на контент, созданный автором, полностью принадлежат ему.</p></li><li><p>Если в каком-либо материале присутствует изображение, картинка, графика или другой контент, который не принадлежит автору, свяжитесь с владельцем авторских прав и предоставить информацию о том, что данный контент принадлежит именно Вам.</p></li></ul><p>Корректировка контента:</p><ul><li><p>После получения уведомления от владельца авторских прав о неправомерном использовании его контента, автор обязуется внести необходимые изменения и удалить этот материал при первой же возможности.</p></li><li><p>В случае форс-мажорных обстоятельств, связанных с корректировкой контента, могут возникнуть задержки. Мы сделаем все возможное, чтобы минимизировать эти задержки и обеспечить своевременную корректировку.</p></li></ul><p>Использование контента:</p><ul><li><p>Использование любого контента без указания первоисточника (ссылки на копируемый материал и указания имени автора) запрещено.</p></li></ul><p>Изменения информации:</p><ul><li><p>Данный документ может быть обновлен и изменен на усмотрение автора.</p></li></ul><hr><h2 id="h-donate-donate-podderzhat-avtora" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Donate Donate - поддержать автора</h2><p>ETH: <code>0x426284a03d7c9625D66021E1A602E3CB8C607F52</code></p><hr>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
        </item>
        <item>
            <title><![CDATA[Как обновить Ubuntu 20.04 LTS до Ubuntu 22.04 LTS из командной строки]]></title>
            <link>https://paragraph.com/@odanoder-2/ubuntu-20-04-lts-ubuntu-22-04-lts</link>
            <guid>7NiLhi9zOWhcbicrU4Yn</guid>
            <pubDate>Mon, 09 Sep 2024 16:05:44 GMT</pubDate>
            <description><![CDATA[Для обновления Ubuntu с версии 20.04 (Focal Fossa) до 22.04 (Jammy Jellyfish), выполните следующие шаги. В процессе обновления может возникнуть ошибка - минимальные действия описаны в конце статьи. Узнать текущую версию Ubuntu (вариант 1):lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal lsb_release -aУзнать текущую версию Ubuntu (вариант 2):cat /etc/os-release NAME="Ubuntu" VERSION="20.04.6 LTS (Focal Fossa)" ID...]]></description>
            <content:encoded><![CDATA[<p>Для обновления Ubuntu с версии 20.04 (Focal Fossa) до 22.04 (Jammy Jellyfish), выполните следующие шаги. В процессе обновления может возникнуть ошибка - минимальные действия описаны в конце статьи.</p><p>Узнать текущую версию Ubuntu (вариант 1):</p><pre data-type="codeBlock" text="lsb_release -a
"><code>lsb_release -<span class="hljs-selector-tag">a</span>
</code></pre><pre data-type="codeBlock" text="No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal
"><code><span class="hljs-literal">No</span> <span class="hljs-string">LSB</span> <span class="hljs-string">modules</span> <span class="hljs-string">are</span> <span class="hljs-string">available.</span>
<span class="hljs-attr">Distributor ID:</span> <span class="hljs-string">Ubuntu</span>
<span class="hljs-attr">Description:</span>    <span class="hljs-string">Ubuntu</span> <span class="hljs-number">20.04</span><span class="hljs-number">.6</span> <span class="hljs-string">LTS</span>
<span class="hljs-attr">Release:</span>        <span class="hljs-number">20.04</span>
<span class="hljs-attr">Codename:</span>       <span class="hljs-string">focal</span>
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e4bd73bdeb646d8e7a8b0df658505f9569c05b2f19a13f1c55dd9c1e33ab2d33.png" alt="lsb_release -a" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">lsb_release -a</figcaption></figure><p>Узнать текущую версию Ubuntu (вариант 2):</p><pre data-type="codeBlock" text="cat /etc/os-release
"><code>cat <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>os<span class="hljs-operator">-</span>release
</code></pre><pre data-type="codeBlock" text="NAME=&quot;Ubuntu&quot;
VERSION=&quot;20.04.6 LTS (Focal Fossa)&quot;
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME=&quot;Ubuntu 20.04.6 LTS&quot;
VERSION_ID=&quot;20.04&quot;
HOME_URL=&quot;https://www.ubuntu.com/&quot;
SUPPORT_URL=&quot;https://help.ubuntu.com/&quot;
BUG_REPORT_URL=&quot;https://bugs.launchpad.net/ubuntu/&quot;
PRIVACY_POLICY_URL=&quot;https://www.ubuntu.com/legal/terms-and-policies/privacy-policy&quot;
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
"><code><span class="hljs-attr">NAME</span>=<span class="hljs-string">"Ubuntu"</span>
<span class="hljs-attr">VERSION</span>=<span class="hljs-string">"20.04.6 LTS (Focal Fossa)"</span>
<span class="hljs-attr">ID</span>=ubuntu
<span class="hljs-attr">ID_LIKE</span>=debian
<span class="hljs-attr">PRETTY_NAME</span>=<span class="hljs-string">"Ubuntu 20.04.6 LTS"</span>
<span class="hljs-attr">VERSION_ID</span>=<span class="hljs-string">"20.04"</span>
<span class="hljs-attr">HOME_URL</span>=<span class="hljs-string">"https://www.ubuntu.com/"</span>
<span class="hljs-attr">SUPPORT_URL</span>=<span class="hljs-string">"https://help.ubuntu.com/"</span>
<span class="hljs-attr">BUG_REPORT_URL</span>=<span class="hljs-string">"https://bugs.launchpad.net/ubuntu/"</span>
<span class="hljs-attr">PRIVACY_POLICY_URL</span>=<span class="hljs-string">"https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"</span>
<span class="hljs-attr">VERSION_CODENAME</span>=focal
<span class="hljs-attr">UBUNTU_CODENAME</span>=focal
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a5e218bfa93739c3643e36e6c900f44c30f5f8c560840bec9ce760ee7b09aca6.png" alt="cat /etc/os-release" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">cat /etc/os-release</figcaption></figure><h3 id="h-shag-1-podgotovka" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Шаг 1: Подготовка.</h3><p><em>Перед обновлением системы сделайте резервную копию всех важных данных.</em></p><p>Выполните обновление всех пакетов до последней версии для текущей версии Ubuntu.</p><pre data-type="codeBlock" text="sudo apt update &amp;&amp; sudo apt upgrade -y
"><code>sudo apt update <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> sudo apt upgrade <span class="hljs-operator">-</span>y
</code></pre><p>Обновите полностью весь дистрибутив с разрешением удаления конфликтующих пакетов:</p><pre data-type="codeBlock" text="sudo apt dist-upgrade -y
"><code>sudo apt dist<span class="hljs-operator">-</span>upgrade <span class="hljs-operator">-</span>y
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/1a3a602d73ac356a81a8116edc48ce70df86dede7034b0ffcd06c154dd9af0c8.png" alt="sudo apt dist-upgrade -y" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">sudo apt dist-upgrade -y</figcaption></figure><p>Удалите ненужные пакеты:</p><pre data-type="codeBlock" text="sudo apt autoremove --purge
"><code>sudo apt autoremove <span class="hljs-operator">-</span><span class="hljs-operator">-</span>purge
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/85cddc47a2e9f42dc27351596c710c414fd86479af6226363383789b32f9ae03.png" alt="sudo apt autoremove --purge" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">sudo apt autoremove --purge</figcaption></figure><h3 id="h-shag-2-proverka-nastroek-obnovleniya" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Шаг 2: Проверка настроек обновления.</h3><p>Убедитесь, что система настроена на получение обновлений для LTS-релизов (если вы используете LTS). Откройте файл <code>/etc/update-manager/release-upgrades</code> и проверьте, что строка <code>Prompt</code> имеет значение <code>lts</code>:</p><pre data-type="codeBlock" text="sudo nano /etc/update-manager/release-upgrades
"><code>sudo nano <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>update<span class="hljs-operator">-</span>manager<span class="hljs-operator">/</span>release<span class="hljs-operator">-</span>upgrades
</code></pre><p>Проверьте и убедитесь, что в файле есть следующая строка:</p><pre data-type="codeBlock" text="Prompt=lts
"><code><span class="hljs-attr">Prompt</span>=lts
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9d6b6f7a9bc2f7f706c0051b5353ebf05ffc62036897a73f1aa8b551c17fdab6.png" alt="Prompt=lts" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Prompt=lts</figcaption></figure><h3 id="h-shag-3-obnovlenie-do-2204-lts" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Шаг 3: Обновление до 22.04 LTS</h3><p>Запустите процесс обновления, используя команду:</p><pre data-type="codeBlock" text="sudo do-release-upgrade
"><code>sudo <span class="hljs-keyword">do</span>-release-upgrade
</code></pre><p>Нажимаете <code>y</code></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/54c6051969d3ea6fc82bd1ceb7cfdc237f710b0c7b973cdf98116876f5493ea4.png" alt="Нажимаете y" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Нажимаете y</figcaption></figure><p>Нажимаете <code>Enter</code></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/71154c495426cf379780bd0a3fe3c4462765abea80818cc957844d5823b43601.png" alt="Нажимаете Enter" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Нажимаете Enter</figcaption></figure><p>Через несколько минут появляется информация о том, что некоторые пакеты будут удалены, другие обновлены, а также установлены новые пакеты. Указывается, что процесс может занять несколько часов. Подтверждаем действие, <strong>вводим «y»</strong> и <strong>нажимаем Enter</strong>, после чего ждем завершения обновления системы.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b2ebb92489ec6dfdc1168618dab0121477f1243bd4a7676cc6cce2f4842f3010.png" alt="вводим «y» и нажимаем Enter" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">вводим «y» и нажимаем Enter</figcaption></figure><p>Вводим «y» и нажимаем Enter</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0afd68a8b143a7dbfe7cfc578d93352986f66f792af130cd925e4d9c146e902a.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Появится окно с текстом: <code>There are services installed on your system which need to be restarted when certain libraries, such as libpam, libc, and libssl, are upgraded. Since these restarts may cause interruptions of service for the system, you will normally be prompted on each upgrade for the list of services you wish to restart. You can choose this option to avoid being prompted; instead, all necessary restarts will be done for you automatically so you can avoid being asked questions on each library upgrade. Restart services during package upgrades without asking?</code></p><p><strong>Нажимаем на YES</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/df8487adc3738454a9d4590171a2aa4039e2d41087f536f32ec50ba62c7dfea9.png" alt="Нажимаем на YES" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Нажимаем на YES</figcaption></figure><p>Появится окно с текстом: <code>Configuring msmtp. Apparmor is a kernel security mechanism to restrict programs capabilities with per-program profiles. The AppArmor profile for msmtp covers a lot of common usecases but there are still corner cases with some options which breaks msmtp with incomprehensible permissions denied errors. Enable AppArmor support?</code></p><p><strong>Нажимаем на YES</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/aacdf278fde6f5e6abea5d3798c66424ec91f76339727a2ba13021be74531cde.png" alt="Нажимаем на YES" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Нажимаем на YES</figcaption></figure><p>Файл <strong>journald.conf</strong> мы не изменять. <strong>Нажимаем на</strong> <code>N</code> <strong>и</strong> <code>Enter</code></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e227641667daeecba49d15c9bc9d1f46d86e7e4334192387cd97c7ef2990c163.png" alt="Нажимаем на N и Enter" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Нажимаем на N и Enter</figcaption></figure><p>Файл <strong>logrotate.conf</strong> мы не изменять. <strong>Нажимаем на</strong> <code>N</code> <strong>и</strong> <code>Enter</code></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a42fd661fc3fc05220c05c30c6e37fe4c7f3dfbe2b0c9b23c2e2efb92980fae1.png" alt="Нажимаем на N и Enter" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Нажимаем на N и Enter</figcaption></figure><p>Файл <strong>crontab</strong> мы не изменять. <strong>Нажимаем на</strong> <code>N</code> <strong>и</strong> <code>Enter</code></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/1a0e105cb076d912c13ccdc67aed01c55e436b72f426aa9f276cddc1e599df77.png" alt="Нажимаем на N и Enter" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Нажимаем на N и Enter</figcaption></figure><p>Выбираем <code>keep the local version currently installed</code> и нажимаем на <code>Enter</code></p><p><code>Configuring openssh-server. A new version (/tmp/tmp.SJ7WajZnsX) of configuration file /etc/ssh/sshd_config is available, but the version installed currently has been locally modified. What do you want to do about modified configuration file sshd_config?</code></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d87090c26ff654ae52ffd22afbfbd9dfefd9597aea6a9dbad9981abad8d4fcac.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Предлагается удалить ненужные пакеты, нажать <code>d</code> и <code>Enter</code> с целью ознакомление, какие конкретно пакеты подлежат удалению. Посмотрите, возможно какие-то пакеты вам необходимы, будет выведен список пакетов на удаление.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0bc7ebe42b18930985e9a63e9f8beaa9fbc9ea536d09fc58d56fcf46316585a1.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/631b716a22f7d6bb2401834e96cbfec360bfd537aafb1312d3b9ca498b723a9a.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Нажимаем <code>q</code> потом нажимаем <code>y</code> и <code>Enter</code></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d34cac62b81703fd0f63610925286f7fc5b680ae33914f148de28ce4ceef2595.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Система обновилась и предлагает выполнить перезагрузку. Соглашаемся нажимаем <code>y</code> и <code>Enter</code>. Система начинает перезагружаться. После перезагрузки подключаемся и проверяем какая у нас вестия.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5dd9945b22859cadf6e3ffdb46ba9baba9836e9d1c4f2296b50f2434779f04c8.png" alt="нажимаем y и Enter" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">нажимаем y и Enter</figcaption></figure><p>После перезагрузи смотрим текущую версию Ubuntu:</p><pre data-type="codeBlock" text="lsb_release -a
"><code>lsb_release -<span class="hljs-selector-tag">a</span>
</code></pre><pre data-type="codeBlock" text="No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:        22.04
Codename:       jammy
"><code><span class="hljs-literal">No</span> <span class="hljs-string">LSB</span> <span class="hljs-string">modules</span> <span class="hljs-string">are</span> <span class="hljs-string">available.</span>
<span class="hljs-attr">Distributor ID:</span> <span class="hljs-string">Ubuntu</span>
<span class="hljs-attr">Description:</span>    <span class="hljs-string">Ubuntu</span> <span class="hljs-number">22.04</span><span class="hljs-number">.4</span> <span class="hljs-string">LTS</span>
<span class="hljs-attr">Release:</span>        <span class="hljs-number">22.04</span>
<span class="hljs-attr">Codename:</span>       <span class="hljs-string">jammy</span>
</code></pre><p>Если в процессе выполнения возникал такая ошибка:</p><pre data-type="codeBlock" text="After the problem report has been sent, please fill out the form in the
automatically opened web browser.

What would you like to do? Your options are:
  S: Send report (367.2 KB)
  V: View report
  K: Keep report file for sending later or copying to somewhere else
  I: Cancel and ignore future crashes of this program version
  C: Cancel
Please choose (S/V/K/I/C): 
"><code>After the problem report has been sent, please fill out the form in the
automatically opened web browser.

What would you like to do? Your options are:
  S: Send report (<span class="hljs-number">367.2</span> KB)
  V: View report
  K: Keep report file <span class="hljs-keyword">for</span> sending later or copying to somewhere <span class="hljs-keyword">else</span>
  I: Cancel and ignore future crashes of <span class="hljs-built_in">this</span> program version
  C: Cancel
Please choose (S<span class="hljs-operator">/</span>V<span class="hljs-operator">/</span>K<span class="hljs-operator">/</span>I<span class="hljs-operator">/</span>C): 
</code></pre><pre data-type="codeBlock" text="### Перевод вывода на русский:
После отправки отчета о проблеме, пожалуйста, заполните форму в автоматически открывшемся веб-браузере.

Что вы хотите сделать? Ваши варианты:

S: Отправить отчет (367.2 KB)
V: Просмотреть отчет
K: Сохранить файл отчета для отправки позже или копирования в другое место
I: Отменить и игнорировать будущие сбои этой версии программы
C: Отменить
Пожалуйста, выберите (S/V/K/I/C):

### ЧТО НАЖАТЬ? 
Если хотите отправить отчет разработчикам, выберите S.
Если хотите сначала просмотреть отчет, выберите V.
Если хотите сохранить отчет для дальнейшего анализа, выберите K.
Если не хотите видеть уведомления о сбоях в будущем, выберите I.
Если хотите просто отменить, выберите C.
Если ошибка вам не критична и вы просто хотите продолжить, можно выбрать C или I, чтобы игнорировать.
"><code>### Перевод вывода на русский:
После отправки отчета о проблеме, пожалуйста, заполните форму в автоматически открывшемся веб<span class="hljs-operator">-</span>браузере.

Что вы хотите сделать? Ваши варианты:

S: Отправить отчет (<span class="hljs-number">367.2</span> KB)
V: Просмотреть отчет
K: Сохранить файл отчета для отправки позже или копирования в другое место
I: Отменить и игнорировать будущие сбои этой версии программы
C: Отменить
Пожалуйста, выберите (S<span class="hljs-operator">/</span>V<span class="hljs-operator">/</span>K<span class="hljs-operator">/</span>I<span class="hljs-operator">/</span>C):

### ЧТО НАЖАТЬ? 
Если хотите отправить отчет разработчикам, выберите S.
Если хотите сначала просмотреть отчет, выберите V.
Если хотите сохранить отчет для дальнейшего анализа, выберите K.
Если не хотите видеть уведомления о сбоях в будущем, выберите I.
Если хотите просто отменить, выберите C.
Если ошибка вам не критична и вы просто хотите продолжить, можно выбрать C или I, чтобы игнорировать.
</code></pre><p>Нажмите <code>с</code> . Появится такой вывод.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e93b60d520f312aa001fa5e21c3183876cd03bac02c843d293e5623346a1789d.png" alt="Нажмите с " blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Нажмите с</figcaption></figure><pre data-type="codeBlock" text="Please choose (S/V/K/I/C): c
=== Command detached from window (Mon Sep  9 14:34:52 2024) ===
=== Command terminated with exit status 1 (Mon Sep  9 14:35:02 2024) ===
"><code>Please choose (S<span class="hljs-operator">/</span>V<span class="hljs-operator">/</span>K<span class="hljs-operator">/</span>I<span class="hljs-operator">/</span>C): c
<span class="hljs-operator">=</span><span class="hljs-operator">=</span><span class="hljs-operator">=</span> Command detached <span class="hljs-keyword">from</span> window (Mon Sep  <span class="hljs-number">9</span> <span class="hljs-number">14</span>:<span class="hljs-number">34</span>:<span class="hljs-number">52</span> <span class="hljs-number">2024</span>) <span class="hljs-operator">=</span><span class="hljs-operator">=</span><span class="hljs-operator">=</span>
<span class="hljs-operator">=</span><span class="hljs-operator">=</span><span class="hljs-operator">=</span> Command terminated with exit status <span class="hljs-number">1</span> (Mon Sep  <span class="hljs-number">9</span> <span class="hljs-number">14</span>:<span class="hljs-number">35</span>:02 <span class="hljs-number">2024</span>) <span class="hljs-operator">=</span><span class="hljs-operator">=</span><span class="hljs-operator">=</span>
</code></pre><p>Нажмите <code>Enter</code> . Появится такой вывод <code>Press x to destroy or r to resurrect window</code> . <code>x</code>: Уничтожить окно. Это завершит текущую сессию и любые процессы, связанные с ней. Используйте этот вариант, если вы хотите прекратить текущий процесс. <code>r</code>: Воскресить окно. Это вернет вас к сессии, где вы можете продолжить работу или посмотреть, что произошло.</p><p>Перед нажмите <code>x</code> смотрим внимательно логи, система скажет в чем ошибка. Исправляем ошибку и повторяем процесс обновления.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b1ba78f114e404d0487cf2f36c8a55246d60c17f9b00d2bbc60ee83a6e9c9209.png" alt="Press x to destroy or r to resurrect window  n" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Press x to destroy or r to resurrect window n</figcaption></figure><hr><p>Спасибо за внимание к материалу! Надеюсь, информация оказалась полезной для вас! Поздравляю с новым достижением!</p><hr><p>Если материал оказался полезным и вы хотите поддержать мою работу, буду рад вашему <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/2hMbi1NzRlcWc4RXn7BRj1GY3QHFqy_PEncc-o56ZCI">донату</a>. Любая помощь вдохновляет на создание нового контента! Спасибо за вашу поддержку!</p><hr><p><em>ПОЛЕЗНЫЕ ССЫЛКИ</em></p><p>В этом <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/JDo-vg9rN0R5BOl4GnEMUXGp6u85_Ya3Oqlqae3uouM">ОГЛАВЛЕНИИ</a> собраны и структурированы все материалы.</p><blockquote><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/SC7MrZQyKV0visxyEsH8gk9V5Xa8PSKEJ-ekNlXXDi4">About &amp; Contact</a> || <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/S6yC_iDcf6Ja1hbjpZhX6YIzqHB-_Ot5M8xOvx3BCbY">Услуги</a> || <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/2hMbi1NzRlcWc4RXn7BRj1GY3QHFqy_PEncc-o56ZCI">Donate</a> || <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0x426284a03d7c9625D66021E1A602E3CB8C607F52/ECwGmlttT2sg3hTMNZ64aTYLkBXW4uShXtV45lzq1Ss">Отказ от ответственности</a> | ©</p></blockquote><hr>]]></content:encoded>
            <author>odanoder-2@newsletter.paragraph.com (OdaNoder)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/07860a343f17dd30cc34ae85eba2283f8839fd0590397313857c36a98701ec89.jpg" length="0" type="image/jpg"/>
        </item>
    </channel>
</rss>