Telegram Group Search
Получил сегодня довольно интересную железку, немного протестировал, рассказываю.

Что это такое? Это своего рода док для дисков M.2, который позволяет быстро и просто подключить такой диск к ПК. Собственно, ради этого и покупалось, чтобы лишний раз не раскручивать и не прикручивать в стандартных внешних боксах, когда надо быстро подключить чужой диск.

Да и количество подключений у стандартного разъема ограничено, здесь же все сделано достаточно надежно. Сам корпус на резиновых ножках, по столу не ездит, диски фиксируются хорошо, не болтаются.

В системе определяется как HIKSEMI MD202, если поискать, то модель достаточно распространенная, продается много где в разном виде.

Официальная спецификация о скоростях молчит, указывая только скорость интерфейса – 10 Гбит/с, т.е. стандартную для USB 3.2 Gen 2. Ну мы не гордые, потестим сами.

В док можно ставить диски M key и B + M key форматов SATA и NVMe, что перекрывает все текущие потребности.

Итак, NVME - скорость записи и чтения не превышают 450 МБ/с, не фонтан, но в целом нормально. SATA – чтение те же 450 МБ/с, а вот запись стабильно просаживается до 130 МБ/с, скорее всего из-за дополнительного преобразования интерфейса.

Общий вывод – за свою цену в 800 руб. на ОЗОНе брать можно, но иллюзий не испытывать. Нужны скорости – берите нормальный бокс, нужно по быстрому посмотреть что там на диске, что-то слить или залить в небольших объемах – то, что доктор прописал.
Альт 11 – в лесу что-то сдохло…

Да, именно так, в лесу наконец что-то сдохло. Потому что новый выпуск Альт Рабочая станция 11 неожиданно вышел с графической оболочкой GNOME и ее даже не смогли испохабить, что они ранее успешно делали с тем же XFCE или Cinnamon.

Поставили, посмотрели. Live-режима у загрузочного диска нет, поэтому взлетит или не взлетит на вашем железе узнаете уже по факту. Но скорее всего взлетит, под капотом свежее LTS ядро 6.12.

Инсталлятор классический, альтовский. Скучать не даст, потому что все время надо что-то нажимать и отвечать (прямо как в Debian). Современный подход: ответили на вопросы – нажали кнопку и пошли сюда еще не завезли.

Внутри все выглядит свежо и интересно. С одной стороны это классический Альт, а с другой он графически хорош собой. Можете использовать как классический GNOME (он тут с пылу, с жару – 47 версия) или «панельный режим», который настраивает GNOME в стиле классических интерфейсов и приближает внешне к интерфейсу Рабочей станции 10.

Какой-то кастомизации именно под Альт тут нет и это, наверное, хорошо. Есть неплохие обои с родными просторами. А дальше каждый сам волен самовыражаться как пожелает, под GNOME всякого добра хватает.

Данная версия предназначена для тестирования, в продажу пойдет Альт 11.1, что тоже верно, хотя Альт в этот раз серьезно отстал от своих основных конкурентов – РЕД ОС и Астры, которые выпустили новые версии еще весной-летом прошлого года.

Подробный обзор будет после праздников, когда вернусь из мини-отпуска. Впечатление от Альт 11, в отличии от РОСА 13, хорошее, видна работа и прогресс. Можно качать тестировать, для физлиц использование бесплатно.
​​Что будет если мы выполним chmod -R 777 / с правами суперпользователя?

Ну казалось бы, чего такого, ну дадим всем полные права, что может пойти не так? Ну про безопасность понятно…

Но с этого момента пойдет не так решительно все. Очень многие службы и системные утилиты требуют определенных прав доступа на файлы, к таким файлам могут относится ключи, сертификаты, конфигурационные файлы, отвечающие за безопасность и т.д. и т.п.

Поэтому такие службы будут работать до рестарта и более не запустятся, сразу откажут такие утилиты как sudo, также вы не сможете войти с использованием ключа по SSH.

А еще вспоминаем, что 777 – это на самом деле 0777, т.е. легким движением руки мы снесем все SUID, SGID и Sticky bit. После чего откажет большая часть системных утилит и наступит неуправляемый хаос в /tmp.

Сама же система будет работать и даже загружаться, но по факту мы ее сделали полностью неработоспособной. Самое лучшее что мы можем сделать – это скопировать данные и переустановить ее.
​​Копируй, вставляй и молись

