GNU/Linux | Notes – Telegram
GNU/Linux | Notes
2.39K subscribers
111 photos
8 files
75 links
Open Source, Dotfiles, Debian/Ubuntu, Software, Linux, Scripts, Notes, Terminal, Shell, Gnu, Tools, Games, Fun, Free Software Movement.

Автор: Кирилл Рехов
Почта: krekhov.dev@gmail.com
Кто я: https://news.1rj.ru/str/krxnotes/246
GitHub: https://github.com/krekhovx
Download Telegram
find

Поиск файла по имени:
$ find . -name 'file'


Поиск файла без учета регистра:
$ find . -iname 'file'


Поиск только директорий:
$ find . -type d


Поиск только файлов:
$ find . -type f


Ограничение глубины поиска:
$ find . -maxdepth 1


Поиск файлов по владельцу:
$ find /tmp -user 'root'


Поиск файлов с определенным расширением:
$ find /tmp -name '*.sh'


Поиск всех файлов, кроме указанного:
$ find . -not -name 'file'


Найти файлы и прочитать их:
$ find /tmp -type f -exec cat {} \;


Найти файлы и вывести их разрешения:
$ find /tmp -type f -exec ls -ld {} \;


Найти пустые файлы:
$ find /tmp -type f -empty


Удалить все файлы:
$ find . -type f -exec rm -rf {} \;


Найти файлы больше 1G:
$ find / -size +1G


Удалить все файлы:
$ find . -type f -delete


Найти setuid файлы:
$ find / -perm -u=s


Найти по inode:
$ find / -inum <inode>


Показать все *.png и *.jpg файлы:
$ find . -name '*.png' -o -name '*.jpg'


Искать все *.orig, но игнорировать .pc/*:
$ find . -name '*.orig' -not -path './.pc/*'


Переместить все *.i686.rpm файлы в ../ww/ директорию:
$ find . -name "*.i686.rpm" -exec mv {} ../ww/ \;


Искать по полному пути:
$ find . -wholename "*/debian/control"


#utils
17👍63
sed

Замена user на AAA:
$ sed 's/user/AAA/' /etc/passwd


Удаление 3-й строки:
$ sed '3d' /etc/passwd


Удаление с 3-й строки до конца файла:
$ sed '3,$d' /etc/passwd


Удаление последней строки в файле:
$ sed -i '$d' /etc/passwd


Замена hello на new в самом файле:
$ sed -i 's/hello/new/' /etc/passwd


Получение второй строки:
$ cat /etc/passwd | sed -n 2p


#utils
11👍10
👍12😍5😁2🏆1
Open Source: Взаимодействие с Социализмом, Капитализмом и Коммунизмом

Социализм

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

Капитализм

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

Коммунизм

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

Open Source

Open Source (открытое программное обеспечение) — это подход к разработке программного обеспечения, при котором исходный код программы находится в открытом доступе, и любой может его использовать, изменять и распространять. Open Source основывается на принципах прозрачности, сотрудничества и свободного обмена знаниями.

Взаимосвязь Open Source с этими системами

- Социализм: Open Source имеет много общего с социалистическими принципами, поскольку акцентируется на коллективной собственности, сотрудничестве и свободном обмене ресурсами. В open source-сообществах часто наблюдается равноправное участие и совместная работа над проектами, что соответствует социалистическим идеалам.

- Капитализм: Хотя Open Source может показаться противоречащим капиталистическим принципам из-за отсутствия частной собственности на код, он находит свое место и в капиталистической системе. Open Source может стимулировать инновации и конкуренцию, так как компании могут разрабатывать коммерческие продукты на основе открытого кода и предоставлять услуги, связанные с ним. Примеры включают Red Hat и другие компании, которые построили успешный бизнес вокруг open source.

- Коммунизм: В теории, Open Source может быть ближе к коммунистической идее полного отказа от частной собственности, так как код принадлежит всем и каждому. Однако в реальной практике open source-сообщества все еще зависят от добровольного участия и не имеют четкого механизма распределения ресурсов по потребностям, как этого требует коммунизм.

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

#misc #opensource
🔥10💊7🤡3👎1
ctags

