Весь контент Ciko
-
В Installation guide втомився, застосовую archinstall
"Вибирай робочий стіл і погнали в archinstall" Інструмент для встановлення Arch розвивається повільно і неохоче, типу "Так і бути, ось вам". Поки що в ньому не все працює як треба, але встановлення їм уже простіше і швидше, ніж за керівництвом. Більшість оглядів і роликів про archinstall зроблено в VM або з авто розміткою всього диска. Далі йдеться про те, про що вони через це не розповідають. На деяких ПК зі старим BIOS неможливо завантажитися з USB, використовуючи grub. Він знайомий, але прописаний тільки для завантаження з CD. Не у всіх iso-образах є відповідні завантажувачі, наприклад, у Manjaro їх немає, але в Arch додають syslinux. Я спробував кілька рекомендованих способів створення флешки і тільки RUFUS (в режимі iso) зробив відповідну, але потрібні правки. Завантаження переривається з повідомленням: Waiting 30 seconds for device /dev/disk/by-uuid/2024-01-01-16-44-54-00 ... Відкриваємо на флешці /boot/syslinux/archiso_sys-linux.cfg і керуємо рядком 9. Якщо iso буде від іншої дати, мітка флешки буде іншою, її і вписувати. У рядку 8 я прибрав amd-ucode.img. Для UEFI/CSM та чистого UEFI зазвичай підходить Ventoy. Для UEFI у Boot menu вибирати не перший, а другий рядок з назвою флешки, потім образ і знову другий рядок з grub2. Після завантаження Live системи не поспішайте в archinstall, спочатку налаштуйте кількість потоків. Розробники дбайливо доклали mc, скористаємося ним. Відкриваємо в ньому по F4 файл /etc/pacman.cfg , прибираємо # з рядка ParallelDownloads і змінюємо там 5 на 15. Color, VerbosePkgLists і додавання ILoveCandy на ваш розсуд, збереження F2, вихід - двічі F10. Ось тепер запустимо скрипт з проханням не перевіряти свіжість версії, так запуск буде швидше: archinstall --skip-version-check Відповідати по пунктах легко і розказано в оглядах, але на кілька моментів зверну увагу: При виборі дзеркал до Росії додати ще якусь країну, а то буде мало джерел. ESP розділ монтувати в /boot, як там просять, інакше установка перерветься з помилкою. Для старих ПК вибирайте аудіо сервер Pulseaudio. У більшості роликів та оглядів після закінчення відмовляються від chroot в систему, а дарма. У випадку з VM або BIOS зазвичай все гаразд, але з UEFI після reboot в систему не потрапите. Погоджуємось на chroot, набираємо efibootmgr і бачимо, що завантажувального запису для системи немає. Суворі лінуксоїди зможуть далі і без mc, але для зручності краще встановити: pacman-S mc . Заходимо в папку /boot і бачимо, що є завантажувальні образи, тобто. вони на розділі ESP. Це не дуже добрий варіант з багатьох причин, от і завантажувального запису через це немає. Відмонтуємо ESP розділ: umount /dev/sda1 (або /dev/nvme0n1p1 , дізнатися, що у вас - blkid ). Для перевірки відкриємо в mc папку /boot і переконаємось, що там стало порожньо. Створимо там натисканням F7 папку efi і відразу побачимо її появу - зручно контролювати. Примонтуємо до неї ESP розділ командою: mount /dev/sda1 (або nvme0n1p1 ) /boot/efi . Тепер потрібно перемістити папку grub і всі образи з /boot/efi /boot , тобто на рівень вгору. Позначаємо їх кнопкою Insert і по F6 переміщаємо в /boot , попередньо відкриту в правій панелі mc. У файлі /etc/fstab потрібно змінити точку монтування ESP розділу з /boot на /boot/efi . Все це робиться для того, щоб відповідати стандартним налаштуванням для утиліт grub. Тепер з оновленням grub та відпрацюванням хуків ви зможете потрапити до системи після перезавантаження. На команду установки завантажувача grub-install без параметрів отримаємо відгук: No error reported. Командою efibootmgr побачимо, що в nvram з'явився завантажувальний запис arch, причому він буде першим у BootOrder. Якщо на ПК є інші системи і хочеться запускати їх з меню grub, потрібно встановити os-prober і відкрити рядок GRUB_DISABLE_OS_PROBER=false у файлі etc/default/grub . Оновлюємо конфігураційний файл: grub-mkconfig -o /boot/grub/grub.cfg Тепер exit зі стану chroot і, вже спокійно, reboot . Навіть із зазначеними додатковими діями, установка Arch за допомогою archinstall набагато простіше і швидше, ніж за керівництвом. Якщо писатимете огляд про Arch, додайте якусь родзинку в знімок або текст, а то простих "А у мене тепер Arch" тут вже достатньо.
-
Монтування спільної папки в Linux Mint
Система: Linux Mint 21.3 Virginia x64 - 5.15.0-94-generic x86_64 Для обміну та спільного доступу групи користувачів до папок та файлів можна створити та змонтувати спільну папку, яка відображатиметься у файловому менеджері для зручності та швидкого доступу. Папок можна створити кілька, ще можна створити спільні папки кожного користувача, встановити права змінювати та зберігати файли лише власнику, а доступ та перегляд усієї групи. ПідготовкаНатисканням кнопок [Ctrl+Alt+T] відкриється вікно терміналу. Отримання прав root (далі без sudo) sudo suСтворення папки у /media mkdir /media/allusersВстановлення прав доступу до групи users (всі користувачі додані до групи) chmod -R g+rwx /media/allusers && chown -R root:users /media/allusers Монтування папкиМонтування mount --bind /media/allusers/ /media/allusers/Розмонтування umount /media/allusers/Монтування під час завантаженняЗробити резервну копію файлу fstab. Додавання рядків монтування у файл fstab echo "# All Users - Общая папка для группы users /media/allusers/ /media/allusers/ auto" >> /etc/fstabПеревірка монтування параметрів із файлу fstab mount -aРедагування fstab у разі помилки (додані рядки будуть в останніх рядках файлу) xed /etc/fstabВихід з-під root exitПерезавантажити комп'ютер. Після перезавантаження папка буде змонтована та з'явиться у файловому менеджері. Які використовувати імена папок, груп, програм кожен вирішує сам. Ідеї створення спільної папки підійдуть і для інших дистрибутивів, будуть відмінності в командах та параметрах, використовуйте відповідні для вашої системи.
-
Очищення кешу пакетів мендежера Pacman в ArchLinux
Розташування та розмір кешуКеш pacman розташований у директорії /var/cache/pacman/pkg/ Дізнатись розмір кешу: du -sh /var/cache/pacman/pkg/Установка утиліти paccacheУтиліта paccache знаходиться в пакеті pacman-contrib . Встановлення: sudo pacman -S pacman-contribОчищення кешуДля видалення пакетів із кешу необхідно запустити утиліту paccache з ключем -r . Розглянемо кілька варіантів використання утиліти. Видалити всі кешовані пакети, крім трьох останніх для кожного пакета: sudo paccache -rВ результаті я очистив більше 27GB: Видалити всі кешовані пакети, але вказати кількість версій, які потрібно залишити, використовується ключ -k , за яким вказується кількість. Видалимо всі кешовані пакети, але залишимо по дві останні версії: sudo paccache -rk2Видалити всі кешовані пакети, яких вже немає в системі (вже були видалені з системи, але архівні є в кеші) - використовується ключ -u : sudo paccache -ruk0Довідка по paccacheПерегляд усіх опцій команди paccache: paccache -h Довідка з paccache: man paccache
-
Аналоги сервісів Google, або як втекти з монополії
Аналоги з відкритим вихідним кодомGoogle ChromeLibreWolf (форк Firefox) - браузер, що ставить вашу приватність понад усе. LibreWolf пропонує вбудовані налаштування, що дозволяють, наприклад, блокувати канваси на сайтах, виконання сторонніх Java-скриптів та багато всього смачного. По суті - це налаштована лисиця, тільки не треба длубатися в about:config, а відразу поставив і воно готове. Сам використовую як другий браузер, а тому можу ручатися за волеволка, тут вже точно. Проект опубліковано під ліцензією MPL 2.0. Brave (Chromium-based) – непогане рішення, якщо подобається Chromium. Brave пропонує досить приватний досвід за умовчанням. Має вбудований блокувальник реклами (працює, до речі, не дуже, uBlock Origin forever), добре блокує cookie та трекери різних синіх сайтів з літерою F і T. Заснований на Chromium, а тому і швидше фурич, ніж той же LibreWolf. Brave використовую як основний браузер, точно можу порадити до використання. Опубліковано під ліцензією MPL 2.0. Google ПошукКласичний Google дуже любить логувати ваші пошуки, проте я можу запропонувати ті ж релевантні запити, але тільки без цієї телеметрії. SearX - мета-пошуковий двигун, що дозволяє використовувати хоч усі пошукові системи в одному флаконі. Ви вільні вибрати, в яких пошукових системах шукатиметься ваш запит, гнучко налаштувати зовнішній вигляд пошуку, мову запиту, місцезнаходження та купу всього іншого. У SearX ви можете поставити пошук у тому ж Google, наприклад, і отримувати хороші та релевантні варіанти. Якщо хочете зовсім піти від Google, приберете галочку і вліпите качку-качку, якийсь metager, і буде вам щастя. Проект опубліковано за ліцензією AGPL 3.0. PS SearX можна розгорнути як на локальному хості, так і користуватися чужими ресурсами. На сайті https://searx.space/ можна переглянути найкращі варіанти для вас та вашого регіону. Google ХмараNextcloud – особистий хмарний диск на своїх потужностях. Nextcloud став для мене приємним відкриттям, яке я використовую щодня. Мною придбали маленький Orange Pi, туди встановлений Debian, HTTP-сервер, база даних і MySQL для роботи з нею. Далі на цій базі було встановлено Nextcloud та підключено жорсткий диск для зберігання даних. Вся процедура зайняла не більше 2-3 годин, що не може не тішити. Nextcloud має гарний та функціональний інтерфейс. При цьому він простий і зрозумілий (не складніше за Google Drive), так що ваша бабуся точно розбереться. Можна створювати багато користувачів, гнучко налаштовувати можливості. Синхронізація з Linux, Windows, Android є. Тож як альтернатива корпоративним рішенням - варіант на 12/10. Опубліковано за ліцензією AGPL 3.0. GmailТут можна розбитися на два табори – підняти свій SMTP-сервер або скористатися готовими рішеннями. Розгорнути свою пошту нескладно, проте далеко не кожен захоче так морочитися. Тому можу запропонувати безкоштовне і готове рішення - ProtonMail . Не розкриває власника скриньки (були такі запити) сервера в Швейцарії. За своє існування заслужила довіра серед мешканців Інтернету. Сам використовую як основну скриньку, проте є проблемки з відправкою листів на .ru домени. Однак це не проблема протона, а органу влади на 3 літери. Опубліковано за ліцензією GPL 3.0. YouTubeЯ вважаю, що альтернатив YouTube, що стоять, - немає. Я знаю про існування PeerTube, Odysee, RuTube (боже борони), однак вони не можуть дати тієї джерело контенту, який доступний на YouTube. Однак, як альтернатива, я можу запропонувати більш приватні front-end-клієнти, які дозволять мати той самий рівень контенту, але без стеження та таргетованої реклами від Google. FreeTube – зручний десктоп-клієнт, з можливістю підписки на канали та інші плюшки. На Пінгвінусі була чудова стаття, з якої я дізнався про цю чудову програму. Проект опубліковано за ліцензією AGPL 3.0. Individious – сайт для приватного перегляду YouTube. По суті ви просто заходите туди, шукаєте ролик і дивіться. Доступні підписки та завантаження відео на пристрій. За аналогією з SearX можна як самому завоювати Individious, так і скористатися вже готовими рішеннями. Проект опубліковано за ліцензією AGPL 3.0. Google MeetGoogle дуже зручний конференц-сервіс, проте за історію його існування було багато неприємних зливів інформації, що означало повне логування відеоконференцій. Щоб уникнути великого ока, можна скористатися Jitsi . Jitsi - це зручний сервіс відеоконференцій, що пропонує як готове рішення (створити конференцію та запросити друга) на серверах спільноти, так і можливість самостійного хостингу Jitsi. Інтерфейс простий та досить функціональний. Я сам іноді використовую Jitsi у сімейних дзвінках – ніхто сильно не скаржиться. Проект опубліковано за ліцензією Apache 2.0. Google MapsЄдиним гідним та зручним сервісом є OpenStreetMap . Карту активно доповнюють, добре передано регіони більшості країн. Вміє будувати маршрути, шукати різноманітні заклади. Проект опубліковано під ліцензією ODbL (Open Data Base License).
-
Встановлення та налаштування Alpine Linux
Ми маємо складну конфігурацію, тому ми будемо використовувати напівавтоматичну установку (Semi-Automatic Installation). Перші етапи встановлення досить прості, тому я обмежусь короткими коментарями. Розкладка. setup-keymap us usІм'я хоста. setup-hostname alphpvi /etc/hosts 127.0.0.1 localhost.localdomain localhost alphp.localdomain alphp ::1 localhost.localdomain localhost alphp.localdomain alphprc-service hostname restartДалі налаштовуємо мережу. У посібнику користувача рекомендується уникати використання бездротового підключення, але ми ризикнемо. setup-interfacesВибираємо наш бездротовий інтерфейс, зазвичай це wlan0, вибираємо нашу мережу та вводимо пароль. Незважаючи на попередження розробників не використовувати DHCP при бездротовому підключенні, ми ризикнемо і цього разу. Просто натискаємо Enter на всі наступні питання, щоб використовувати значення за промовчанням. Коли запропонують перейти до налаштування наступного інтерфейсу мережі, вводимо "done", щоб завершити конфігурування. Запускаємо сервіс. rc-service networking startПеревіряємо, чи з'явився доступ до Інтернету. У моєму випадку все працює чудово. ping alpinelinux.orgНалаштовуємо часовий пояс. setup-timezoneНалаштовуємо репозиторії. У діалоговому меню скрипта вибираємо опцію "c" для підключення репозиторію спільноти, потім "f", щоб автоматично встановити найшвидше дзеркало. setup-apkreposПісля цього вручну редагуємо файл із репозиторіями: вказуємо як джерело пакетів не v3.19, а latest-stable. Таким чином, після виходу наступної стабільної версії дистрибутива ми автоматично оновимося до неї. vi /etc/apk/repositories /media/sdb/apks https://mirror.ua/mirrors/alpine/latest-stable/main https://mirror.ua/mirrors/alpine/latest-stable/communityВстановлюємо пароль суперкористувача. passwdНалаштовуємо SSH, всі елементи залишаємо за замовчуванням. setup-sshdНалаштовуємо NTP-сервер. Залишаємо всі елементи за промовчанням. setup-ntpОстанній інсталяційний скрипт перед встановленням системи - це setup-disk, проте ми не будемо його використовувати зараз, оскільки в цьому випадку він встановить Alpine Linux на весь диск. Перевіряємо про всяк випадок, чи ми використовуємо BIOS або UEFI. test -d /sys/firmware/efi && echo UEFI || echo BIOSУ моєму випадку це UEFI, тому ми будемо проводити встановлення для UEFI. У контексті оптимального налаштування операційних систем, я дотримуюся думки про необхідність наявності окремого розділу завантаження та swap-розділу для кожної ОС. Однак, у випадку Alpine, я волію не створювати окремий swap-розділ і замість цього скористатися вже існуючим swap-розділом Debian. У той же час, я планую створити окремий розділ для Alpine. Схоже, вийде неконвенційна, але цілком працездатна конфігурація. Встановлюємо cfdisk для розмітки диска. apk add cfdiskОсь як виглядає розмітка диска зараз. /dev/sda1 EFI System /dev/sda2 Microsoft Reserved /dev/sda3 Microsoft Basic Data /dev/sda4 Windows Recovery Environment /dev/sda5 Linux filesystem /dev/sda6 Linux swap /dev/sda7 EFI System /dev/sda8 Linux Filesystem Free spaceЗа допомогою cfdisk створюємо окремий розділ EFI і розділ для кореня системи. /dev/sda1 EFI System /dev/sda2 Microsoft Reserved /dev/sda3 Microsoft Basic Data /dev/sda4 Windows Recovery Environment /dev/sda5 Linux filesystem /dev/sda6 Linux swap /dev/sda7 EFI System /dev/sda8 Linux Filesystem /dev/sda9 EFI System /dev/sda10 Linux FilesystemСтворюємо файлові системи та монтуємо кореневий розділ та розділ /boot. Swap-розділ буде примонтований після завершення встановлення. apk add e2fsprogs dosfstools mkfs.ext4 /dev/sda10 mount /dev/sda10 /mnt mkdir /mnt/boot mkfs.fat -F 32 /dev/sda9 mount /dev/sda9 /mnt/boot Тепер коли все змонтовано, встановлюємо дистрибутив у відповідні розділи. setup-disk /mntПісля того, як всі файли будуть скопійовані, виймаємо інсталяційний носій і перезавантажуємося в нову систему. За замовчуванням Alpine використовує командну оболонку ash, але мені подобається bash. apk add bash bash-completionЩоб не працювати постійно від імені root, створимо користувача. adduser -h /home/apem -s /bin/bash apemВ Alpine Linux для підвищення привілеїв традиційно використовується утиліта doas, але вона мені не підходить, тому я встановлю та настрою sudo. apk add sudo vi /etc/sudoers Defaults rootpw Defaults env_reset, timestamp_timeout=0 Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" Defaults use_pty root ALL=(ALL:ALL) ALL %sudo ALL=(ALL:ALL) ALL apem ALL=(ALL:ALL) ALL Час встановити графічне середовище. Я встановлю свій улюблений Xfce. Вражає, наскільки швидко працює пакетний менеджер apk ;) setup-xorg-base apk add xfce4 xfce4-terminal xfce4-screensaver lightdm-gtk-greeter setup-devd udev rc-service lightdm start rc-update add lightdm defaultПерезавантажимося з консолі tty у графічне середовище X11. Змонтуємо та включимо swap-розділ. Подивимося номер swap-розділу та його UUID. fdisk -l blkidЗапишемо його до /etc/fstab. vi /etc/fstab UUID=87e1013a-44a2-4d48-8ef6-d7884b50803b none swap sw 0 0Включимо сервіс та додамо до автозапуску. rc-update add swap default rc-service swap startНа жаль, з графічного середовища ми не можемо вимкнути, перезавантажити чи відправити в режим очікування ноутбук. Виправимо це. apk add elogind polkit-elogind rebootДодамо довідкові сторінки. apk add mandoc man-pages mandoc-apropos less less-docНалаштуємо автомонтаж зовнішніх накопичувачів. apk add gvfs udisks2Налаштуємо підвищення привілеїв для утиліт з графічним інтерфейсом. rc-update add elogind default rc-service elogind startЗдавалося б, усе є, але не вистачає останнього звуку! Я зазвичай використовую pulseaudio, але розробники наполегливо рекомендують pipewire, тому я піду їхню пораду. addgroup apem audio addgroup apem video apk add pipewire wireplumber pipewire-pulseaudio pavucontrol xfce4-pulseaudio-plugin rebootМінімальне встановлення системи завершено. Все необхідне на місці і функціонує, залишається лише налаштувати специфічні для використання параметри. На скріншотах представлена система, яку вже не можна вважати повністю мінімальною, оскільки я завантажив десяток інших утиліт і довідкових сторінок (так, довідкові сторінки в Alpine встановлюються окремим пакетом). Стандартна версія Alpine Linux з базовим налаштуванням і Xfce займає всього близько 400 пакетів. Це чудовий вибір для любителів мінімалістичних систем.
-
Встановлення дистрибутивів Linux у WSL
Встановлення та налаштування WSLДля того, щоб компоненти WSL могли працювати на комп'ютері, необхідно переконатися, що в налаштуваннях BIOS включена підтримка апаратної віртуалізації. Під час завантаження комп'ютера за допомогою клавіші, визначеної виробником (зазвичай одна з наступних: " Esc ", " Del ", " F2 ", " F9 ", " F10 "), заходимо в налаштування BIOS. Даний пункт налаштувань може мати таке найменування та розташовуватися в розділі: System Configuration -> Virtualization Technology -> EnabledАбо, наприклад: Advanced -> Virtualization Technology -> EnabledПісля того, як підтримка апаратної віртуалізації активована, запуск Windows. Поставимо "галочки" у відповідному розділі Панелі керування Windows, щоб активувати WSL. Пуск -> Служебные - Windows -> Панель управления -> Программы -> -> Включение или отключение компонентов Windows -> Подсистема Windows для Linux Пуск -> Служебные - Windows -> Панель управления -> Программы -> -> Включение или отключение компонентов Windows -> Платформа виртуальной машиныПісля цього Windows завантажить необхідні компоненти та попросить перезавантажити комп'ютер. Перезавантажуємо комп'ютер. Відкриваємо вікно терміналу PowerShell. Щоб відкрити PowerShell, затискаємо Shift + ПКМ (права кнопка миші) у вільній області Робочого столу і вибираємо в контекстному меню " Відкрити вікно PoweShell тут ". Вводимо у вікно PowerShell такі команди. Ця команда встановить як основну другу версію WSL - WSL2. Оскільки перша версія WSL була визнана Microsoft невдалою і не підтримується. wsl --set-default-version 2Наступна команда завантажить та встановить необхідні для коректної роботи компоненти WSL: wsl --updateПісля цього Windows Linux на комп'ютері готова до роботи. Встановлення дистрибутивів Linux із командного рядка PowerShellДля того, щоб переглянути список офіційно підтримуваних WSL і готових до завантаження дистрибутивів Linux, вводимо в термінал PowerShell команду: wsl --list --onlineСписок дистрибутивів у моєму випадку виглядає так: PS C:\Users\UlyssesJJ> wsl --list --online Нижче наведено список допустимих дистрибутивів, які можна встановити. Для встановлення скористайтесь командою "wsl.exe --install <Distro>". NAME FRIENDLY NAME Ubuntu Ubuntu Debian Debian GNU/Linux kali-linux Kali Linux Rolling Ubuntu-18.04 Ubuntu 18.04 LTS Ubuntu-20.04 Ubuntu 20.04 LTS Ubuntu-22.04 Ubuntu 22.04 LTS Ubuntu-24.04 Ubuntu 24.04 LTS OracleLinux_7_9 Oracle Linux 7.9 OracleLinux_8_7 Oracle Linux 8.7 OracleLinux_9_1 Oracle Linux 9.1 openSUSE-Leap-15.5 openSUSE Leap 15.5 SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4 SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5 openSUSE-Tumbleweed openSUSE TumbleweedЩоб встановити дистрибутив зі списку, скористаємося цією командою, де " debian " - назва дистрибутива: wsl --install -d debianПісля чого буде завантажено і встановлено відповідний дистрибутив. Під час встановлення буде запропоновано створити стандартного користувача та придумати для нього пароль. Робочий дистрибутив Linux у Windows готовий до роботи! Встановлення дистрибутивів Linux із Microsoft StoreІнші дистрибутиви, доступні для встановлення, можна знайти в офіційному магазині програм Windows — Microsoft Store. Встановлення таких дистрибутивів не відрізняється від встановлення офіційно підтримуваних. Продемонструємо це з прикладу дистрибутива Alpine Linux. У пошуковому рядку Microsoft Store пишемо " Alpine WSL ", після чого завантажуємо відповідний додаток. Після завершення завантаження і установки відкриваємо ярлик, що з'явився: Пуск -> Все приложения -> Alpine LinuxВідкривається термінал. Створюємо стандартного користувача та вигадуємо для нього пароль. Проводимо специфічні для Alpine первинні налаштування - змінюємо права доступу до кореневих директорій (некурсово): su - c "chmod 755 /"Дистрибутив Alpine Linux повністю готовий до роботи! Утиліта WSLУ терміналі PowerShell утиліта WSL підтримує безліч аргументів управління дистрибутивами. Наприклад, завершити роботу всіх дистрибутивів на комп'ютері можна командою: wsl --shutdownА змінити пароль суперкористувача, якщо початковий забули, так: wsl --user root --distribution debian passwdВидалити дистрибутив: wsl --unregister debianБільше інформації про опцію WSL: wsl --helpВисновокЯк було продемонстровано вище, встановлення та налаштування WSL дуже проста і не вимагає вузькоспеціалізованих знань. WSL підійде впевненим користувачам Linux, які іноді користуються ОС Windows і при цьому не хочуть втрачати багатства командного рядка UNIX. Також WSL може бути корисним новачкам, які хочуть спробувати Linux, але поки що не готові встановити повноцінний дистрибутив Linux через будь-які причини.
-
Основи OpenRC команди та рівні запуску
Runlevel або "Рівні запуску"Думаю, назва говорить сама за себе: Рівень виконання (Runlevel) є рівнем запуску процесів при ініціалізації системи. Усього існує 7 стандартних рівнів, проте швидше за все ви використовуватимете лише 3: sysinit, boot, default. Чим відрізняються ці "runlevels"? sysinit - ініціалізує систему та базові компоненти. Наприклад: cgroups, devfs, sysfs, udev. boot - запускає всі процеси, необхідних роботи операційної системи чи інших процесів. Наприклад: bootmisc, hwclock, modules, swap, root. default – запускає вже "кастомні" процеси користувача. Наприклад: dbus, cupsd, elogind, ntpd та інші. У більшості випадків вам вистачить використання рівня "default", тому подивимося, як додати потрібний демон в автозавантаження: # rc-update add имясервиса defaultЩоб видалити сервіс, напишемо таке: # rc-update del имясервиса defaultУправління станом сервісуДля старту демона напишемо: # rc-service имясервиса startЩоб перезавантажити: # rc-service имясервиса restartДля завершення процесу використовуємо: # rc-service имясервиса stopЛістинг доступних сервісів та їх рівень запуску# rc-update show -vВаші власні "демони", або скрипти запуску команд під час стартуВсі послуги розміщуються в директорії /etc/init.d. Відповідно, перейдемо туди: cd /etc/init.dПрипустимо, ми хочемо завантажувати головну сторінку pingvinus.ru на наш комп'ютер локально до директорії /home/user/webpages. Для цього створимо файл (назва може бути будь-яким) і напишемо туди такий зміст: #!/sbin/openrc-run depend () { need networking after bootmisc } start() { wget -P /home/user/webpages pingvinus.ru }Поясню за змістом файлу. Функція depend відповідає за вимоги, які мають бути виконані перед запуском нашої команди. В даному випадку ми вимагаємо наявність виходу в Інтернет та запуску процесу після старту bootmisc (повна базова ініціалізація). Якщо вашому софту, наприклад, потрібен D-Bus для роботи, обов'язково вкажіть його після after, а інакше процес може не запуститися або працювати некоректно. Після всіх змін ми зберігаємо файл і даємо йому дозвіл на запуск за допомогою наступної команди: # chmod +x pingvinusДалі додамо його до автозавантаження: # rc-update add pingvinus defaultБраво! Ми написали найпростіший сервіс OpenRC! Відстеження стану сервісівСтан усіх сервісів: # rc-status --servicelistСтан одного конкретного демона: # rc-service имясервиса statusСвої рівні запуску та як це може допомогтиЗмоделюємо ситуацію: ви хочете проксирувати ваш трафік до якоїсь країни N. І ви хочете, щоб це було на найнижчому рівні. Для цього ви можете створити новий рівень запуску та створити там кастомні скрипти для проксіювання. Такий підхід виключає можливість конфлікту сервісів і робить управління цією системою зручнішим і логічним. Для того щоб створити новий runlevel напишемо наступне: # install -d /etc/runlevels/названиеДалі просто додайте потрібні послуги через rc-update та насолоджуйтесь життям. Контроль над сервісами, що впалиЗа промовчанням OpenRC намагатиметься запустити їх знову, однак у деяких випадках це може призвести до ще більш небажаних наслідків. Тому ви можете налаштувати правило поведінки при збої сервісу /etc/rc.conf: .... rc_crashed_stop=YES/NO # зупиняти або НЕ зупиняти сервіс, що впав rc_crashed_start=YES/NO # запускати або НЕ запускати зламаний процес
-
Встановлення Calculate Linux Scratch (CLS)
Calculate Linux Scratch ( CLS ) - базова гола система, після встановлення 400+ пакетів, а все інше вже довстановлюєш і налаштовуєш самостійно. Введення та підготовкаПершого дня сидів і складав команду виду: cl-install портянка всяких параметров для установки на соседний SSD со своими хотелкамиКоманду складав згідно з «cl-install--help | more» за пунктами (дужки в хелпі для краси). Коли команда була готова, пробував на запуск і дивився, що мені пропонується. На другий день виправляв помилки. Установник сам вказував на невірно задані параметри, завдяки підказкам та висновку я їх підправив, в усуненні проблем ще допомогли чат ТГ та scorpii. Після запуску пропонується ввести паролі рута та користувача. NM не поставляється у CLS образі, а я його шукав. Моя команда підсумкова: cl-install -l "Русский (Россия)" ru_RU --timezone Europe/Samara -k "English" en_US --hwclock local --iso '/mnt/Archive/Linux/Calculate Linux/cls-20240503-x86_64.iso' -d /dev/sdc1::btrfs -d /dev/sdc3:/var/calculate:btrfs -d /var/calculate/home:/home --hostname cls --root-password --grub-passwd ON -u xfce:all:sudo,wheel,default -C OFF --video nouveau --grub-terminal gfxterm --fb 1920x1080-32 -a ON -I 1d --clean-pkg ON -o ONПісля першої установки та авторизації під root користувачем команда cl-update відпрацювала успішно, тобто була мережа, але не завжди (при наступних установках) нестабільно. На третій день у встановленій системі накочував (не)необхідне через мережу . Графічне оточення Xfce встановлено частково в CLI, пізніше з робочої ОС через chroot підключився до встановленої та перевірив, чи довстановив 3 пакети, плюс переніс свої конфіги xfce'шні. Базова система працювала, DE завантажувалося, але без чудово: не налаштовано, немає косметики, не відгукувався пакет calculate-utils , не було DM, тому авторизація через консоль. Ще з'ясував, що немає сертифікатів користувача, без яких не працюють калькоутиліти , а без них і калька не калька. Інструкція для (пере)створення сертифікатів Calculate: От юзера $rm -r ~/.calculate/client_cert От рута #rm -r /var/calculate/server #cl-core --gen-root-cert Enter the certificate date manually? [y/n]: n #cl-core --use-root-as-server #/etc/init.d/calculate-core restart #cl-core -u имя_юзера #/etc/init.d/calculate-core stop $cl-console-guiНа четвертий день, вже отримавши якийсь досвід, вирішив все знести і почати заново. Тому знову запустив ту команду, але система успішно не завантажувалася взагалі ніяк нічого не допомагало, включаючи зміну команди, переустановки, chroot. Смуток ... ( пізніше я зрозумів, що намутив з розміткою і не помітив цього ). Але тепер є досвід розбиття розділів, якого раніше не було, тож пішов у графічну консоль ставити звідти. З N днів перепробував різні варіанти: серед них гола консоль з перебором своїх параметрів (установка командою cl-install з працюючої системи), введення цих же команд при завантаженні cls з флешки - тут пробував і свої готові з правкою, на які лаявся установник, і склав нові команди, спрощений варіант прямо там, згідно ' more' , але установник їх не прийняв . Тут також не пішло. ВстановленняОписані вище способи мали суттєві чи не дуже мінуси, головне – я не міг завантажити ОС. Максимум система визначалася в сусідній і додавалася grub.cfg при виконанні команди 'grub-mkconfig-o /boot/grub/grub.cfg' , ніякої закономірності я не виявив. Може, і є на форумі способи створення grub, не шукав. Завантажував лише із сторонньою допомогою. Тоді повернувся до варіанта встановлення з графічної консолі. Цей варіант є найпростішим та найшвидшим. Тут є наочна розмітка розділів (або вибрати вже створені, задавши їм точки), мережеві налаштування підхоплюється автоматично і переносяться, як і деякі інші кроки з працюючої системи, крім pipewire (не поставляється в cls), образ я скачав свіжіший. У такому варіанті оновлення grub відбувається і зміни прописують куди потрібно як за початкової установки, тому система запускається без сторонньої допомоги. Ще через кілька днів і переустановок (так-так, я любитель переустановок і закріплення результатів щоб уникнути похибок і помилок, привіт «Закон малих чисел», це ж допомагає набити руку і закріпити досвід) зрозумів, що всі описані вище варіанти мали проблеми або не було стабільного результату, повернувся до найбільш простого варіанта, повернувся до найбільш простого варіанта режиму. Мінус підходу без гнучкості, властивої cl-install. На цей раз встановив з авторозміткою, заздалегідь зберігши потрібне з того SSD. У такому випадку установник створює маленький розділ, як його створити самостійно, я не зустрічав, а за аналогією з поточною системою в GParted створити не вдалося. Графічний установник теж про нього не знає, є галочка «Встановити UEFI завантажувач», але, по-перше, у мене система не завантажена як UEFI, по-друге, раніше завантажувач не ставився і на цьому етапі виринала помилка, при цьому все одно система себе прописує куди потрібно, успішно завантажувалася, етапи конфігурування grub. Завантажувач не ставиться вже давно (якщо його відзначити пташкою під час встановлення у графіку, установник видавав помилку на етапі налаштування grub). Згодом все-таки знайшов матеріал про те, як розмітити розділи в Calculate правильно (тут знову ж таки подяка scorpii, який мені раніше підказав у коментарях раніше). Але про завантажувальний розділ не згадується. Коли успішно завантажив ту систему і без додаткових маніпуляцій, то спочатку створив сертифікати користувача (відповідно до інструкції вище), потім оновив через cl-update , встановив sudo. Користувач не був рутовим, навіщо його прописав у /etc/sudoers (схоже, на етапі установки я не додав його до потрібної групи). Зі встановленої підключився через chroot, встановив світ (world, цього разу тільки світ, не штовхаючи інші мережі), Xfce, в файл /etc/conf.d/display-manager додав рядок для запуску SDDM, який працює стабільніше (хоча ця сутність не рідна), ніж LightDM. Для мого користувача прописаний автовхід, що задається в налаштуваннях конкретного DM, як правило, папка /etc/ /etc/lightdm/ /etc/sddm.conf.d/[Autologin] User=xfce Session=xfce.desktopОскільки на етапі установки це не задається, змінити ім'я хоста можна вручну у файлі /etc/conf.d/hostname. Утиліти консольні, звичного cl-console-gui тут немає, тому відеокарту вибрав командою cl-setup-video --video nvidia Система за замовчуванням виходить легшою та стерильнішою. При першому запуску було 700 пакетів. На цьому в принципі все, далі все готове до звичайного використання і до встановлення всього потрібного або не дуже. Тут стає помітно, що для деяких програм залежності вже були встановлені, тобто їх установка тягне за собою куди більше пакетів, ніж у стандартній готовій збірці, тому деякі програми замінив на більш "легкі". Заключні словаЧи коштувало воно того? Я вважаю, що так, однозначно, мені було цікаво погратися, здобути досвід створення не готової системи, а трохи докрутити її самостійно. Якщо зміг я, то й іншим це під силу за бажанням і часом, зрозуміло. Робив уперше і в мене на це пішов приблизно тиждень на початку, сумарно рахуй два тижні, займався як хобі, за бажанням, а воно було. Просто поставити та користуватися вистачить і пару днів. Мінусом можна вважати, що все-таки не вдалося поставити згідно з початковим планом, тобто через cl-install зі своїм набором параметрів, немає графічної консолі, доведеться звикати до термінальних команд.
-
Встановлюємо свої іконки каталогів у Thunar
1. Створюємо довільний каталог (ну чи папку). Поміщаємо в неї картинку у форматі jpg або png, обзиваємо її .folder або .cover (не забудьте додати потрібне розширення - jpg або png). 2. У будь-якому текстовому редакторі пишемо код: #!/bin/bash covers=("$2"/{.,}{.folder,.cover}.{jpg,png}) for f in "${covers[@]}"; do [ -f "$f" ] && { cover=$f break } done if [ -z "$cover" ] || ! convert -thumbnail "$1" "$cover" "$3"; then gdbus call --session --dest=org.freedesktop.thumbnails.Cache1 --object-path /org/freedesktop/thumbnails/Cache1 \ --method org.freedesktop.thumbnails.Cache1.Delete "['$4']" >/dev/null fi3. Зберігаємо як folder-thumbnailer 4. Робимо новий файл із таким змістом: [Thumbnailer Entry] Version=1.0 Encoding=UTF-8 Type=X-Thumbnailer Name=Folder Thumbnailer MimeType=inode/directory; Exec=sh -c '/usr/bin/folder-thumbnailer "$@"' _ %s %i %o %u5. Зберігаємо його як: folder.thumbnailer6. Файл folder-thumbnailer позначаємо як виконуваний (правою кнопкою по ньому - властивості - права - дозволити запуск цього файлу) і копіюємо його за адресою: /usr/bin7. Файл folder.thumbnailer копіюємо на адресу: /usr/share/thumbnailers8. Для коректної роботи потрібна наявність пакетів tumbler та imagemagick. А також Thunar версії 1.8.2 і вище (але це не точно)
-
Перетворюємо Calculate на Gentoo або збирання всіх пакетів під свою систему
Основні діїПрописувати потрібні параметри та змінювати потрібно вміст файлу /etc/portage/make.conf/customЗначення параметра MAKEOPTS="-j10/11" ставлю на 1-2 менше кількості потоків, доступних ЦП, щоб під час компіляції ПК не втрачав життя. Навантаження плаває ±5%, тож не зайвим залишити запас. ПроцесорУ значення цього параметра вписати доступні для ЦП інструкції, можна дізнатися, встановивши пакет cpuid2cpuflags . Хоча рекомендується файл 00cpu-flags , але я лаюся на вписане, прописано в make.conf. CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 vpclmulqdq"Значення COMMON_FLAGS , що відповідають архітектурі процесора. Відеодрайвери прописав, як у Gentoo VIDEO_CARDS="amdgpu, nvidia, nouveau" FeaturesЗначення, вписані нижче, мають пріоритет для системи перед значеннями на початку файлу, набір FEATURES для Calculate. Детальний матеріал про змінну, посилання на нього є на попередній сторінці внизу. FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles getbinpkg ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox parallel-fetch parallel-install pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch usersandbox usersync xattr". FEATURES="-getbinpkg" Команда для перевірки внесених змін emerge -pve @system @worldПісля виконаних вище операцій виконати команди для оновлення світу та звичайне оновлення emerge --ask --update --verbose --newuse --deep --with-bdeps=y @world cl-updateПотрібне воно?Я розумію, що кальку ставлять не для цього, а щоб отримати готову (бінарну) систему, але про такий варіант теж хотілося дізнатися. Мені подобається сам процес компіляції і дивитися на рядки, що біжать, в консолі під шум вентилятора - це як дивитися на вогонь, що горить, або на воду, що біжить, така собі медитація і умиротворення, а після розуміти, що пакети скомпільовані під твоє обладнання (якщо час компіляції в розумних межах, а не як збирання Chromium) Gentoo освоїти не просто, не всім під силу, іншим зовсім не потрібно, з Calculate це простіше - встановити через графіку готовий образ, а потім можна перевести в "режим складання". Я видалив, почистив від залишків і заново встановив прикладне програмне забезпечення, варто сети перевстановити, відтепер збиратимуться оновлення. Пакетів встановлено все одно більше, ніж у Gentoo, виходить такий компромісний варіант.
-
Декілька корисних команд для Linux користувачів
Ця нотатка це вичавка, мій вільний переклад статті "51 Useful Lesser Known Commands for Linux Users" ( link ). Я не став включати всі команди зі статті, відібрав собі невеликий набір, який використовую. sudo!!Повторити попередню команду, але через sudo. apt update sudo !! # Будет выполнена команда: sudo apt updatenl file.txtВивести текстовий файл та додати нумерацію рядків. ss-tulnСтатистика по сокетам та активним з'єднанням. lastІсторія входу до системи користувачами. treeВміст поточної директорії, включаючи вкладені, у деревоподібному вигляді. pstreeПоточні процеси у деревоподібному вигляді. <пробіл> командаЩоб команда не збереглася в історію команд, достатньо перед нею додати пробіл. stat file.txtДетальніша інформація про стан файлу. <alt>. та <esc> . Додамо до поточної команди останній аргумент попередньої команди. echo foo # Нажимаем сочетание клавиш <alt>. или <esc>. # В командную строку добавится: foomount | column -tЗмонтовані файлові системи у табличному вигляді. Ctrl+lОчищення вікна терміналу. file file.txtВизначити тип файлу. file ./myfile.zip ./myfile.zip: Zip archive data, at least v2.0 to extract, compression method=deflateidПоточний користувач та його групи. ^foo^barЗамінює у попередній команді foo на bar . nano file.txt ^nano^vim # Будет выполнена команда: vim file.txt> file.txtОчистити вміст файлу du -h --max-depth=1Розмір файлів та папок у поточній директорії. factor 42Виводить прості множники числа. tac file.txtВиводить вміст файлу у зворотному порядку. getconf LONG_BITВиводить розрядність поточної архітектури CPU. getconf LONG_BIT 64watch -t -n1 "date"Виконує команду, вказану в лапках, раз на секунду (кількість секунд задається після параметра -n ). lsb_release -aІнформація про дистрибутив. find. -size +100MЗнайти в поточній папці файли розміром більше 100MB.
-
Налаштування Gentoo після встановлення: драйвери, USE-прапори
1. Налаштування прав адміністратора для користувачаЩоб не сидіти постійно через root користувача, треба поставити OpenDoas для нашого користувача, щоб ми могли виконувати команди від імені адміністратора. Так, ви можете також встановити і sudo, але якщо ми використовуємо Gentoo це само по собі передбачає, що ми "не такі як всі" і ставимо більш мінімалістичний doas замість sudo. OpenDoas має підтримку "persist-mode". Цей режим дозволяє не вводити пароль щоразу при використанні утиліти та "персистує" наше право адміністратора на якийсь час. За замовчуванням в репозиторії doas не підтримує persist-mode, а тому треба задати локальний прапор USE, щоб користуватися було зручніше. Щоб встановити USE-прапор для програми, створимо і відкриємо файл з прапорами в директорії /etc/portage/package.use/<ім'я-файлу>. # vim /etc/portage/package.use/flagsЗазвичай кожної програми створюється окремий файл, у якому ми можемо прописати потрібні USE-прапори. Я ж прихильник створення одного великого файлу "flags", в якому будуть лежати всі необхідні нам USE-прапори. Так простіше керувати ними надалі і бекапит потрібно буде лише 1 файл для відновлення всіх кастомних прапорів в нових установках. Пропишемо локальний USE-прапор "persist" для OpenDoas: app-admin/doas persistЗбережемо зміни (у Vim це робиться через :wq) і запустимо установку: # emerge -av app-admin/doasПісля компіляції дамо нашому користувачеві право на використання doas: # vim /etc/doas.conf .... permit persist <имя-пользователя>Після цього можемо перелогінитись у нашу систему та перевірити працездатність програми через синхронізацію репозиторіїв: $ doas emerge --syncЯкщо після введення пароля зафуричило, то добре - ми налаштували право адміністратора. 2. Встановлення драйвера на відеокартуУ моєму минулому матеріалі є невеликий недогляд, який я помітив лише під час підготовки цього. У процесі заповнення make.conf нам додатково потрібно прописати драйвер відеокарти, який буде використовуватися для всіх скомпільованих програм, що його вимагають. Щоб прописати драйвер, відкриємо файл /etc/portage/make.conf через будь-який зручний редактор. Пропишемо VIDEO_CARDS="" нижче за весь вміст і вкажемо наш драйвер. .... VIDEO_CARDS="<драйвер вашей видеокарты>"Драйвера під відеокарти бувають такі: Пропрієтарний NVIDIA - "nvidia" Вільний NVIDIA-драйвер - "nouveau" Вільні AMD-драйвера - "amdgpu radeonsi" Legacy-драйвера AMD - "radeon r * 00" Intel-графіка - "intel" Якщо ви використовуєте віртуальні машини, прописуйте "virgl" для віртуальної графіки, відповідно. Тепер підженемо наші пакети під зміни через команду: $ doas emerge --ask --changed-use --deep @worldПісля оновлення світу ми можемо ставити необхідні бібліотеки для драйверів. Для AMD/Intel все просто – встановимо Mesa: $ doas emerge -av media-libs/mesaДля карток від Nvidia встановимо x11-drivers/nvidia-drivers: $ doas emerge -av x11-drivers/nvidia-driversДля більш коректної роботи раджу прописати такі прапори під зелені дрова: /etc/portage/package.use/flags .... x11-drivers/nvidia-drivers +X +modulesДалі встановиться все необхідне і наші драйвери будуть готові до роботи. 3. Встановлення X11 та DE/WMПісля встановлення драйверів нам потрібно накотити графіку. Для початку встановимо X11 в нашу Gentoo: $ doas emerge -av x11-base/xorg-server x11-base/xorg-driversПісля успішного складання X11 нам потрібно вибрати собі DE/WM. Для GNOME і KDE раджу ще на етапі установки вибрати однойменний профіль через eselect profile set, щоб менше возитися після встановлення базової системи. GNOME $ doas emerge -av gnome-base/gnomeKDE Plasma $ doas emerge -av kde-plasma/plasma-metaXfce $ doas emerge -av xfce-base/xfce4-metaMATE $ doas emerge -av mate-base/matei3wm $ doas emerge -av x11-wm/i3bspwm $ doas emerge -av x11-wm/bspwmOpenbox $ doas emerge -av x11-wm/openboxIcewm $ doas emerge -av x11-wm/icewmПісля складання робочого оточення варто встановити дисплейний менеджер для зручнішої роботи. Я використовую LightDM, але ви можете поставити будь-який, що вам до вподоби. Для коректної роботи більшості DM нам знадобиться elogind та dbus, які можна встановити командою: $ doas emerge -av sys-auth/elogind sys-apps/dbusІ не забудемо додати їх до автозавантаження: $ doas rc-update add elogind default $ doas rc-update add dbus defaultДля встановлення дисплейного менеджера спочатку встановимо пакет для роботи в OpenRC: $ doas emerge -av gui-libs/display-manager-initДалі встановимо сам дисплейний менеджер: LightDM $ doas emerge -av x11-misc/lightdm x11-misc/lightdm-gtk-greeterSDDM $ doas emerge -av x11-misc/sddmGDM $ doas emerge -av gnome-base/gdmПісля завершення компіляції нам необхідно прописати наш дисплейний менеджер у файл /etc/conf.d/display-manager: .... DISPLAYMANAGER="<ваш-DM>"Збережемо зміни у файлі та додамо службу display-manager в автостарт системи ініціалізації: $ doas rc-update add display-manager defaultПісля перезавантаження, якщо ви все правильно встановили, ви побачите екран із введенням пароля та вибором завантаження DE/WM. Після авторизації можна почати використовувати графіку. 4. Налаштування звуку в системіСидіти без звуку за комп'ютером – сумно, а тому давайте встановимо Pipewire. $ doas emerge -av media-video/pipewireПісля встановлення програми ми можемо прописати її автозапуск будь-яким зручним способом. Якщо в DE, то через налаштування автостарту, а в WM'ах просто пропишемо запуск в конфігураційний файл. Gentoo Pipewire запускається через утиліту gentoo-pipewire-launcher , який і треба прописати в автостарт вашого DE/WM. Не забудьте також додати вашого користувача до групи "pipewire" та "audio" для коректної роботи звуку: $ doas gpasswd -a <user> pipewire $ doas gpasswd -a <user> audio5. Прикладний софт та підключення бінарного репозиторіюНе бачу сенсу розглядати установку кожного пакета прикладного ПЗ, тому що у кожного є свій набір, якому він так чи інакше дотримуватиметься. Для пошуку пакетів в основному репозиторії Gentoo вам дуже допоможе офіційний ресурс дистрибутива , в якому за ключовими словами ви зможете знайти назву ебілда вашої програми і доступні для нього USE-прапори. Ресурс Gentoo Portage Overlays дозволяє шукати ебілдів у сторонніх репозиторіях — оверлеях. Оверлей - це а-ля PPA-репозиторій під Ubuntu. В оверлеї користувачі самі завантажують свої ебілди, дозволяючи вам встановити програмне забезпечення, якого немає в офіційних репозиторіях. Для роботи з оверлеями дуже раджу встановити утиліту eselect-repository, яка без ручних маніпуляцій допоможе підключити стороннє джерело. $ doas emerge -av app-select/eselect-repositoryВикористання Gentoo, однак, передбачає постійну компіляцію з вихідного коду, що іноді виходить досить накладно за часом і ресурсами процесора. З початку минулого року Gentoo з'явився офіційний бінарний репозиторій, який можна використовувати для прискорення встановлення деякого програмного забезпечення. У сучасних установках його зазвичай не потрібно додатково налаштовувати - все працює з коробки. Просто синхронізуйте репозиторії та скористайтеся наступними прапорами Portage: --getbinpkg (-g) - если пакет, который вы запрашиваете, доступен в виде бинарного файла, то он будет установлен. В ином случае - пакет скомпилируется как обычно.--usepkgonly (-K) - если пакет доступен в бинарном формате, то он будет установлен. В ином случае - установки не случится вовсеІноді може виникнути проблема з GPG-ключами репозиторіїв, проте всі проблеми вирішуються однією командою: $ doas mv /etc/portage/gnupg /etc/portage/gnupg.bak ; getuto6. Установка Steam та PortProtonТак як із встановленням Steam у початківця можуть бути проблеми, а сама програма не міститься в офіційному репозиторії, розповім, як її встановити, щоб почати грати в улюблені ігри. 1) Установка eselect-repository та git $ doas emerge --ask --noreplace app-eselect/eselect-repository dev-vcs/git2) Підключення репозиторію та синхронізація $ doas eselect repository enable steam-overlay$ doas emerge --sync3) Прописуємо USE-прапори для Steam /etc/portage/package.use/steam .... app-accessibility/at-spi2-core abi_x86_32 app-arch/bzip2 abi_x86_32 app-arch/lz4 abi_x86_32 app-arch/zstd abi_x86_32 dev-lang/rust-bin abi_x86_32 dev-libs/dbus-glib abi_x86_32 dev-libs/elfutils abi_x86_32 dev-libs/expat abi_x86_32 dev-libs/fribidi abi_x86_32 dev-libs/glib abi_x86_32 dev-libs/gmp abi_x86_32 dev-libs/icu abi_x86_32 dev-libs/libevdev abi_x86_32 dev-libs/libffi abi_x86_32 dev-libs/libgcrypt abi_x86_32 dev-libs/libgpg-error abi_x86_32 dev-libs/libpcre2 abi_x86_32 dev-libs/libtasn1 abi_x86_32 dev-libs/libunistring abi_x86_32 dev-libs/libusb abi_x86_32 dev-libs/libxml2 abi_x86_32 dev-libs/lzo abi_x86_32 dev-libs/nettle abi_x86_32 dev-libs/nspr abi_x86_32 dev-libs/nss abi_x86_32 dev-libs/openssl abi_x86_32 dev-libs/wayland abi_x86_32 gnome-base/librsvg abi_x86_32 gui-libs/libdecor abi_x86_32 llvm-core/llvm abi_x86_32 media-gfx/graphite2 abi_x86_32 media-libs/alsa-lib abi_x86_32 media-libs/flac abi_x86_32 media-libs/fontconfig abi_x86_32 media-libs/freetype abi_x86_32 media-libs/glu abi_x86_32 media-libs/harfbuzz abi_x86_32 media-libs/libepoxy abi_x86_32 media-libs/libglvnd abi_x86_32 media-libs/libjpeg-turbo abi_x86_32 media-libs/libogg abi_x86_32 media-libs/libpng abi_x86_32 media-libs/libpulse abi_x86_32 media-libs/libsdl2 abi_x86_32 media-libs/libsndfile abi_x86_32 media-libs/libva abi_x86_32 media-libs/libvorbis abi_x86_32 media-libs/mesa abi_x86_32 media-libs/openal abi_x86_32 media-libs/opus abi_x86_32 media-libs/tiff abi_x86_32 media-sound/lame abi_x86_32 media-sound/mpg123-base abi_x86_32 media-video/pipewire abi_x86_32 net-dns/c-ares abi_x86_32 net-dns/libidn2 abi_x86_32 net-libs/gnutls abi_x86_32 net-libs/libasyncns abi_x86_32 net-libs/libndp abi_x86_32 net-libs/libpsl abi_x86_32 net-libs/nghttp2 abi_x86_32 net-libs/nghttp3 abi_x86_32 net-misc/curl abi_x86_32 net-misc/networkmanager abi_x86_32 net-print/cups abi_x86_32 sys-apps/dbus abi_x86_32 sys-apps/systemd abi_x86_32 sys-apps/systemd-utils abi_x86_32 sys-apps/util-linux abi_x86_32 sys-devel/clang abi_x86_32 sys-libs/gpm abi_x86_32 sys-libs/libcap abi_x86_32 sys-libs/libudev-compat abi_x86_32 sys-libs/ncurses abi_x86_32 sys-libs/pam abi_x86_32 sys-libs/zlib abi_x86_32 virtual/glu abi_x86_32 virtual/libelf abi_x86_32 virtual/libiconv abi_x86_32 virtual/libintl abi_x86_32 virtual/libudev abi_x86_32 virtual/libusb abi_x86_32 virtual/opengl abi_x86_32 virtual/rust abi_x86_32 x11-libs/cairo abi_x86_32 x11-libs/extest abi_x86_32 x11-libs/gdk-pixbuf abi_x86_32 x11-libs/gtk+ abi_x86_32 x11-libs/gtk+ abi_x86_32 x11-libs/libdrm abi_x86_32 x11-libs/libICE abi_x86_32 x11-libs/libpciaccess abi_x86_32 x11-libs/libSM abi_x86_32 x11-libs/libvdpau abi_x86_32 x11-libs/libX11 abi_x86_32 x11-libs/libXau abi_x86_32 x11-libs/libxcb abi_x86_32 x11-libs/libXcomposite abi_x86_32 x11-libs/libXcursor abi_x86_32 x11-libs/libXdamage abi_x86_32 x11-libs/libXdmcp abi_x86_32 x11-libs/libXext abi_x86_32 x11-libs/libXfixes abi_x86_32 x11-libs/libXft abi_x86_32 x11-libs/libXi abi_x86_32 x11-libs/libXinerama abi_x86_32 x11-libs/libxkbcommon abi_x86_32 x11-libs/libXrandr abi_x86_32 x11-libs/libXrender abi_x86_32 x11-libs/libXScrnSaver abi_x86_32 x11-libs/libxshmfence abi_x86_32 x11-libs/libXtst abi_x86_32 x11-libs/libXxf86vm abi_x86_32 x11-libs/pango abi_x86_32 x11-libs/pixman abi_x86_32 x11-libs/xcb-util-keysyms abi_x86_324) Додамо Steam-оверлів у package.accept_keywords: /etc/portage/package.accept_keywords/steam .... */*::steam-overlay games-util/game-device-udev-rules sys-libs/libudev-compat5) Встановимо Steam $ doas emerge -av games-util/steam-launcherПісля встановлення запускаємо та починаємо грати. Якщо ви хочете використовувати інші джерела для запуску Windows-ігор, то нам може стати в нагоді PortProton. 1) Встановимо залежності від офіційного репозиторію $ doas emerge -av sys-apps/bubblewrap net-misc/wget app-arch/cabextract app-arch/tar dev-libs/openssl media-gfx/icoutils net-misc/curl sys-apps/inxi gnome-extra/zenity sys-devel/bc 2) Встановимо yad з оверлея (теж потрібен для PortProton) $ doas eselect repository enable parona-overlay $ doas emerge --sync vim /etc/portage/package.accept_keywords/yad .... gnome-extra/yad **$ doas emerge -av gnome-extra/yad::parona-overlay3) Ідемо на сайт PortProton і копіюємо команду для старту установки wget -c "https://github.com/Castro-Fidel/PortProton_ALT/raw/main/portproton" && sh portprotonПісля завершення радіємо життю та граємо в піратські ігри. 7. Те, що не тягне на окремий пункт, але варто згадати варто1) Апаратне прискорення відео Для включення підтримки апаратного прискорення нам треба прописати драйвер " vaapi " у глобальних USE-прапорах системи. Зробити це можна так: /etc/portage/make.conf .... USE="vaapi"Після збереження оновимо пакети вже за допомогою апаратного прискорення: $ doas emerge --ask --changed-use --deep @world2) Очищення кешу Portage Для очищення застарілих тарболів, які за замовчуванням зберігаються в /var/tmp/portage/*, можна встановити утиліту " eclean ". $ doas emerge -av app-portage/gentoolkitЩоб видалити застарілі архіви з вихідними джерелами: $ doas eclean distfilesЩоб видалити застарілі бінарні файли: $ doas eclean packages3) Корисні посилання для роботи з Gentoo Gentoo Handbook OpenRC для чайників Робота з Portage Форум Gentoo USE-прапори 8. Підбиття підсумків
-
Як створити свій простий RPM пакет
Що таке RPM взагалі?Допустимо, є файл wood.png , і його потрібно встановити /usr/share/wallpapers/ . Це робить файл RPM. Це такий архів, усередині якого створені папки "usr", у ній - "share", у ній - "wallpapers", у ній - wood.png. При установці він копіює wood.png у /usr/share/wallpapers. Підготуємо те, що упаковуватимемоПакувати можна що завгодно. Давайте для прикладу візьмемо просту програму мовою bash . Bash є у всіх (що ми вводимо в термінал, це насправді команди bash), він простий, тому візьмемо саме його. Вона виводитиме " Привіт з RPM, Пінгвінус! ". Напишемо її: створимо файл під назвою hello-pingvinus і вставимо туди ось цей текст: #!/usr/bin/env bash echo 'Привет из RPM, Пингвинус!'Перший рядок каже, що треба запускати через bash, а другий друкує наш текст у консоль. Перевіримо: Зробимо файл виконуваним: chmod +x hello-pingvinus Запустимо: ./hello-pingvinus У консолі побачимо висновок " Привіт із RPM, Пінгвінус! ". Після встановлення створеного за цією статтею пакета RPM можна буде вводити в термінал "hello-pingvinus" і отримувати даний висновок. Створимо SPEC файлСаме SPEC файл вказує як саме збирати RPM і містить інформацію про пакет. Створимо файл hello-pingvinus.spec. Про пункти поясню нижче. Name: hello-pingvinus Version: 1.0 Release: 1.opensuse Summary: Prints a greeting to the console Summary(ru): Выводит в консоль приветствие License: MIT Source0: hello-pingvinus.tar BuildArch: noarch URL: https://pingvinus.ru Requires: bash %description A simple program that prints "Привет из RPM, Пингвинус!" to the console. %description -l ru Простая программа, которая выводит "Привет из RPM, Пингвинус!" в консоль. %prep %setup -q -n hello-pingvinus %install mkdir -p %{buildroot}/usr/bin cp hello-pingvinus %{buildroot}/usr/bin %files /usr/bin/hello-pingvinusName – ім'я пакета. Version – версія програми. Release — версія пакета RPM. Якщо програму (навіть із безліччю випусків за багаторічну історію) пакують у RPM вперше — ставлять одиницю. Після неї за бажанням можна поставити крапку та назву дистрибутива, особливо якщо є кілька RPM-файлів для різних дистрибутивів, щоб знати, де який. Summary - короткий опис пакета в одну коротку пропозицію. Пишеться як правило англійською. Summary(ru) - Summary російською мовою. Якщо у користувача російська локаль – він побачить саме його. Аналогічно можна й інших мов. License – назва ліцензії Вашої програми. Наприклад MIT, GPLv2 тощо. Source0 - архів з якого будемо збирати програму. Поки не зважайте, він буде наступним пунктом. BuildArch – архітектура Вашого пакету. Оскільки пакет, який містить лише просту bash-комманду, не залежить від конкретної архітектури на кшталт x86_64 або ARM, працюючи скрізь — ставимо noarch. URL – посилання на сайт Вашої програми. Requires – залежності. Для цього пакета можна було нічого не писати, оскільки bash є скрізь, але для більш складних програм тут вказуються залежності. На цьому шапка скінчилася. Далі – секції. %description - довгий опис, на відміну від короткого Summary. Можна різними мовами за прикладом російської. %setup - розпаковує файли з архіву для якого в наступному пункті. -q - не показує виведення розпакування архіву, -n - прапор після якого ім'я папки в архіві, яка містить файли та головне, SPEC-файл. %prep — підготовка до збирання RPM. %install — Створення збірної папки з файлами. Потрібно знати, що щоб ввести в термінал наприклад "hello-pingvinus" або будь-яку іншу команду, треба, щоб у папці /usr/bin/ був файл з такою назвою. Тому створюємо ці папки і копіюємо наш файл з кодом «hello-pingvinus» туди. %files — перераховує файли, які потрібно включити в RPM пакет. Якщо ми скопіювали в секції %install файл у збірну папку, але в секції %files він не перерахований - у RPM він не потрапить. Створення TAR архівуНайпростіший спосіб створити RPM - створити архів TAR, в якому одна головна папка (в даному випадку - hello-pingvinus), яка містить: SPEC файл, Файли програми (у разі — hello-pingvinus). Робимо. Думаю писати як це зробити не треба – будь-який менеджер архівів із середовища робочого столу це вміє. Щоб перевірити – відкрийте менеджер архівів; якщо там папка "hello-pingvinus", а в ній два наші файли - все правильно. Якщо там одразу 2 файли (в корені архіву, а не в hello-pingvinus - неправильно). Упаковка в RPMНастав час нарешті створити RPM. Встановимо утиліту rpmbuild (шукаємо в репозиторії) та вводимо в термінал наступну команду: rpmbuild -tb hello-pingvinus.tar --define "_topdir $PWD"На виході отримаємо наш файл RPM. Він має бути у папці RPMS/noarch/. Пробуємо встановити. Можна через графічний інтерфейс, а можна і через dnf чи zypper: dnf : sudo dnf install./hello-pingvinus-1.0-1.opensuse.noarch.rpm zypper : sudo zypper install ./hello-pingvinus-1.0-1.opensuse.noarch.rpm Якщо все успішно встановилося, при введенні в консоль hello-pingvinus отримаємо " Привіт із RPM, Пінгвінус! ".
-
Браузери для Void Linux
Сьогодні невелика кількість ПК обходяться без оглядачів інтернету, якщо такі існують (хто обходиться, цей матеріал читати не стануть). Перше, на що можна звернути увагу після установки Void Linux , - мізерні репозиторії та мала кількість прикладного ПЗ у них. Частково це вирішується підключенням сторонніх репозиторіїв та/або збиранням пакетів самостійно згідно srcpkgs . Опишу розширення парку браузерів у системі, останнім часом сам їх перебирав. Список підключених у мене репозиторіїв: #xbps-query -L 14658 https://mirror.yandex.ru/mirrors/voidlinux/current (RSA signed) 6004 https://mirror.yandex.ru/mirrors/voidlinux/current/multilib (RSA signed) 62 https://mirror.yandex.ru/mirrors/voidlinux/current/nonfree (RSA signed) 1 https://github.com/index-0/librewolf-void/releases/latest/download/ (RSA signed) 1 https://github.com/DAINRA/ungoogled-chromium-void/releases/latest/download/ (RSA signed) 5 https://rotaryboot58.github.io/vpim (RSA signed) 1 https://xdeb-org.github.io/voidlinux-repository (RSA signed) 12 https://github.com/grvn/void-packages/releases/latest/download/ (RSA signed) Ungoogled chromiumЗбирати цей браузер я не рекомендую, якщо у вас немає свого сервера, краще встановити бінарник. Ідемо сюди і качаємо потрібну версію. Пакети xbps можна встановити через OctoXBPS. Другий метод установки простіше та зручніше – додавання репозиторію до системи. Як можна бачити на початку, у мене підключено. Cromite Це той же розкутий, але з патчами для поліпшення досвіду користувача і захисту користувача. Наприклад, на відміну від батьківського UGC, дозволяє встановлювати аддони з магазину розширень Chrome безпосередньо — натисканням кнопки на сторінці, а не обхідними шляхами. З огляду на невелику кількість платформ, під які формуються збірки, доведеться завантажувати та розпаковувати у зручне місце архів. Для Linux – chrome-lin64.tar.gz. BraveЦе непоганий варіант варіант Хроміум, що має свої плюси: Блокувальник як у Cromite; Нейропомочник Leo, який переказує сторінки, короткий зміст відео за посиланням і чого там його ще навчили за цей час; Є свої корисності, пов'язані на материнську компанію. У певному сенсі даний варіант поєднує 2 попередніх, але прив'язує до компанії-розробника, не є таким чистим і тільки оглядачем. Варіант налаштування через xbps-src. У мене цей варіант є при пошуку в консолі, оскільки підключений даний репозиторій. Знайшов ще такий скрипт (не перевіряв). Zen BrowserНе знайомий із ним. Встановити можна звідси чи звідси . У мене доступний в одному із підключених репозиторіїв. WaterfoxМені і раніше імпонував цей форк материнського Firefox за основу у вигляді ESR гілки, кращу чуйність, розширення налаштувань (винесення параметрів about:config у gui) і невелику кастомізацію. Встановлював звідси . Складання тут самостійно через ./xbps-src pkg , що швидше за плюс, але перевагу в компіляції віддаю Gentoo завдяки тонкому налаштуванню. MidoriСпочатку я забув про цей проект, хоча періодично бачу його у стрічці Mastodon , підписаний, так би мовити, спостерігаю за розвитком (проекту загалом, але здебільшого будується навколо Midori Browser). Згадав, коли стаття лежить у чорновому вигляді. Складання формуються для Debian, OpenSUSE і просто архів (tarball) для всіх, є підтримка ARM. Наявність збірок для Debian означає можливість встановлення через XDEB. PalemoonСценарій для складання Бледного місяця теж знайшов , але при компіляції дає помилку Закриті проектиЗакриті проекти, такі як Vivaldi, наприклад, але розповсюджуються за коштами .deb, можна спробувати встановити через XDEB . До них належать Яндекс Браузер, Google Chrome, Brave теж має .deb, і його також можна встановити через XDEB. Команда для скачування .deb Google Chrome wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb Є варіант пошуку через XDEB із встановленням відразу з консолі xdeb-install search google-chromeВисновокДругою причиною до збору даних відомостей та об'єднання їх в один матеріал послужило те, що хоча в репозиторіях дистрибутива і є Firefox ESR , але версії 128, а не 140, і навіть не з усіма патчами. Нехай і різниця між ними незначна, але зіткнувся з тим, що одне розширення не хотіло встановлюватися на стару версію FF, тому варіант прямого завантаження вручну з сайту розробника краще. Оновлення перевіряти та оновлюватися до нової версії такий варіант буде самостійно. Третя причина - запити , які роблять браузери при першому запуску . Ці адреси можна заблокувати. Четверта причина - вивчення можливостей Void , вивчення, пошук сторонніх репозиторіїв, інформації, написання матеріалу в результаті і популяризація цієї системи. Я сам раніше дотримувався думки, яку висловлював у коментарях, що стороннім джерелам ПЗ (не офіційним, так би мовити) не варто довіряти, оскільки вони існують окремо і незалежно від розробників дистрибутива. Але потім у мене натиснуло, що й самі розробники можуть припинити підтримку якогось пакета. Версія Firefox ESR в репозиторіях — яскраве підтвердження цього, порівняйте з версією на ресурсах Mozilla (останній скріншот). #xbps-query -Rs firefox-esr firefox-esr-128.3.1_1 #пока материал томился, версия в репозиториях обновилась firefox-esr-140.2.0_1
-
Посібник зі встановлення та налаштування Void Linux
Що таке Void Linux?Void Linux - це незалежний дистрибутив, який використовує систему ініціалізації runit та пакетний менеджер xbps з потужною системою збирання пакетів xbps-src. Дистрибутив доступний у двох версіях: з бібліотекою Сі glibc, яка використовується в більшості інших дистрибутивів, та з альтернативною бібліотекою musl, спроектованою для більшої компактності та простоти. Void пропонує альтернативу найпопулярнішим рішенням у світі Linux. Він не використовує такі компоненти, як systemd, rpm або dpkg. При цьому дистрибутив залишається досить доброзичливим та зручним для повсякденного використання. Якщо ви вже маєте досвід роботи з Linux, варто ознайомитися з Void Linux. Інший дистрибутив, який я можу порекомендувати, – це Alpine Linux. Однак, оскільки Alpine використовує тільки musl, він може не підтримувати деякі апаратні компоненти, які потребують пропрієтарних драйверів (наприклад, nvidia, broadcom). Void Linux завдяки можливості вибору стандартної бібліотеки Сі уникає цієї проблеми. Опис планованої конфігураціїЯк графічне оточення я задіяю Xfce, а як звуковий сервер - pipewire. Встановлювати Void Linux будемо через chroot, незважаючи на наявність у Void псевдографічного інсталятора. Таке рішення обумовлено такими причинами: Void має потужний інструментарій xtools, який спрощує процес установки (xchroot); пакетний менеджер xbps дозволяє швидко створити корінь робочої системи; Велика гнучкість в установці та налаштуванні системи. Створення завантажувального носіяЯ рекомендую завантажити "живий" образ з Xfce, щоб проводити установку та конфігурування системи одразу з приємного графічного інтерфейсу. Завантажуємо останній актуальний "живий" образ. wget https://repo-default.voidlinux.org/live/current/void-live-x86_64-20250202-xfce.isoЗнаходимо файл носія, який запишемо завантажений образ. lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 1 30G 0 disk ├─sda1 8:1 1 1.3G 0 part └─sda2 8:2 1 32M 0 part nvme0n1 259:0 0 238.5G 0 disk ├─nvme0n1p1 259:1 0 127M 0 part ├─nvme0n1p2 259:2 0 70G 0 part ├─nvme0n1p3 259:3 0 124M 0 part /boot/efi ├─nvme0n1p4 259:4 0 70G 0 part / ├─nvme0n1p5 259:5 0 124M 0 part └─nvme0n1p6 259:6 0 70G 0 part Записуємо образ на носій. dd bs=4M if=void-live-x86_64-20250202-xfce.iso of=/dev/sdaІ переконуємось, що всі дані на нього були записані. syncПідготовка файлової системиЗавантажуємося в live-систему. Ймовірно, є сенс вибрати варіант RAM, щоб live-система повністю завантажилася в ОЗУ комп'ютера. Це збільшить швидкодію та чуйність live-системи. Відкриваємо емулятор терміналу і підвищуємо наші права до суперкористувача. Пароль voidlinux. su -Для зручності роботи з командним рядком будемо працювати в емуляторі терміналу bash. bashВстановлювати Void я буду на розділи, які зараз використовує інший дистрибутив, тому етап створення розмітки диска буде пропущено. Форматуємо розділ /dev/nvmen1p3 для завантажувача та розділ /dev/nvmen1p4 для кореня системи. mkfs.vfat /dev/nvmen1p3 mkfs.ext4 /dev/nvmen1p4Монтуємо майбутні завантажувальний та кореневий розділи системи у каталог /mnt live-системи, щоб продовжити над ними роботу. mount /dev/sda2 /mnt/ mkdir -p /mnt/boot/efi/ mount /dev/sda1 /mnt/boot/efi/Якщо ви, як і я, використовуєте live-систему з графічним оточенням, то, ймовірно, вам доведеться видалити каталог зі сміттям, яке чомусь оточення вважало за потрібне створити. rm -rf /mnt/lost+foundСтворення кореня системи за допомогою пакетного менеджера XBPSСтворюємо змінні оточення: REPO, яка міститиме адресу віддаленого репозиторію, та ARCH, яка міститиме інформацію про архітектуру комп'ютера. Якщо ви бажаєте використовувати Void з бібліотекою musl, то вкажіть адресу: https://repo-default.voidlinux.org/current/muslЯ ж встановлюватиму версію з glibc: REPO=https://repo-default.voidlinux.org/current ARCH=x86_64Копіюємо з live-системи ключі для автентифікації пакетів. mkdir -p /mnt/var/db/xbps/keys cp /var/db/xbps/keys/* /mnt/var/db/xbps/keys/Встановлюється майбутня система однією командою. Дуже зручно! XBPS_ARCH=$ARCH xbps-install -S -r /mnt -R "$REPO" base-systemНалаштування базової системиГенеруємо файл /etc/fstab, що містить параметри автомонтажу розділів майбутньої системи за допомогою утиліти зі складу інструментарію xtools. # xgenfstab -U /mnt > /mnt/etc/fstabПідмінюємо корінь live-системи на корінь системи, що встановлюється, за допомогою утиліти зі складу xtools. xchroot /mnt /bin/bashЗадаємо ім'я комп'ютера. [xchroot /mnt] # vi /etc/hostname voidgravНалаштовуємо параметри системи. Я використовую us розкладку клавіатури і en_US.UTF-8 локаль. [xchroot /mnt] # vi /etc/rc.conf HOSTNAME="voidgrav" HARDWARECLOCK="UTC" TIMEZONE="Europe/Moscow" KEYMAP="us" FONT="lat9w-16" CGROUP_MODE=unified SEEDING_SKIP_CREDIT=false [xchroot /mnt] # vi /etc/default/libc-locales en_US.UTF-8 UTF-8 [xchroot /mnt] vi /etc/locale.conf LANG=en_US.UTF-8 LC_LOCALE=CЗастосовуємо наші зміни. [xchroot /mnt] # xbps-reconfigure -f glibc-localesЗадаємо пароль суперкористувача. [xchroot /mnt] # passwdТакож встановимо низку пакетів, які не є обов'язковими, але, ймовірно, нам все одно доведеться їх встановити та налаштувати у майбутньому. Наприклад, коли вони опиняться в списку залежностей програм, що встановлюються. Встановимо системну шину dbus. [xchroot /mnt] # xbps-install -S dbusПоставимо сервіс dbus в автозапуск. [xchroot /mnt] # ln -s /etc/sv/dbus /etc/runit/runsvdir/defaultНаступний пакет - NetworkManager. Цілком можливо, що ви не захочете додавати його до мінімалістичної системи. В якості альтернативи я можу порекомендувати використовувати для керування мережевими підключеннями wpa_supplicant, який встановлений Void. [xchroot /mnt] # xbps-install -S NetworkManagerПоставимо NetworkManager в автозапуск. [xchroot /mnt] # ln -s /etc/sv/NetworkManager /etc/runit/runsvdir/defaultВстановлення завантажувача ОСВстановимо grub. [xchroot /mnt] # xbps-install grub grub-x86_64-efiДля систем із UEFI. [xchroot /mnt] # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="Void"Переконфігуруємо всі пакети, щоб усі зміни набули чинності. [xchroot /mnt] # xbps-reconfigure -faПісля цього виходимо з chroot, виймаємо інсталяційний носій і перезавантажуємося в нову ОС. [xchroot /mnt] # exit # umount -R /mnt # shutdown -r nowНалагодження налаштування ОСДопоки ми не змінили командну оболонку з sh на bash давайте зробимо це вручну. bashВстановимо X-сервер xorg, графічний менеджер входу lightdm та менеджер сеансів elogind. xbps-install xorg lightdm lightdm-gtk-greeter elogindНалаштуємо автозапуск для пакетів, що встановилися. ln -s /etc/sv/polkitd /etc/runit/runsvdir/default ln -s /etc/sv/elogind /etc/runit/runsvdir/default ln -s /etc/sv/lightdm /etc/runit/runsvdir/defaultЗавантажуємо мета-пакет із базовим оточенням Xfce. xbps-install xfce4Настав час поміняти sh на bash :) vi /etc/passwd root:x:0:0:root:/root:/bin/bashСтворимо непривілейованого користувача. Обов'язково додаємо користувача до груп audio, video (для PipeWire), network (для NetworkManager) та input (для libinput). useradd -m -s /bin/bash -c 'Ulysses Apokin' \ -G floppy,disk,audio,video,adm,cdrom,optical,scanner,network,input,users ulyssesЗадамо пароль для створеного користувача. passwd ulyssesПерезавантажуємось у графічний сеанс. rebootВстановимо пакети ALSA. xbps-install alsa-firmware alsa-utilsПоставимо ALSA в автозапуск. ln -s /etc/sv/alsa /etc/runit/runsvdir/defaultЯк мультимедійний сервер встановимо pipewire. Як графічний інтерфейс для керування звуковими налаштуваннями системи задіємо pavucontrol. xbps-install pipewire wireplumber pavucontrolСтворимо конфігураційні файли для pipewire. mkdir -p /etc/pipewire/pipewire.conf.d ln -s /usr/share/examples/wireplumber/10-wireplumber.conf /etc/pipewire/pipewire.conf.d/ ln -s /usr/share/examples/pipewire/20-pipewire-pulse.conf /etc/pipewire/pipewire.conf.d/Перезавантажуємось. Також необхідно буде в налаштуваннях автозапуску Xfce прописати автозапуск pipewire. Робиться це так. Settings -> Session and Startup -> Application Autostart -> Add : Command: pipewire Trigger: On LoginАбо створіть sh-скрипт і налаштуйте його автозапуск за допомогою системи ініціалізації runit. Однак зверніть увагу, що pipewire має запускатися після того, як сесія X11 або Wayland завантажилася, оскільки Void як менеджер сесій для PipeWire використовується WirePlumber. rebootМожливо, ви також захочете скористатися наступними плагінами зі складу Xfce. xbps-install orage xfce4-battery-plugin \ xfce4-clipman-plugin xfce4-pulseaudio-plugin \ xfce4-screenshooter xfce4-xkb-pluginРезультат та суб'єктивна думка про дистрибутивУстановка та налаштування Void Linux як робоче оточення завершено. Тепер можна насолодитися цією ОС на робочому столі, хоча багато чого стало зрозуміло вже в процесі установки. Швидкий пакетний менеджер xbps. Наявність вибору стандартної бібліотеки Сі. Незалежність від інших дистрибутивів та наявність своєї екосистеми ПЗ. Гнучкість у налаштуванні під свої потреби. Але не обійшлося, звісно, без ложки дьогтю. Мене завжди бентежив принцип найменування пакетів (або його відсутність) у Void. Наприклад, у шрифтів: ttf-ubuntu-font-family liberation-fonts-ttf font-liberation-narrow-ttf freefont-ttfАбо у NetworkManager: NetworkManager network-manager-appletАбо у CAD-систем: LibreCAD openscadНаскільки мені подобається пакетний менеджер xbps, який робить складання пакетів простим і легким для звичайних користувачів, на стільки ж мені не подобається система ініціалізації - runit. Відмова від концепції рівнів запусків, як на мене, є фатальним недоліком. Створювати свої послуги менш зручно, ніж у systemd і openrc. А виправити косяки в сервісах, що поставляються, важко. Наприклад, я зіткнувся з тим, що lightdm стартує пізніше графічного середовища при виході зі сну. І відповідно все висне. Те, що виправлялося б в openrc простою зміною runlevel, в runit вирішується нетривіальними стрибками по скриптах. Також мене бентежить, що спільна розробка Void ведеться на github. Мабуть, дається взнаки брак ресурсів у команди. Про це також свідчить те, що багато навіть ключових пакетів знаходяться у статусі orphaned і не мають постійних супроводжуючих Наступне не можна віднести до мінусів, оскільки це пояснюється філософією дистрибутива та його орієнтованістю на самостійну побудову ідеальної системи під себе. Іноді під час встановлення пакета не встановлюються всі його залежності, і пакет працює не так, як очікувалося. Наприклад, пакет pipewire не встановлює із собою пакет alsa-firmware. З цієї причини я довго не міг зрозуміти, чому я не маю звуку, хоча pipewire стверджував, що в нього все гаразд. Тим не менш, Void Linux буде хорошим вибором для досвідчених користувачів Linux, які шукають легковажний і налаштований дистрибутив з можливістю вибору стандартної бібліотеки мови Сі.
-
Вступ в Linux та базові команди
Linux — це операційна система, яка, як і Windows чи macOS, керує комп’ютером. Однак вона має свої особливості, які роблять її придатною для різних завдань - від серверів до пристроїв, що вбудовуються, і навіть для настільних ПК. Головна відмінність Linux від більшості інших операційних систем полягає в тому, що вона є відкритим програмним забезпеченням, тобто вихідний код доступний для вивчення та змін. Вона заснована на UNIX — сімейства операційних систем, яке було розроблено в 1960-х роках і дуже вплинуло на створення інших ОС. Linux існує в різних дистрибутивах, таких як Ubuntu, Debian, CentOS, Fedora та багато інших. Кожен із них трохи відрізняється, але базові принципи залишаються однаковими. Варіативність дистрибутивів Linux – що вибрати? Основні відмінностіЯкщо ви звикли працювати з Windows, перехід у Linux може здатися незвичним. Ось кілька ключових відмінностей: Командний рядок — на відміну від Windows, де інтерфейс та всі дії виконуються в основному через графічне оточення, Linux широко використовує командний рядок. У Windows теж можна працювати з командним рядком (CMD або PowerShell), як і дистрибутиви Linux часто мають версії з графічною оболонкою, але суто статистично в Linux це набагато основний спосіб взаємодії з системою. Гнучкість та налаштування — в Linux можна налаштовувати все, що завгодно, починаючи від самого ядра системи і закінчуючи кожним сервісом. Windows зазвичай обмежує користувачу можливість налаштування, даючи інтерфейс із вже заздалегідь визначеними параметрами. Безпека — Linux вважається більш безпечною операційною системою порівняно з Windows. Це з тим, більшість користувачів у Linux працюють без прав суперкористувача (root), й у виконання адміністративних дій потрібно введення пароля. Оновлення та встановлення програм — у Linux програми часто встановлюються через менеджери пакетів, такі як apt або yum, а не через скачування та встановлення файлів із сайту. Оновлення системи також відбуваються централізовано, і це може бути безпечнішим і зручнішим способом підтримки системи в актуальному стані. Файлова система — на відміну від Windows, де використовується система NTFS та розділи C:, D:, E…, у Linux все починається з єдиної кореневої папки /. Усі файли та каталоги можуть бути організовані у дереві, починаючи з кореня. У цілому нині, ОС сімейства Linux значно продуктивніші у тих серверної роботи. Хоча Microsoft має власну серверну ОС Windows Server, використовується вона швидше в нішевих проектах з певними залежностями або специфічними запитами. Детально про переваги та недоліки Linux у порівнянні з Windows Тепер, коли ми розібралися з основами, можна переходити до другого розділу, де детальніше розглянемо, що потрібно знати користувачеві Windows, що переходить на Linux. Що потрібно знати користувачеві Windows, що переходить на Linux? Файлова система та шляхи Користувач та права доступу Менеджери пакетів та встановлення програм У Linux немає такого поняття, як завантаження установчих файлів (наприклад, .exe у Windows). Усі програми встановлюються через менеджери пакетів, які є зручним інструментом для встановлення, оновлення та видалення програм. Це дозволяє швидко встановлювати програми з мінімальними зусиллями. Приклади популярних менеджерів пакетів: APT (Advanced Package Tool) для дистрибутивів на базі Debian (наприклад, Ubuntu). Для встановлення програми достатньо виконати команду типу sudo apt install firefox. YUM/DNF для дистрибутивів на базі Red Hat (наприклад, Fedora, CentOS). Для встановлення програми використовуйте команду sudo dnf install firefox. Pacman для Arch Linux та його похідних. Встановлення програми за допомогою sudo pacman -S firefox. Установка через менеджер пакетів гарантує, що ви отримаєте останню стабільну версію програми і мінімізує ризик завантаження шкідливих файлів. Оновлення системи Оновлення у Linux відбуваються централізовано через систему пакетів. Це означає, що Вам не потрібно шукати оновлення вручну для кожної програми, як це відбувається в Windows. У Linux оновлення часто включають не тільки оновлення для програм, але і для операційної системи та ядра. У Windows оновлення відбуваються через Центр оновлень Windows, і, хоча це теж автоматичний процес, в Linux оновлення можна контролювати за допомогою простих команд у терміналі, наприклад sudo apt update & sudo apt upgrade для оновлень в Ubuntu. Використання командного рядка На відміну від Windows, де командний рядок використовується рідше, Linux є основним інструментом взаємодії з системою. Знання базових команд Linux суттєво спростить використання системи, адже багато дій можна виконати швидше та ефективніше за допомогою терміналу, ніж через графічний інтерфейс. Приклад: Для створення нового каталогу в Windows достатньо клацнути правою кнопкою миші та вибрати Створити папку. У Linux ви можете зробити це за допомогою команди у терміналі: mkdir myfolder Для навігації файлів у Linux використовується команда cd, а для перегляду вмісту каталогу - команда ls. У Windows це аналогічно провіднику, але через командний рядок. Процес роботи з програмами У Windows багато програм запускаються автоматично при старті системи і можуть працювати у фоновому режимі без вашого втручання за допомогою системи Служб. У Linux ви часто будете вручну запускати процеси, контролювати їх за допомогою команд, таких як ps для перегляду запущених процесів і kill для завершення програми. А грубим аналогом Служб Приклад: Щоб побачити список процесів, запущених на вашій системі, використовуйте команду: ps aux Щоб завершити процес, потрібно використати команду: kill [PID] де [PID] - це ідентифікатор процесу. Налаштування системи У Linux більшість параметрів системи доступні через текстові конфігураційні файли, які можна відредагувати за допомогою текстових редакторів, таких як nano, vim або gedit. У Windows параметри найчастіше змінюються через графічний інтерфейс або за допомогою редактора реєстру. Сумісність програм Хоча в Linux є безліч програм для заміни популярних програм Windows, деякі програми можуть працювати тільки в Windows. Для запуску Windows-програм у Linux існує кілька рішень: Wine — дозволяє запускати Windows-програми на Linux. VirtualBox або VMware — дозволяє встановити Windows у віртуальній машині всередині Linux. Такий підхід дасть вам повніше уявлення про практичні аспекти переходу з Windows на Linux. Якщо потрібно продовжити, готовий додати більше деталей!
-
Як захистити свою цифрову ідентичність у TikTok
Перегони озброєнь у сфері дипфейків набирають обертів. TikTok нещодавно натякнув, що починає протидію. Для деяких творців контенту США запускається опціональний інструмент виявлення дипфейків. Він сканує платформу на наявність несанкціонованих AI-генерацій вашої особи. Якщо ви побачите себе в невідповідному місці, тепер можна повідомити про це безпосередньо через програму. Соціальний медіа-експерт Метт Наварра, відомий своєю увагою до таких речей, першим помітив тест. Представник TikTok США Закарі Кімер підтвердив новину. Але є нюанс. Доступ поки що не для всіх — лише для «деяких» творців у США. YouTube вже має аналогічний функціонал, відкритий для всіх дорослих користувачів, хто хоче ним скористатися. Навіщо підтверджувати особу для боротьби з дипфейками?Звучить суперечливо, правда? Дати компанії своє обличчя, щоб вона могла запобігти його використанню іншими. Щоб скористатися цим інструментом потрібно пройти кілька кроків. Перший – верифікація. Для підтвердження особистості потрібний сервіс Jumio. Це означає сканування селфі у реальному часі. Потім ви скануєте посвідчення особи, видане державою. Це суворо. Це бюрократія. Але що важливо: TikTok стверджує, що не зберігає ваші документи. Дані про особу використовуються виключно для порівняння з можливими порушеннями. Проте передача біометричних даних викликає побоювання в деяких людей. Це компроміс. Приватність за захист. Ви самі вирішуєте, який ризик видається вам більш значущим. Що відбувається після верифікації?Після того, як довіра встановлена, система запускається. Вона починає пошук. Система сканує контент, який може бути згенерований AI з використанням подібності. Вона не просто чекає, коли хтось звинуватить вас у підміні іншого творця. Вона проактивно шукає потенційних збігів. Потім бачите, що вона знайшла. Ви маєте останнє слово. Якщо ви знайдете пост, який використовує вашу особу без дозволу, ви можете його відзначити. TikTok потім розглядає та вживає заходів. Так замикається коло. Раніше повідомлення про такі випадки були хаотичним процесом. Тепер це вбудована частина робочого процесу. Що краще для захисту цифрової ідентичності: нова система TikTok сканування або ручне повідомлення? Для тих, кого торкалися реалістичних фальшивих відео, це виглядає як швидший шлях до вирішення проблеми.
-
NAVA — генерація відео зі звуком
Нова модель ШІ від китайців, яка вміє генерувати відео зі звуковими ефектами та діалогами персонажів
-
Що враховувати під час вибору антивірусної програми
Основні вимоги до антивірусної програми: виробник (чи є авторитетним світовим брендом у своїй галузі); склад програмного пакета (гарний антивірус, як мінімум, включає: 1). антивірусний монітор, що постійно «моніторить» оперативну пам'ять і всі файли, папки та диски, до яких звертається користувач; модуль, що стежить за цілісністю програмного коду антивірусу; 2). антивірусний сканер, що запускається на вимогу користувача; 3). регулярно оновлюваний набір антивірусних баз; 4). модуль оновлення антивірусних баз; 5). модуль для створення аварійних завантажувальних дисків, що дозволяють при необхідності перевірити систему у так званому «чистому» середовищі; 6). брандмауер (також званий фаєрволом або міжмережевим екраном); ефективність роботи (антивірус повинен забезпечувати максимально можливий захист і при цьому не гальмувати систему); регулярність оновлення антивірусних баз; кількість вірусів та іншого шкідливого програмного забезпечення, яке може ідентифікувати та блокувати антивірус; регулярність оновлення програми; можливість блокування невідомих загроз (генетична евристична перевірка підозрілого програмного коду та аналіз поведінки програм); доступний інтерфейс та простота налаштування; наявність локалізованої версії програми (для Росії – русифікованої); Вартість товару.
-
Список Shell-команд Windows 7
Секрети Windows 7. Список shell-команд операційної системи Windows 7 Список команд може бути корисним для швидкого доступу до тієї чи іншої функції операційної системи. Маючи відповідний ярлик, ви можете одним клацанням викликати налаштування значків системного трею, властивості папки, налаштування клавіатури тощо. Подібні трюки, подібно до shell:-об'єктів, прискорюють навігацію по операційній системі, і взагалі, полегшують життя. Багато хто з них працюватиме і в Windows Vista. Список
-
Вимкнення попередження системи безпеки під час відкриття файлів з Інтернету Windows 7
Пуск -> Виконати -> inetcpl.cpl -> Ок (або Панель управління -> Мережа та Інтернет -> Властивості браузера). Переходимо на вкладку "Безпека" -> потім вибираємо зону "Інтернет" для налаштування її параметрів безпеки -> натискаємо нижче "Інший" і знаходимо "Запуск програм та небезпечних файлів" - виставляємо значення "Увімкнути". Скрин для наочності про це вікно можна забути
-
Розпакування образу системи на флеш накопичувач Windows 7
Розпакування образу системи на флеш накопичувач. Напевно, багато хто запитував, як зробити USB носій для завантаження комп'ютера і подальшої установки системи. Для того, щоб BIOS могла завантажити систему з флеш накопичувача, необхідно дотриматися декількох умов: перш за все, накопичувач повинен містити основний розділ і цей розділ повинен бути активним. Найпростіший варіант, що не потребує додаткового програмного забезпечення, скористатись штатною програмою DiskPart DiskPart: Розпаковуємо образ системи на флешку архіватором
-
"Weather" (Погода) не працює: пише Service unavailable for your region Windows 7
Спосіб 1: 1. Запустіть Диспетчер задач натисканням Ctrl + Shift + Esc 2. Завершіть процес sidebar.exe 3. Запустіть Sidebar: правою кнопкою миші на робочому столі -> Gadgets Спосіб 2: %WINDIR%\system32\driverc\etc у файл hosts додати: 207.68.172.246 www.msnweather.com 198.78.215.126 blst.msn.com 65.55.228.63 weather.msn.com 65.55.17.39 weather.service.msn.com
-
Увімкнення Windows 7 Sidebar при вимкненому UAC
(уточню, не стільки сайдбар (її у звичному розумінні вже й немає), а працездатність гаджетів при відключеному UAC) Застосуйте цей твік реєстру: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Sidebar\Settings] "AllowElevatedProcess"=dword:00000001 Перезавантажтеся.
-
Припинив працювати рідний гаджет погоди, пише «Не вдалося підключитися до служби» Windows 7
Наприкінці файлу hosts додаємо рядки: 207.68.172.246 www.msnweather.com 198.78.215.126 blst.msn.com 65.55.228.63 weather.msn.com 65.55.17.39 weather.service.msn.com У Пуск —> Пошук введіть блокнот. Клацніть правою кнопкою миші на знайденому блокноті та виберіть із меню «Запуск від імені адміністратора». У Блокноті натисніть Файл —> Відкрити (CTRL+O) і перейдіть до папки C:\Windows\System32\drivers\etc\. Відкрийте файл hosts та редагуйте.