DevOps Portal | Linux
13.4K subscribers
868 photos
112 videos
10 files
882 links
Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps

Связь: @devmangx

РКН: https://clck.ru/3P8kFH
Download Telegram
Работаем с кодировкой файлов в терминале Linux 📝

Бывало такое, что откроете текстовый документ, а там все в кракозябрах? Это, товарищи, проблемы с кодировкой текста. О кодировке можно долго и много рассказывать, но я вам лучше поведаю про iconv - это утилита командной строки, которая используется для конвертации текстовых данных из одной кодировки в другую. Утилитка эта есть в любом популярном дистрибутиве Linux что называется, из коробки, поэтому совершать дополнительные действия для установки не нужно. Посмотрим на четыре примера того, как можно эту утилиту использовать.

Пример 1: Преобразование из UTF-8 в ASCII

iconv -f UTF-8 -t ASCII input.txt > output.txt


Этот пример преобразует содержимое файла input.txt из кодировки UTF-8 в ASCII и записывает результат в output.txt.

Пример 2: Изменение кодировки файла

iconv -f ISO-8859-1 -t UTF-8 input.txt > output.txt


Эта команда изменяет кодировку файла input.txt с ISO-8859-1 (Latin-1) на UTF-8 и записывает результат в output.txt.

Пример 3: Указание файла для стандартного ввода и вывода

iconv -f WINDOWS-1251 -t UTF-8 < input.txt > output.txt


Этот пример использует стандартный ввод (input.txt) с кодировкой WINDOWS-1251 и выводит результат в output.txt с кодировкой UTF-8.

Пример 4: Рекурсивное преобразование файлов в директории

find /path/to/directory -type f -name '*.txt' -exec iconv -f UTF-8 -t ISO-8859-1 {} -o {} \;


Этот пример находит все файлы с расширением .txt в указанной директории и конвертирует их содержимое из UTF-8 в ISO-8859-1.


К слову, утилита iconv также портирована под Windows, поэтому братцы-форточники тоже могут порадовать себя тем, что в консоли всяческую магию творят 😁 Обычные же линуксоиды, привыкшие к этим вашим окошечкам и кнопочкам, могут спросить: на кой мне это все знать?

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

Если же желаете побольше узнать про кодировки разные, то милости прошу в Google, Yandex и иные любимые вами поисковики: информации три вагона, две телеги.
👍6
С Новым 2024 годом, уважаемые подписчики 🎄🥳

Желаю вам и вашим близким здоровья и исполнения всего запланированного!

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

Еще раз всех с Новым годом и удачных праздников!!
👍11
Media is too big
VIEW IN TELEGRAM
Новогодние каникулы не прошли даром! За прошедшие дни закончил рефакторинг сайта и, как мне кажется, реализовал все, что будет нужно на старте проекта. Осталось только разграничить среды разработки на веб-уровне и перенести сервис в Docker. Думаю, что предстоящая неделя ознаменуется появлением сайта LINUXZONE в интернете. Следите за обновлениями 😏
👍9
На сайте проекта LINUXZONE будет форма для отправки материалов по тематике Linux, IT и Opensource, которые, по мнению посетителей, будут достойны того, чтобы появиться среди опубликованных. Отправить материал смогут те посетители, которые авторизовались в системе любым удобным способом: стандартно через логин и пароль или посредством социальных сетей ВК или Яндекс
👍7
Произвел разделение сред разработки и перевел сервис в Docker-контейнеры. Реализовано две среды: local (для локальной разработки и тестирования) и prod (для среды, где будет уже крутится непосредственно сайт). Соответственно, есть два вида контейнеров - с приставками local и prod. Поднял local-среду и в файле hosts прописал для dev.linuxzone.ru адрес 127.0.0.1.

P.S. плюсом можете увидеть еще пару доработок на скриншоте в левом сайдбаре
👍5
Не помню, рассказывал где-то на канале или нет, но одно время увлекался писательством. Стремление к написанию рассказов появилось в подростковом возрасте и со временем переросло в желание иметь собственную выпущенную книгу. Стивеном Кингом я не стал, но достиг определенных успехов, если судить по профилю в Мастерской писателей и тому, что на Литресе вы можете купить сборник моих рассказов 😂
👍6
Добавляю последние фичи перед выходом в продакшн!