Это утилита, которая генерирует индекс (так называемый "tags file") для исходного кода, что позволяет быстро переходить к определениям функций, переменных и других символов в коде. В Debian эта утилита часто устанавливается в виде пакета exuberant-ctags:
$ apt-get install exuberant-ctags


Затем можно сгенерировать tags файл для проекта. Перейдите в корневую директорию вашего проекта и выполните команду:
$ ctags -R .


Опция -R означает рекурсивное сканирование всех файлов в текущей директории и её поддиректориях. Это создаст файл tags в текущей директории.

Использование ctags в Vim

Например:
$ apt-get source coreutils
$ cd coreutils-9.5/
$ ctags -R . # появится файл tags
$ vim src/chmod.c


Переход к определению символа: Поместите курсор на имя функции, переменной или другого символа и нажмите Ctrl + ]. Vim откроет файл, в котором этот символ определён, и переместит курсор к его определению.

Возврат к предыдущему местоположению: После перехода к определению символа вы можете вернуться назад, нажав Ctrl + T.

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

#utils
🔥6👍1
Debian входит в число дистрибутивов с наибольшим количеством поддерживаемых архитектур процессоров и отличной поддержкой кросс-компиляции. Мы работаем над улучшением возможностей кросс-компиляции и обеспечением возможности кросс-загрузки из исходного кода для будущих архитектур процессоров в Debian.

https://micronews.debian.org/2025/1739368586.html

#debian
👍74
Кризис в продвижении Rust в ядро из-за опасений усложнения сопровождения

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

https://www.opennet.ru/opennews/art.shtml?num=62685

#kernel
🤔2🌚21
ФСТЭК

ФСТЭК (Федеральная служба по техническому и экспортному контролю) — это российский государственный орган, который занимается вопросами технической защиты информации и экспортного контроля. В контексте IT, ФСТЭК разрабатывает и утверждает различные стандарты и требования для обеспечения безопасности информационных систем. ФСТЭК актуален в первую очередь для России.

Зачем нужен ФСТЭК?

1. Защита информации: ФСТЭК устанавливает требования к защите информации, чтобы предотвратить утечки, кражи или несанкционированный доступ к данным. Это особенно важно для государственных органов, крупных компаний и организаций, работающих с конфиденциальной информацией.

2. Сертификация: ФСТЭК проводит сертификацию программного обеспечения и аппаратных средств, чтобы убедиться, что они соответствуют установленным стандартам безопасности. Это включает в себя операционные системы, антивирусные программы, системы шифрования и другие средства защиты информации.

3. Экспортный контроль: ФСТЭК также занимается вопросами экспортного контроля, чтобы предотвратить утечку технологий и информации, которые могут быть использованы в военных или иных чувствительных областях.

ФСТЭК и операционная система Linux

ФСТЭК устанавливает требования к операционным системам, которые используются в российских государственных органах и крупных компаниях. Эти требования включают в себя:

1. Сертификация операционных систем: Операционные системы, такие как Linux, должны пройти сертификацию ФСТЭК, чтобы быть использованы в государственных и корпоративных сетях. Это означает, что они должны соответствовать определенным стандартам безопасности и защиты информации.

2. Использование российских криптографических алгоритмов: ФСТЭК требует, чтобы операционные системы поддерживали российские криптографические алгоритмы, такие как ГОСТ (Государственный стандарт). Это необходимо для обеспечения безопасности данных и соответствия российским нормативным требованиям.

3. Контроль доступа: Операционные системы должны иметь механизмы контроля доступа, которые соответствуют требованиям ФСТЭК. Это включает в себя управление пользователями, правами доступа и аудитом событий безопасности.

Таким образом, ФСТЭК играет важную роль в обеспечении безопасности информационных систем в России, устанавливая стандарты и требования, которые должны соблюдаться для защиты данных и предотвращения утечек информации.

Многие отмечают, что система сертификации и требований ФСТЭК может быть довольно бюрократизированной и сложной для выполнения. Это может создавать дополнительные трудности для компаний и организаций, стремящихся соответствовать этим стандартам.

а где бюрократия там и высокий уровень коррупции.

#security #misc
6🤡6🥴2👍1🌚1
Абсолютный путь

Как узнать абсолютный путь файла?
$ realpath free_hugepages

/sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages

Как узнать абсолютный путь текущей директории?
$ pwd # print working directory