Не так давно в классическом труде UNIX® and Linux® System Administration Handbook в очередной раз наткнулся на описание данного метода, который авторы метко назвали «копируй, вставляй и молись».

В переводе данный абзац будет выглядеть так:

Не стесняйтесь адаптировать код существующих скриптов для своих нужд. Но не занимайтесь программированием по принципу «копируй, вставляй и молись», когда вы не понимаете код. Найдите время, чтобы разобраться в этом. Это время никогда не тратится зря.

Но, к сожалению, данный метод использовался, используется и будет продолжать использоваться со всеми вытекающими отсюда последствиями.

И это относится не только к написанию скриптов, но и к файлам конфигурации, когда администраторы копируют чужие примеры даже не задумываясь.

Спрашиваешь: «а зачем тут это?»

В ответ пожимают плечами и путано поясняют что так было написано в одной умной инструкции.

К этой же порочной методике можно отнести и бездумное копирование инструкций, а также любимый многими «вид спорта» - настройка чего-либо с помощью чужих готовых скриптов.

Последний вариант вообще вне конкуренции по возможным деструктивным последствиям, потому как в статье автор хотя бы комментирует свои действия, и вы можете понять надо ли это в вашем случае или не надо, то скрипт может просто сделать все молча и по-своему.

Неоднократно сталкивались с товарищами, которые приходят за помощью с жалобой, мол поставил продукт А, но ничего не работает. А на уточняющие вопросы поясняют, что ничего не знают и дают ссылку на скрипт.

Бездумное следование инструкциям ничуть не лучше, по сути, это выходит тот же самый скрипт, но в более простом варианте, когда команды вбивает оператор. Его роль тут сводится просто к скопировал-вставил и его спокойно можно заменить дрессированной обезьяной. 🐵

Поэтому не стоит уподобляться братьям нашим меньшим. Делаем по инструкции – стараемся понять каждое действие, назначение всех используемых опций, значений настроек и всегда сопоставляем их с нашими текущими реалиями.

Надо нам это? Не надо? А почему здесь такое число? На что оно влияет.

Да, вы потратите больше времени, но это время не будет потрачено даром. Вы начнете хотя бы на базовом уровне разбираться в конфигурации и принципе работы продукта, а также сразу наметите возможные проблемы и места, которые за эти участки отвечают.

Что касается чужих скриптов, то их использовать, конечно можно, но крайне нежелательно до тех пор, пока вы не сможете читать их с листа и понимать, что они делают и зачем. И не важно, насколько популярен этот скрипт, сколько у него звезд на гитхабе и т.д. и т.п.

Почему? Да потому что всегда может что-то пойти не так и если скрипт для вас черный ящик, то вы даже не поймете, где проблема и в чем. После чего все равно придется либо изучать его, либо идти просить помощи.

И это мы еще не говорим о том, что автор может иметь собственные представления «о прекрасном» и использовать нестандартные пути, приемы, допускать ошибки, прибиваться гвоздями к версиям и т.д. и т.п.

При определенных условиях работа скрипта может вообще оказаться деструктивной, но не со злого умысла автора, а просто потому, что он пропустил некоторые проверки или вообще не предусмотрел вашего сценария.

При этом мы понимаем, что, даже прочитав данную заметку многие пожмут плечами и пойдут работать методом «копируй, вставляй и молись» дальше. Потому что он в целом работает, а что касается дальнейшей эксплуатации: упремся – разберемся.

Но только вот профессиональному росту специалиста он никак не содействует и об этом нужно помнить если не хотите чтобы вас потом заменила дрессированная обезьяна в виде столь популярного ныне искусственного интеллекта.
​​Проверяем DNS-записи при помощи PowerShell

Данный метод не является заменой привычным утилитам, например, nslookup, но он показывает возможности PowerShell и будет полезен всем, кто использует данный язык для автоматизации или изучает его.

Для разрешения доменных имен в PowerShell есть командлет Resolve-DnsName, использовать его достаточно просто, полный синтаксис команды выглядит так:

Resolve-DnsName -Name "example.com"


Но его можно упростить:

Resolve-DnsName example.com


Ответ зависит от типа записи, для A вы просто получите адрес, а для CNAME результатом будет доменное имя, на которое ссылается запись. Ниже будет приведена информация о полученном доменном имени и разрешение его в IP-адрес.