Стремление добавить еще из того, что хочется увидеть на сайте проекта не отпускает и с момента выхода последнего поста на сайте появились: лента активности, поддержка тегов на русском, уведомления о новых постах, предложке и комментариях в чаты Телеграмм (некоторые из этих уведомлений вы могли видеть здесь ранее)

Надо уже завязывать с внедрением хотимчиков, иначе сайт никогда не появится в интернете 😄
👍4
Запущена дев-версия сайта проекта 👍

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

Зона доступна по адресу dev.linuxzone.ru, но она закрыта первичной авторизацией NGINX, чтобы поисковые боты не похерили будущую оптимизацию.

Подправлю за сегодня-завтра возможные недочеты и запущу прод-версию сайта проекта. Так что осталось совсем чуть-чуть!
🔥7👍3
Приглашаю к недолгому тестированию дев-версии сайта ⚙️

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

lzdev_basic_user

eiL9sa3kaeNgooTh7zai6ma

Можете, как будет время, пооставлять комментарии, попробовать завести аккаунт на сайте или воспользоваться имеющимися в Яндексе или ВК, кинуть что-нибудь в предложку, оставить комментарии и пр. В общем, использовать сайт так, как бы он использовался при обычном сценарии. Тогда станет понятным есть ли еще какие ошибки и что нужно изменить перед выходом проекта в продакшн.
👍3
Ответы на комментарии добавлены на DEV-версию сайта 💬

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

Чуть позже, уже после выпуска в продакшен нужно будет добавить уведомления об ответах, благо, что часть функционала об активности уже реализована.
👍6
Сам у себя украл контент 😀

Перевыкладывал тут статью про то, что Linux - это не ОС на дев-версию сайта (чтобы оттуда ее перенести потом на продакшен) и наткнулся в результатах поиска на статью с точно таким же названием, но на канале Dr. Compot с 39 подписчиками. Ну думаю, есть еще один очередной копипастер, который не просто слово в слово взял текст моего материала, но и еще картинки сдернул! Но опубликована статья была в 2018 году, за 4 года до появления моего канала в Dzen! Получается, что это я у кого-то что-то украл??

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

Вот так получается, сам у себя украл 🙈
👏7👍2🔥1🤔1
Добавил настройки часового пояса для пользователей сайта 🕘

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

Если пользователь не авторизован на сайте (или не установил часовой пояс в профиле), то у него отображается стандартный часовой пояс - UTC.

В каком часовом поясе живете вы?
👍5
Перенос настроек с одного дистрибутива на другой? Очень просто! 👨‍💻

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

В 99% случаев поможет содержимое папки .config, которая расположена в домашней директории пользователя. Там, как выходит из названия, хранятся настройки различного софта. Например, там лежит папка tabby от одноименного терминала Tabby, про который я ни раз рассказывал на канале. Достаточно скопировать эту папку куда-либо (я копирую в Яндекс Диск) и вставить в /home/<имя_пользователя>/.config на новом устройстве. PROFIT!! Абсолютно также поступаю, например с Filezilla.

Пока что не встречал программу, которая бы не приняла папку с конфигами в себя. Даже если это разные (но не сильно) версии. Про еще один способ переноса настроек софта расскажу в следующий раз.
👍11
Я обожаю KDE Plasma, но нельзя не замечать проблемы, которые переходят из версии в версию.

Вот как, например, выглядят иконки цифр из коробки в практически любом дистрибутиве с KDE. И меня это, честно говоря, бесит! Неужели нельзя шрифты сразу поставить такими, чтобы цифры так не перекашивало?? Так везде: Manjaro, Kubuntu, KDE Neon, Fedora. Исключение составляет только чистый Archlinux с KDE Plasma: там иконки выглядят нормально.

Для кого-то это может показаться мелочью, но я, например, очень часто использую Панель выбора эмодзи и постоянно смотрю на эти цифры..
🤔4
1️⃣ От 1 до 10 при помощи команды seq 🔟

Есть в Linux команда seq (sequance - последовательность). Она выводит, как это ни странно, последовательность между числами которые передаются в качестве аргументов. Общий синтаксис такой:

seq FIRST INCREMENT LAST


Если указываете одно число, то оно считается, как аргумент LAST, а FIRST выводится, как 1. На прикрепленном скриншоте пример такого вывода команды. Чтобы задать шаг последовательности укажите число в качестве INCREMENT.

seq 3 2 14


В выхлопе будет последовательность:

3
5
7
9
11
13