/home/user/Downloads

#utils
👍82
8😎5😁3
PortProton

PortProton — это проект, разработанный командой linux-gaming.ru, который упрощает запуск Windows-игр и других приложений на Linux. Он предоставляет удобный интерфейс и гибкие настройки, делая процесс запуска максимально простым как для начинающих, так и для опытных пользователей. PortProton использует WINE Proton и включает различные оптимизации для повышения производительности.

WINE Proton и PortProton — это разные вещи. WINE Proton — это версия WINE, разработанная Valve для запуска Windows-игр через Steam. PortProton — это отдельный проект, который использует WINE Proton, но работает без Steam и предоставляет дополнительные настройки и оптимизации для запуска Windows-игр и приложений на Linux.

Как установить: https://linux-gaming.ru/t/ustanovka-portproton-ispolzovanie-wine-proton-bez-steam/24

После установки появится возможность запускать .exe файлы игр с помощью PortProton.

#games #opensource
🔥92
Rolling Release

Rolling Release модель — это метод разработки и обновления программного обеспечения, при котором система и все её компоненты постепенно обновляются по мере выхода новых версий, а не через крупные релизы, как это делается в традиционных циклах разработки. Вот ключевые особенности этой модели:

1. Постоянные обновления: В системе Rolling Release вы получаете регулярные обновления, которые могут включать новые функции, исправления ошибок и обновления безопасности. Это позволяет пользователям всегда иметь актуальное программное обеспечение без необходимости переустановки или крупного обновления системы.

2. Отсутствие крупных релизов: В отличие от традиционной модели с фиксированными релизами, где обновления происходят в виде крупных пакетов в установленные сроки, Rolling Release обновляется постепенно и постоянно.

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

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

5. Примеры дистрибутивов: Void Linux, Arch Linux, openSUSE Tumbleweed и Manjaro (хотя Manjaro делает это с небольшой задержкой для тестирования).

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

В Debian используется модель стабильных выпусков (Stable Release модель). Это значит, что новые версии выходят примерно каждые два года, и в течение этого времени система получает только обновления безопасности и критические исправления. Это обеспечивает высокую стабильность и надежность.

#misc #debian
6🔥21
Подписание тегов и коммитов

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

1. Сгенерировать GPG ключ:
$ gpg --full-generate-key


2. Экспортировать ключ:
$ gpg --export --armor <Key ID>


3. В GitLab/GitHub:
Settings -> GPG Keys
Добавить экспортируемый ключ.

4. Прописать:
[user]
email = example@gmail.com
name = Ivan Ivanov
signingkey = <Key ID>

[commit]
gpgSign = true


Коммиты будут автоматически подписываться, а для тегов можно использовать:
$ git tag -s <new-tag>


В истории коммитов в веб-версии можно будет увидеть значок Verified

#git #security
👍62
tasksel

$ apt install tasksel


Используется для установки групп программ или пакетов, известных как "задачи" в Debian. Эти задачи представляют собой предопределенные наборы пакетов, которые можно установить для выполнения определенной роли или функции на системе. Например, это могут быть задачи для установки рабочего стола, веб-сервера, почтового сервера и т.д. После запуска утилиты появляется TUI окно: Software selection (можно установить GNOME, KDE, Xfce и т.д).

#debian #software #utils
👍5
😁15👍2
CI/CD

(Continuous Integration) Непрерывная интеграция - постоянное слияние рабочих копий в общую основую ветвь разработки и выполнение частых автоматизированных сборок проекта для скорейшего выявления потенциальных дефектов.

(Continuous delivery) Непрерывная поставка - частые выпуски RC, такой подход позволяет уменьшить стоимость, время и риски внесения изменений путем более частных мелких обновлений в продакшн-приложение. Гарантия того, что ПО стабильно и может быть передано в эксплуатацию в любое время. Целью является сборка, тестирование и релиз программного обеспечения с большей скоростью и частотой.

* Pipelines:
Последовательность шагов, которые нужно выполнить для того, чтобы код прошел через все стадии проверки, тестирования и развертывания. Процесс преобразования кода из "только что написанного" в "готово к использованию".

* Jobs:
Это отдельные задания или задачи внутри Pipeline. Например, одна работа может быть связана с компиляцией кода, другая — с запуском тестов, третья — с развертыванием.