Это довольно тонкий момент, потому что тот же nslookup всегда выводит второй строкой адрес, здесь же результатом работы может быть как адрес, так и иное доменное имя.

При этом, учитывая объектную структуру PowerShell, такой результат легче поддается разбору и анализу, также сразу будет указан тип записи в отдельном поле.

Для получения записей других типов дополнительно используйте ключ:

Resolve-DnsName example.com -Type MX


Результатом вывода для MX, если записи настроены правильно, вы получите одно или несколько доменных имен. Их разрешение в IP-адреса будет приведено ниже в выводе.

Если вам нужно получить результат от определенного сервера, то добавьте ключ:

Resolve-DnsName example.com -Type MX -Server 8.8.8.8


А теперь несколько полезных опций, которые могут пригодиться при диагностике и разрешении проблем:

Resolve-DnsName example.com -DnsOnly


Данный ключ предписывает выполнить DNS-запрос игнорируя файлы hosts, локальный кеш, широковещательные протоколы и т.д.

Resolve-DnsName example.com -CacheOnly


Наоборот, выдаст запрос из локального кеша, что полезно для диагностики, если есть подозрения на неверную работу кеша.

Resolve-DnsName example.com -NoHostsFile


Указанный ключ проигнорирует локальный файл hosts, его следует использовать если есть подозрение, что указанный домен переназначен локально.

Это далеко не все возможности командлета, а только самые полезные. Больше информации вы можете найти в документации: https://learn.microsoft.com/en-us/powershell/module/dnsclient/resolve-dnsname?view=windowsserver2022-ps
​​С Днем радио!!!

Сегодня мой профессиональный праздник и не только мой, но и многих коллег, особенно старшего возраста.

Это сейчас путь в IT открыт сразу и напрямую, в наше время путь к вычислительной технике начинался с радиолюбительства и программируемых калькуляторов.

Позже все это плавно перетекало в наиболее близкие профессии, связанные с электроникой. А электроника в свое время была неразлучно связана с связью (вот такой вот каламбур вышел).

И, следует сказать, радиолюбительское прошлое и профильное образование связиста сильно пригодилось впоследствии. Прежде всего инженерным мышлением, умением читать схемы и навыками диагностики и выявления неисправностей.

Появившиеся позднее компьютеры кто-то сделал помощниками в инженерных расчетах, а кто-то связал с ними свою профессию.

Поэтому всех причастных, настоящих и бывших связистов, хотя связисты, а тем более радиолюбители, бывшими не бывают, с праздником!

🥃🥃🥃
​​Как полностью удалить PPA и восстановить состояние системы

Одним из нововведений Ubuntu стала система персональных архивов пакетов (Personal Package Arhive - PPA), которые позволяли разработчикам легко создавать собственные репозитории, а пользователям их подключать и использовать.

В те времена это был огромный шаг вперед и сильно продвинул Ubuntu как простую и удобную в эксплуатации Linux систему.

Но в использовании PPA кроме очевидных плюсов есть столь же очевидные минусы. А именно – это репозиторий, а любой сторонний репозиторий это отличный шанс нарушить стабильную работу системы.

Вместе с нужной вам программой из PPA могут обновиться какие-то системные библиотеки или быть заменены какие-то другие компоненты системы, что может привести к самым различным последствиям.

Мы, конечно, можем отключить PPA-репозиторий, но только проблемы это не решает, установленные им пакеты останутся в системе и далеко не факт, что простое их удаление вам поможет.

Для того, чтобы не только полностью удалить PPA-репозиторий, но и полностью восстановить состояние системы предназначена утилита ppa-purge, которая входит в стандартный репозиторий Ubuntu.

Применять ее очень просто, достаточно указать наименование PPA в формате:

ppa:user_name/ppa_name


Это стандартный формат и если вы добавляли PPA командой:

add-apt-repository ppa:andrew-crew-kuznetsov/xneur-stable


То для полного удаления и восстановления используйте:

ppa-purge ppa:andrew-crew-kuznetsov/xneur-stable


Если же вы не знаете точного имени PPA, то получить его можно из адреса репозитория, найти файлы с такими адресами вы можете в /etc/apt/sources.list.d, в нашем случае там будет:

https://ppa.launchpadcontent.net/andrew-crew-kuznetsov/xneur-stable/ubuntu/ jammy main


