RubyGems와 Bundler에 패키지 쿨다운 기능을 도입해야 할까요?
공급망 공격 방지를 위해 패키지 출시 후 일정 기간 설치를 제한하는 '쿨다운' 기능을 RubyGems와 Bundler에 선택적 도입하는 방안이 논의되고 있습니다.
RubyGems와 Bundler에 패키지 쿨다운 기능을 도입해야 할까요?
공급망 공격 방지를 위해 패키지 출시 후 일정 기간 설치를 제한하는 '쿨다운' 기능을 RubyGems와 Bundler에 선택적 도입하는 방안이 논의되고 있습니다.
Конфигурация как пакет: наводим порядок в Conan так, чтобы не было мучительно больно
Все, кто плотно сидит на C++ и использует Conan, знают: сам по себе пакетный менеджер — это только полдела. Настоящее веселье начинается, когда нужно раскатать одинаковые настрйки на всю команду и десяток CI-нод. Репозитории, профили, хуки, кастомные настройки всё это хозяйство нужно как-то синхронизировать. Раньше у нас был conan config install , который тянул конфиги из git-репозитория или zip-архива. Решение рабочее, но с душком: попробуйте воспроизвести сборку двухлетней давности, если за это время мастер-ветка с конфигами улетела далеко вперед. В Conan версии 2.x (и последних минорных обновлениях) завезли киллер-фичу: conan config install-pkg . Теперь конфигурация — это полноценный пакет. Давайте разберемся, почему это меняет правила игры.
https://habr.com/ru/articles/1003146/
#Conan #C++ #C #Package_Manager #DevOps #пакетный_менеджер #конфигурация
GT-CLPM: مدير الحزم الشامل الذي طالما انتظرته مجتمع Linux
📖 المقدمة
في عالم Linux المتنوع، يواجه المستخدمون تحديًا دائمًا في التعامل مع أنظمة إدارة الحزم المختلفة. كل توزيعة لها مدير الحزم الخاص بها: APT لـ Debian/Ubuntu، DNF لـ Fedora، Pacman لـ Arch، وهكذا. هذا التنوع، رغم كونه ميزة، يمكن أن يكون مصدر إرباك للمستخدمين، خاصة الجدد منهم.
GT-CLPM يأتي كحل ثوري لهذه المشكلة - مدير حزم موحد يعمل على جميع توزيعات Linux تقريبًا!
🎯 ما هو GT-CLPM؟
GT-CLPM (GNUTUX Command Line Package Manager) هو مدير حزم شامل مفتوح المصدر، صممه المطور SalehGNUTUX، بهدف تبسيط إدارة الحزم عبر توزيعات Linux المختلفة من خلال واجهة سطر أوامر موحدة وسهلة الاستخدام.
✨ المميزات الرئيسية
🔧 كيف يعمل؟
الهيكل التقني
يستخدم GT-CLPM آلية ذكية للكشف التلقائي عن مدير الحزم المناسب لنظامك، ثم يقوم بتوجيه الأوامر إلى المدير الأصلي مع تقديم واجهة موحدة.
# مثال على الكود الذي يكشف مدير الحزم
detect_package_manager() {
if command -v apt &> /dev/null; then
echo "apt"
elif command -v dnf &> /dev/null; then
echo "dnf"
# ... وهكذا لبقية المديرين
fi
}الوظائف الأساسية
🚀 طريقة الاستخدام
التثبيت السهل
# التثبيت برمزة واحدة
curl -fsSL https://raw.githubusercontent.com/SalehGNUTUX/GT-CLPM/main/install.sh | bashالتشغيل
gt-clpmالواجهة التفاعلية
عند تشغيل البرنامج، تظهر قائمة رئيسية منظمة:
🏠 القائمة الرئيسية
1. 📦 عمليات مدير الحزم
2. 📱 مدير فلاتباك
3. 🔧 مدير سناب
4. ⚙️ أدوات النظام
5. 🛠️ الإعدادات
0. 🚪 خروج🌍 لماذا GT-CLPM مهم؟
للمستخدمين الجدد
للمستخدمين المتقدمين
للمطورين
🔮 المستقبل والتطوير
المشروع مفتوح المصدر ومرخص تحت رخصة GPLv2، مما يعني:
💡 حالات استخدام عملية
للإدارة المنزلية
# تحديث جميع الأنظمة بغض النظر عن التوزيعة
gt-clpm → تحديث حزم النظاملبيئات العمل
# نسخ احتياطي لقائمة الحزم على أجهزة متعددة
gt-clpm → أدوات النظام → نسخ احتياطي لقائمة الحزمللتعليم
# تعلم إدارة الحزم بطريقة موحدة
gt-clpm → معلومات الحزم → أدخل اسم الحزمة🎉 الخلاصة
GT-CLPM ليس مجرد أداة تقنية، بل هو جسر يربط بين توزيعات Linux المختلفة، ويسهل رحلة المستخدم في عالم المصادر المفتوحة. يمثل المشروع نقلة نوعية في:
🔗 روابط مهمة
التثبيت: curl -fsSL ... | bash
*جرب و أخبرنا بانطباعك.🚀
#bash #linux #package_manager #shell_script #ubuntu #fedora #archlinux #arabic #opensource #OpenSource #Linux #SystemAdministration #PackageManagement #ArabicDeveloper #TechInnovation #GTCLPM #Linux #PackageManager #مدير_حزم #لينكس #عربي #مفتوح_المصدر #GNUTUX
[Перевод] Год с uv — инструментом управления Python-проектами: плюсы, минусы и стоит ли переходить
uv — это новый инструмент управления Python-проектами, разработанный командой Astral. За год активного использования автор протестировал его в разных условиях: от учебных задач до сложных production-проектов. В статье — честный разбор сильных и слабых сторон uv, его отличий от других менеджеров окружений, реальных ограничений и сценариев, где он работает особенно хорошо.
https://habr.com/ru/companies/otus/articles/903578/
#dependency_management #uv #python #управление_пакетами #package_manager #pip #venv
HowTo: создание двоичного SDK(набора библиотек) для Windows с использованием vcpkg
В этом HowTo мы рассмотрим подготовку пакетов vcpkg для использования в двоичном виде. В качестве "подопытных кроликов" будут выступать Qt6 , QCustomPlot и я. Spoiler: с QCustomPlot придется немного пострадать, но обычно все проще. TLDR: vcpkg export Далее
Сборка Debian пакетов для расширений PHP
Так исторически сложилось, что мы используем некоторые не очень популярные расширения PHP, написанные и кое как (почти никак) поддерживаемые своими авторами, которых нет в типовых источниках deb-пакетов. У нас постулируется принцип "нормально делай — нормально будет", поэтому у нас не приветствуется slackware-style установка бинарников в систему вне пакетных менеджеров. Поэтому будем собирать полноценные deb-пакеты для расширений PHP, не ломая совместимость с существующим окружением. Пойдём-ка покомпилируем-ка
Управление зависимостями в Javascript заходит на новый виток? Работа с ES модулями без сборщиков
Изначально эта статья задумывалась, как рассказ о различиях и назначении полей dependencies , devDependencies и peerDependencies в package.json . Эту тему выбрали ребята в моем телеграм-канале , кстати подписывайтесь, если еще не. Однако, когда я посмотрел количество контента на эту тему, то понял, что его достаточно даже в русском сегменте. При этом я прочитал одну статью , которая показалась мне очень хорошей, а также там были мысли на тему будущего управления зависимостями. В итоге, я решил кратко пересказать вышеупомянутую статью, чтобы лучше самому усвоить тему, а также набросать проект по управлению зависимостями прямо на клиенте, через ES Modules. Так что вы можете прочитать либо оригинальную и полную статью у автора, либо сокращенную версию в первой половине этой статьи. А разбор работы ESM будет во второй половине .
https://habr.com/ru/articles/825424/
#npm #yarn #pnpm #javascript #node #esm #commonjs #dependency_management #package_manager
Что выбрать: Npm, Yarn или Pnpm?
На данный момент у нас используются три самых популярных менеджера пакетов (Npm, Yarn и Pnpm). И всё бы ничего, но разные команды начали периодически обращаться с проблемой несоответствия типов Typescript из наших транзитивных зависимостей. Выяснилось что это проблема Npm и Yarn, но как же её решать? На ум сразу приходит самое очевидное решение: следить за версиями всех зависимостей в своих проектах и вовремя обновлять. К этому, естественно, необходимо стремиться всегда, но мы понимаем, на практике что это крайне сложно, а в legacy-проектах или в проектах, у которых нет постоянной поддержки и вовсе нереально. Следующим вариантом созрел Pnpm, тем более что в наших монорепах он себя уже продолжительное время отлично показывал. Я решил испытать его на действующих клиентских приложениях.