* Artifacts:
Это файлы, которые создаются и сохраняются в ходе выполнения Jobs. Например, если есть шаг сборки, который компилирует код, то результат этой сборки (например, исполняемый файл или архив) будет артефактом. Артефакты могут быть использованы в последующих шагах или сохранены для будущего использования.

#misc #build
👍6❤‍🔥51
live-build

live-build — это инструмент, используемый для создания Live-образов в Debian.

$ apt install live-build


Live-образ — это версия операционной системы, которая загружается прямо с носителя (например, USB-флешки или DVD) без необходимости установки на жесткий диск. Это позволяет пользователям протестировать систему, выполнить восстановление или диагностику, а также использовать её в качестве портативной операционной системы. Live-образы полезны для демонстраций и тестирования, так как изменения в системе не сохраняются после перезагрузки, если не использовать специальные методы для сохранения данных.

Когда вы загружаетесь с Live-образа, обычно вам предлагается опция "Установить", которая запускает установщик. Это позволяет вам протестировать операционную систему без изменений в текущей системе, а затем, если она вам подходит, установить её на ваш компьютер. Установочный процесс с Live-образа обычно очень похож на стандартный установочный процесс для дистрибутива.

Конфигурацию проекта можно осуществить с помощью команды:
$ /usr/bin/lb config -d bookworm --debian-installer live \
--debian-installer-distribution bookworm \
--archive-areas "main contrib non-free non-free-firmware" \
--debootstrap-options "--variant=minbase"


Сборка:
$ /usr/bin/lb build


На выходе получится готовый ISO образ на базе Debian.

> Salsa

#debian #build #utils
4🔥1👌1
Релиз Debian 13 ожидается во второй половине 2025 года. Первая стадия заморозки уже началась.

Новость: https://www.opennet.ru/opennews/art.shtml?num=62893

Расписание заморозки: https://release.debian.org/testing/freeze_policy.html

#debian
52👍1🎉1
shellcheck

ShellCheck — это статический анализатор скриптов на языке shell (bash, sh и других). Основная цель утилиты — помочь разработчикам выявлять и исправлять ошибки, потенциальные баги и нарушения стиля в их скриптах. ShellCheck анализирует код и предоставляет рекомендации по улучшению, предупреждая о возможных проблемах, таких как:

1. Синтаксические ошибки.
2. Неинициализированные переменные.
3. Некорректное использование команд.
4. Проблемы с кавычками и экранированием.
5. Советы по улучшению читаемости и поддерживаемости кода.

Установка:
$ apt install shellcheck


Запуск:
$ shellcheck ./noscript.sh


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

#utils #shell
🔥6👍431
Debian Popularity Contest

$ apt install popularity-contest


Собирает статистику об установленных и используемых пакетах на системе. Основная цель — помочь разработчикам понять, какие пакеты и программы наиболее популярны среди пользователей Debian.

- Сбор данных: Пакет регулярно выполняет сбор данных о том, какие пакеты установлены и как часто они используются.

- Передача данных: Собранные данные отправляются на серверы Debian, если пользователь соглашается участвовать в этом.

- Анонимность: Информация собирается анонимно, без сбора личных данных пользователя.

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

- Участие: Участие в popularity-contest является добровольным и может быть настроено или отключено пользователем.

> Salsa
> Popcon

Вот например график использования пакета vifm: https://qa.debian.org/popcon.php?package=vifm

Это очень помогает! Не выключайте =)

#utils #debian
4👌1
fontconfig

Пакет fontconfig содержит утилиты, такие как fc-cache и fc-list. Эти утилиты используются для управления и настройки шрифтов в системе. Пакет Fontconfig является важной частью для работы со шрифтами на системах Linux.

Установка пакета:
$ apt install fontconfig


Обновляет кеш шрифтов:
$ fc-cache -fv

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

-f (force): заставляет утилиту принудительно обновить кеш, даже если он кажется актуальным.

-v (verbose): включает вывод подробной информации о процессе обновления кеша.

Выводит список всех шрифтов, доступных в системе, вместе с их атрибутами:
$ fc-list | grep "My Font"


Выводит только семейства шрифтов без других атрибутов:
$ fc-list : family | sort | uniq


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

#utils
21