Интересующая нас информация находится сразу за ppa.launchpadcontent.net, в нашем случае это andrew-crew-kuznetsov/xneur-stable.

Несмотря на то, что данная утилита позволяет нам достаточно просто откатить все изменения внесенные PPA следует понимать, что PPA – это достаточно опасный способ установки стороннего ПО и на сегодняшний день существуют современные и безопасные варианты, такие как Snap или Flatpak.
​​Алиасы в PowerShell

Многие, кто только начинает изучать PowerShell, особенно перейдя из мира Linux, жалуются на его многословность, что может быть неудобно, если вы используете PS непосредственно для администрирования системы.

Да, это так, но этому есть свои основания.

Классические UNIX-оболочки создавались в те далекие и светлые времена, когда компьютеры были большие, объемы памяти маленькие, а скорости передачи данных – медленные. Все это заставляло биться буквально за каждый байт.

Кроме того, в те времена не было ни интернета с гуглом, ни разных синтаксис-помощников, поэтому команды старались делать попроще, чтобы запоминать было легче, пренебрегая удобством чтения кода и наглядной очевидностью.

Да, bash прост, но прост для того, кто в нем постоянно работает. Если это не так, то возможны разные веселые, или не очень, затруднения.

Например, команда:

grep error error.log

Еще вполне читабельна и если мы помним, что такое grep, то без труда догадаемся, что мы ищем строку "error" в файле error.log. Но расширение не является обязательным атрибутом файла и поэтому мы вполне можем встретить:

grep error error

И если вы не помните синтаксис grep вам придется непросто. Особенно если нужно изменить часть команды.

Поэтому PowerShell, который разрабатывался значительно позже, обильно полили синтаксическим сахаром, справедливо предполагая, что люди тоже могут читать программы. И не только могут, но и будут.

Поэтому тот же аналог grep в PowerShell выглядит так:

Select-String -Pattern "error" -Path .\error

Да, многословно, но даже далекий от PowerShell человек поймет, что мы выбираем строки, содержащие текст “error” из файла .\error.

И если мы занимаемся написанием скриптов, то такая многословность нам только в плюс, так как сильно облегчает читаемость кода человеком.

А скрипты в голом блокноте давно уже никто не пишет, есть удобные среды разработки с автодополнением, подсветкой синтаксиса, синтаксис-помощниками и прочими плюшками.

Но как быть, если мы используем PowerShell для административных нужд, каждый раз набирать полное имя команды и ключи в консоли, даже с автодополнением, может быть утомительно.

А вот как раз для этого придумали алиасы. Полный список алиасов команд PowerShell можно посмотреть, выполнив команду:

Get-Alias

Если нас интересует конкретная команда, то следует набрать:

Get-Alias -Definition Select-String

А если, наоборот, расшифровать алиас, то следует выполнить:

Get-Alias sls

Также можно создавать свои алиасы, для этого используйте команду:

Set-Alias -Name grep -Value Select-String

Таким образом мы легко можем настроить среду согласно своих привычек или просто писать в привычном стиле:

sls error error

А для тех, кто свои лучше годы отдал работе с Windows, напоминаем, что PowerShell давно доступен и на платформе Linux.
​​И еще немного про алиасы в PowerShell

PowerShell предлагает большой набор встроенных алиасов, про них мы подробно писали в нашей прошлой заметке.

И предназначены они сугубо для интерактивного использования внутри командной оболочки, т.е. для сокращения руками вводимых команд и упрощения их запоминания, ключи, между прочим, тоже успешно можно пропускать, если располагать опции в надлежащем порядке.

Это как раз решает проблему многословности PowerShell при интерактивном использовании.

Можно ли создавать и применять в проде свои алиасы? Можно и даже нужно, если использовать их по назначению, а именно для интерактивной работы в консоли.

Созданные алиасы без проблем можно выгружать и загружать на другой машине, для этого следует использовать команды Export-Alias и Import-Alias.

Поэтому у грамотного администратора не будет проблемы с созданными алиасами на новой системе, равно как и не будет их у человека, про данные алиасы не знающего.

А вот чего не стоит делать с алиасами не при каких обстоятельствах – это тащить их в скрипты. Скрипты давно никто на коленке в чистом блокноте не пишет, а любая среда разработки как минимум содержит подсказки и автодополнения, что позволяет быстро и удобно писать код с использованием полного синтаксиса.