Зачем об этой команде знать вам? Ну вы можете с легкостью ее использовать в BASH-скриптах и других своих пет-проектах.

Лучше знать и пусть не пригодится, чем не знать и попасть в ситуацию, когда нужно будет 😁
👍8
Valve «забраковала» клиент Steam для Ubuntu из-за формата SNAP 🎮

Уже несколько раз в заметках на канале я выражал неприятие формата SNAP, который стал уже основным в дистрибутиве Ubuntu. В комментариях под этими постами умные люди объяснили защитникам этого формата, что не так с этим «любимцем» Canonical. Но если они не хотели верить читателям и подписчикам канала, то вот уже точка зрения на SNAP от профессионалов👇

Казалось бы, после выпуска Steam Deck компания Valve будет всячески продвигать Linux-версию своего магазина игр. Но в случае с популярным дистрибутивом Ubuntu всё оказалось не так гладко. Разработчик Valve Тимоти Бессет заявил, что именно с этой версией клиента Steam есть множество проблем — вероятно, компании даже придётся пойти на радикальные меры, чтобы исправить ситуацию. Камнем преткновения для пользователей Ubuntu стало использование системы управления пакетами Snap по умолчанию. Сама Valve не распространяет клиент Steam в этом формате, поэтому его неофициально перепаковывают. Как оказалось, это вызывает ряд технических проблем, при этом пользователи массово отсылают отчёты об ошибках в Valve, а не разработчикам дистрибутива.

Выходит, что Canonical перехитрили сами себя. И поддерживают формат, в котором разработчики не стремятся выпускать свои приложения. С другой стороны, Ubuntu крайне популярна и на месте разработчиков стоит понимать, что если хочешь распространения своего софта, то придется играть по правилам Ubuntu. Но если только эти разработчики не из Valve 😁 Так как в этом случае они просто могут сказать команде Ubuntu «переделывайте».

Как вы относитесь к SNAP? И как у Ubuntu?
👍6
В России планируют легализовать "белых" хакеров 🏴‍☠️

В конце декабря 2023 года в Государственную Думу внесли поправки в ГК РФ, направленные на легализацию "белых" хакеров. Согласно законопроекту, при выявлении недостатков безопасного использования программы для ЭВМ необходимо сообщить о них правообладателю в течение пяти рабочих дней. Новые нормы позволят "проводить анализ уязвимостей в любой форме, без разрешения правообладателей соответствующей программы, в том числе правообладателей инфраструктурных и заимствованных компонентов", отмечают авторы инициативы.

Как вы относитесь к подобной инициативе?

P. S. про то, кто такие белые хакеры и какие еще цветовые палитры хакерства существуют я рассказывал в одной из первых статей в Дзене.
👍8
Интересное наблюдение: Linux-дистрибутивы требуют перезагрузки при обновлении также, как и Windows 💻

Уже на протяжении нескольких месяцев стал обращать внимание, что некоторые (преимущественно порожденные корпорациями дистрибутивы) требуют при обновлении осуществить перезагрузку. Такая модель поведения напоминает, ставшей притчей во языцех, историю про то, как Windows во время установки обновлений внезапно для пользователя уходит на перезагрузку. Справедливости ради стоит сказать, что так окошки делали преимущественно до Windows 10, после же стало возможным запланировать обновление системы для установки обновлений. Но!

Когда раньше речь шла о том, чем Linux лучше Windows, то очень часто в упрек окошечникам ставились как-раз таки те самые перезагрузки для обновления. И что это получается, теперь Linux "стала, как Windows"? Или даже хуже, так как в Windows от этой болячки практически избавились и она, видимо, перекочевала на Linux. Почему я говорю про дистрибутивы, порожденные корпорациями?

Потому, что необходимость перезагрузки была подмечена мной на таких дистрибутивах, как Ubuntu, Fedora и всем, что основано на них. А вот, например, на Archlinux KDE Plasma при обновлении не появляется той самой галочки "Обновиться после установки обновлений" в центре приложений Discover, а в Archlinux GNOME не появляется плашечки о том, что необходимо перезапустить систему, чтобы установить важные обновления.

Что вы думаете про перезагрузки при обновлениях в Linux? Быть может они жизненно необходимы и обеспечивают спокойствие пользователям при обновлении дистрибутива? Ну или может являются пережитком прошлого, который, почему-то, словно кара обрушился на Linux-дистрибутивы?
🤔3