Также в скриптах следует обязательно указывать все ключи, даже если их можно пропустить. Это не повлияет на работу, но положительно скажется на читабельности кода вашими коллегами или вами через некоторое время.

И, следует отметить, что многие упреки в неудобности и многословности PowerShell проистекают именно от незнания и попытки напрямую перенести на него предыдущий пользовательский опыт, не изучая возможности языка.

А возможность использовать короткую и немногословную нотацию у него есть, для чего нужно просто ознакомиться со списком встроенных алиасов.
С Днем Победы!!!
​​Учимся работать со Snap

Почему-то, как только речь заходит про Snap у многих системных администраторов включается режим «не читал – но осуждаю» при котором Snap наделяется массой отрицательных качеств и чуть ли не подлежит немедленному выпиливанию из системы.

В тоже время Snap является универсальным форматом пакетов, созданным компанией Canonical первоначально для Ubuntu, но получившим широкое распространение и в других дистрибутивах.

Главной особенностью snap-пакетов является их самодостаточность, они содержат как нужное приложение, так и все основные зависимости к нему, что ускоряет распространение приложений и снижает возможные конфликты с другим ПО.

Поэтому перед тем как «осуждать» следует все таки ознакомиться с данной технологией подробнее.

https://interface31.com.ru/tech_it/2022/11/linux-nachinayushhim-uchimsya-rabotat-so-snap.html
​​Работа с репозиториями в Debian

Как известно программное обеспечение в Linux устанавливается из централизованных хранилищ – репозиториев. Для работы с ними используется специальное ПО – пакетный менеджер.

В Debian и основанных на нем дистрибутивах это APT. Список репозиториев находится в /etc/apt/sources.list.

Но не всегда набор программ в официальном репозитории является достаточным. Какое-то ПО может отсутствовать, какое-то иметь слишком старые версии. В этом случае обычно подключаются дополнительные репозитории содержащие нужные версии программ.

Добавить их можно по-разному, можно внести записи прямо в /etc/apt/sources.list, но в приличном обществе принято создавать отдельные файлы с расширением .list в /etc/apt/sources.list.d. Это позволяет более гибко управлять репозиториями, чтобы отключить не нужные достаточно просто удалить файл или сменить его расширение.

Более подробно можно прочитать в нашей статье:

▫️ Linux - начинающим. Управление пакетами в Debian и Ubuntu

Но следует понимать, что добавление сторонних репозиториев – это потенциально опасная операция и один из самых доступных способов сломать систему.

Поэтому всегда смотрите что на самом деле будет установлено вместе с новым пакетом, проверив его зависимости и посмотрев их источники.

Также можете смоделировать процесс установки использовав ключ -s:

apt install имя_пакета -s


А вообще, если речь идет о небольших программах или пользовательском софте проверить нет ли нужного пакета в формате Snap или Flatpack. В этом случае все нужное пакет принесет с собой и риск сломать систему минимальный.

Про работу Snap читайте:

▫️ Linux - начинающим. Учимся работать со Snap

Еще один распространенный сценарий – это использование репозиториев предыдущего выпуска для получения пакетов, которые требуются некоторому софту, чаще коммерческому, по зависимостям, но отсутствуют в текущей версии.

Чаще всего это безопасно, то есть свои особенности, в частности с возможным обновлением пакета. Можно, конечно, поставить ему HOLD, но это не всегда правильно, особенно если пакет продолжает получать обновления в рамках предыдущего выпуска.

Более правильно в таких случаях использовать технологию APT Pinning, подробнее здесь:

▫️ Используем APT Pinning для закрепления пакетов в Debian и Ubuntu

Ну и наконец, если вы все-таки не вняли первоначальному совету и превратили /etc/apt/sources.list непонятно во что и все сломали, либо наоборот решили навести порядок, то может стать вопрос: а где взять исходное содержимое этого файла.

Можно спросить у Гугла, можно подсмотреть на другой аналогичной системе, но зачем, если можно восстановить его содержимое одной командой:

cat /usr/share/doc/apt/examples/sources.list > /etc/apt/sources.list


Кстати, в той же директории есть оригиналы и других важных файлов из директории /etc/apt, рекомендуем ознакомиться.
2025/05/19 17:20:50
Back to Top
HTML Embed Code: