Перейти до змісту
View in the app

A better way to browse. Learn more.

Файна Україна

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ciko

Адміністратор
  • Зареєстровано

  • Відвідування

Весь контент Ciko

  1. "Хто пише Linux і програмне забезпечення з відкритим вихідним кодом? ( link ) // Розробники і, що важливіше, компанії, які їх наймають. Часто я стикаюся з тими, хто думає, що Linux і програмне забезпечення з відкритим вихідним кодом роблять люди, які живуть у підвалі своїх батьків і пишуть код добродушно. Неправильно! В корені невірно! Так, деякі пишуть відкритий вихідний код, щоб позбутися творчої сверблячки або просто тому, що їм це подобається. Але якщо придивитися, то виявиться, що переважна більшість сучасних програмістів відкритого вихідного коду роблять це з тієї ж причини, що ви робите свою роботу: гроші. Не зрозумійте мене неправильно, розробники програмного забезпечення з відкритим вихідним кодом зазвичай люблять свою роботу. На кожного відомого мені програміста відкритого вихідного коду, який не любив писати код для призначеного йому проекту, я знав принаймні дюжину тих, хто працював над пропрієтарними програмами. Цифри говорять самі за себе. Aiven, компанія, що займається платформою хмарних даних з відкритим вихідним кодом, нещодавно проаналізувала, хто і що робить із проектами з відкритим вихідним кодом на GitHub. Вони виявили, що основними учасниками відкритого вихідного коду були компанії – Amazon Web Services, Intel, Red Hat, Google та Microsoft. Майкрософт!!? Так, Майкрософт. Знаю, що ви змалечку плювалися від однієї цієї назви, і багато хто з вас досі продовжує вважати Microsoft Імперією Зла. Друзі, Білл Гейтс і Стів Балмер, жоден з яких не любив відкритий вихідний код, ні Linux, майже десятиліття не керують Microsoft. Це не Microsoft часів наших батьків. Тож прийміть це як даність. Aiven вивчила три показники у архівах GitHub. Це була кількість учасників, репозиторіїв (проектів), до яких вони зробили свій внесок, та кількість коммітів, зроблених учасниками. Вони були розраховані за допомогою аналізу Google Big Query для PushEvents на загальнодоступних даних GitHub. Компанія виявила, що Microsoft і Google йдуть ніздрі в ніздрю у битві за перше місце. Red Hat знаходиться на третьому місці, за нею слідує Intel, потім AWS і злегка відстає IBM. Зокрема дослідження показало, що в останньому кварталі 2022 року Microsoft і Google продовжували змагатися за перше місце. Співробітники Google працювали над більшою кількістю проектів, ніж Microsoft, але загалом вносили менше оновлень (коммітів). Red Hat слідує за нею і в даний час вносить більше коммітів, ніж Google: 125 012 у четвертому кварталі 2022 року в порівнянні з 94 961 у Google. Microsoft випереджає обох із 128 247 проектами. Тим не менш, що стосується позаштатних співробітників, які працюють над проектами, Google лідирує з 5757 у порівнянні з 5513 у Microsoft і 3656 у Red Hat. Intel посідає четверте місце серед учасників GitHub. Незважаючи на різкий стрибок кількості коммітів у AWS, Intel продовжує доводити свою прихильність до відкритого вихідного коду: 2834 учасники працюють над проектами і 36 948 коммітів. Звичайно, з урахуванням недавніх скорочень у Google розробників відкритого коду ці цифри можуть змінитися. Цікаво, що хоча гіперхмарні (hypercloud) компанії, особливо AWS, не отримують визнання за підтримку розробки програмного забезпечення з відкритим вихідним кодом, вони фактично вкладають гроші, робочі місця та код у такі проекти. Зокрема, Aiven виявила, що "Amazon збільшує кількість учасників з відкритим вихідним кодом за трьома показниками: учасники, репозиторії, в які вони зробили свій внесок, і кількість коммітів учасників". Справді, AWS зробила так багато для цього, що за одним показником, зафіксованим GitHub, Amazon вже робить більший внесок, ніж Intel. Хейккі Ноусіайнен (Heikki Nousiainen), технічний директор та співзасновник Aiven, прокоментував: "Несподіваним результатом нашого дослідження стало те, що Amazon обігнала IBM і стала п'ятим за величиною вкладником". Вони «запізнилися на вечірку з відкритим вихідним кодом, але тепер вони подвоюють свої зобов'язання щодо відкритого вихідного коду та усвідомлюють переваги, які дає участь у проектах із відкритим вихідним кодом, які використовують їхні клієнти». Отже, відкритий вихідний код, безумовно, починався з окремих учасників, але сьогодні, як і роки до цього, саме співробітники компаній створюють код. Як сказав Нусіайнен: «Інновації лежать в основі спільноти відкритого вихідного коду, але без твердої прихильності компаній вся система відчуватиме труднощі. Ми бачимо, що компанії усвідомлюють свою роль та підтримують усіх, хто використовує відкритий вихідний код». Не тільки Aiven зазначає, що компанії наразі є економічним двигуном відкритого вихідного коду. Джонатан Корбет (Jonathan Corbet), головний редактор Linux Weekly News (LWN), у своєму останньому аналізі випусків ядра Linux з довгостроковою підтримкою з 5.16 по 6.1 виявив, що тільки 7,5% розробки ядра, що вимірюється зміненими рядками, припало на індивідуальні. Справжніми лідерами були: AMD, Intel, Google, Linaro (основна організація з розробки Arm Linux), Мета і Red Hat.
  2. Коротко про Unix ShellUnix shell - це оболонка (інтерпретатор команд), що надає інтерфейс користувача командного рядка для Unix подібних операційних систем. Оболонка одночасно є мовою інтерактивних команд та мовою сценаріїв (скриптів) та використовується користувачем для передачі команд (списку команд) операційній системі. Назва BASH походить від "Bourne again shell" (ще одна командна оболонка Борна). З'явилася 1987 року, як удосконалений варіант командної оболонки Bourne shell (sh, автор Стівен Борн). Оскільки прізвище Bourne (Борн) співзвучне зі словом born (народжений), з'явився каламбур "Born again shell" (народжена знову командна оболонка). BASH, як і всі shell, є командним процесором, що працює в текстовому вікні в інтерактивному режимі. Підтримує різні скорочення та змінні, оператори циклу, контроль та підстановку виведення результатів, автодоповнення імен файлів та каталогів. Синтаксис BASH та інші особливості мови були запозичені його автором Браяном Фоксом із SH . BASH — одна з перших програм, які Лінус Торвальдс (творець Linux) портував на Linux. BASH - найпоширеніша оболонка Linux і кожен користувач, який хоч раз відкривав термінал, взаємодіяв із нею. лючові особливості BASH: Багато користувачів використовують BASH, оскільки ця оболонка встановлена за замовчуванням у більшості систем Linux Командний процесор BASH має багато вбудованих команд BASH не має вбудованого виразу з підстановними знаками ( * , ? , [] ), які використовуються для пошуку шаблонів, аналогічно регулярному виразу Символ # розглядається як коментар у сценарії BASH Має вкрай скромні (обмежені можливості) налаштування Параметри конфігурації користувача знаходяться в домашньому розділі у файлі /home/.bashrc Перша версія ZSH була написана Паулем Фалстадом, коли він був студентом університету Прінстона в 1990 році. Назва оболонки походить від облікового запису "zsh" університетського асистента Пауля на ім'я Чжун Шао. В даний час проект розвивається ентузіастами під керівництвом Пітера Стефенсона в рамках ПЗ, що вільно розповсюджується. ZSH є розширеним аналогом BASH і має з ним зворотну сумісність, додаючи йому велику кількість покращень. Ключові особливості ZSH: Вбудоване автозаповнення із розширеним функціоналом. Клавіша TAB ⇆ використовується для автоматичного доповнення (завершення) будь-якої команди, яку потрібно запустити. Крім автозаповнення вона виводить список всіх можливих файлів і каталогів, що розкривається. Підтримує вбудовані вирази з знаками підстановки ( * , ? , [ ] ) Більш налаштований, ніж BASH Підтримує різні плагіни, що розширюють функціонал та теми для кастомізації зовнішнього вигляду. Oh My Zsh – найбільш відомий фреймворк для застосування різноманітних налаштувань оболонки Параметри конфігурації користувача знаходяться в домашньому розділі у файлі /home/.zshrc FISH – це POSIX несумісна оболонка UNIX з упором на інтерактивність та зручність використання, була створена Акселем Лільєнкранцем у 2005 році. POSIX (Portable Operating System Interface) – набір стандартів, що описують інтерфейси між операційною системою та прикладною програмою (системний API ), бібліотеку мови "C" та набір додатків та їх інтерфейсів. На відміну від інших оболонок, яким потрібно багато налаштувань та додаткових плагінів, FISH пропонує всі зручності користувачеві прямо "з коробки". У той же час FISH є нестандартною оболонкою через те, що вона не відповідає POSIX. Синтаксис в FISH також змінений у бік спрощення командної мови оболонки, наприклад, всі керуючі конструкції завершуються ключовим виразом "end" . Ще одним нововведенням FISH є універсальні змінні, що вводяться за допомогою конструкції "set-U змінна значення" . Ключові особливості FISH: FISH пропонує автоматичний пошук під час введення, заснований на історії команд і каталозі, в якому ви знаходитесь на момент введення Вбудоване підсвічування синтаксису – це функція, яку ми всі хотіли б мати в інтерфейсі командного рядка. Це робить роботу простішою та зручнішою, економить багато часу. І все це пропонується користувачеві прямо з коробки, інтерфейс виглядає красиво і інтуїтивно зрозуміло FISH вміє аналізувати довідкові сторінки MAN і перетворювати їх на табличний формат виведення зі зручним переміщенням між даними Налаштування FISH дуже прості та зрозумілі. Для зміни зовнішнього вигляду достатньо набрати у вікні терміналу команду: « fish_config », — відкриється веб-сервіс налаштувань, з можливістю вибору вже готової попередньої установки, або будь-якої конфігурації користувача Додатково для розширення можливостей та налаштувань кастомізації FISH пропонується фреймворк Oh My Fish , аналогічний такому у ZSH FISH пропонує дуже простий та інтуїтивно зрозумілий інтерфейс командного рядка для будь-якого користувача будь-якого рівня. Для виклику довідки по командному процесору FISH потрібно просто набрати " help " у вікні терміналу, - відкриється веб-сервіс із зручно організованою і добре наповненою інтерактивною базою знань, в якій точно "знайдеться все" Параметри конфігурації користувача знаходяться в домашньому розділі у файлі /home/.config/fish/config.fish Демонстрація особливостей
  3. Як розділити файл на частини Використовуємо командуsplit, щоб розділити файл на кілька маленьких: split --bytes=1024M file.mkv file.part.Ми вказали: file.mkv — ім'я вихідного файлу, який необхідно розбити на частини. file.part.- Префікс (назва) імен файлів, на які буде розбито вихідний файл. Тобто в нашому випадку ми розіб'ємо вихідний файл на файлиfile.part.aa,file.part.ab,file.part.ac, ... --bytes=1024M - Задає розмір файлів, на які розбивається вихідний файл. У цьому випадку ми розбиваємо вихідний великий файл на файли розміром 1024 мегабайт. Для визначення розміру можна використовувати символи: K або k - кілобайти M або m - мегабайти G або g - гігабайти Наприклад, щоб розділити файл на частини розміром 512 кілобайт, потрібно використовувати опцію--bytes=512K Як об'єднати файли в один Після того, як ми розбили файл на частини, можна об'єднати їх, щоб отримати вихідний файл. Для цього використовуємо команду: cat file.part.* > file.mkvfile.part.* - маска імені файлів шматочків, які ми об'єднуємо. file.mkv - Назва (шлях) до файлу, в який ми об'єднуємо наші файли-шматочки. Як розбити текстовий файл рядкамиЯкщо вам потрібно розділити текстовий файл на кілька файлів за кількістю рядків, то ми можемо використовувати командуsplitз опцією-l, яка визначає кількість рядків у кожному файлі, на які ми розбиваємо вихідний файл. split -l 1000 textfile.txt textfile.part.Ми розділили вихідний текстовий файл на файли по 1000 рядків у кожному. Об'єднання файлів виконується так, як описано в попередньому параграфі. ВисновокМи розглянули найпростіші способи поділу файлу на кілька частин за допомогою командного рядка. Для розділення файлів використовується командаsplit. Для об'єднання файлів ми використовували командуcat. Щоб отримати більш детальну інформацію про командуsplit, виконайте у терміналі: man splitОписаний вище спосіб можна використовувати як у Linux, так і MacOS.
  4. Ciko опублікував тема в Статті
    Опис команди tailtail Друкує останні 10 рядків файлу або останніх 10 рядків виведення іншої команди. Кількість друкованих рядків можна змінити. Підтримує відстеження зміни вмісту файлу. Синтаксисtail опції ФАЙЛ ФАЙЛ — це один або кілька файлів, записаних через пробіл, рядки яких потрібно вивести. Якщо вказується кілька файлів, виводиться останні N рядків із кожного файла. Перед початком виведення рядків кожного файлу відображається ім'я файлу. Опції-n LINESабо--lines=LINESабо--lines=+LINES Вказує кількість рядків, яку потрібно вивести. LINES — кількість перших рядків із файлу, яке потрібно вивести. Якщо передLINESвказано знак+, Виводиться весь вміст файлу, крім перших N-1 рядків (де N=LINES), тобто, починаючи з рядка з номером N. -c BYTESабо--bytes=BYTESабо--bytes=+BYTES Задає кількість байт, яку потрібно вивести. BYTES — кількість останніх байт із файлу, яке потрібно вивести. Якщо перед значеннямBYTESвказано знак+, Виводиться весь вміст файлу, крім перших N-1 байт (де N=BYTES), тобто, починаючи з байта з номером N. ЗначенняBYTESможна вказати з суфіксом: b (512 байт), kB (1000 байт), MB (1000 1000), M (1024 1024), GB (1000 1000 1000), G (1024 1024 1024), T ,. KiB=K, MiB=M тощо. -f Відстежувати появу нових рядків у файлі. Виводити останні рядки файлу в міру їх появи. За замовчуванням tails слідкує за дескриптором файлу (--follow=descriptor), тобто, наприклад, якщо під час відстеження файл буде перейменований, це не вплине на виконання команди. --follow=descriptor Слідкуйте за дескриптором файлу. Те саме, що й просто-f(Див. опис вище для опції-f). --follow=name Відстежувати файл на ім'я (не по дескриптору). вище опис опції-f --retry Намагайтеся відкрити файл, якщо він недоступний. Опція використовується лише під час відстеження файлу, тобто спільно з опцією-fабо--follow={name,descriptor} Опцію зручно використовувати при відстеження файлів логів, які можуть ротуватися, тобто файл, що відстежується, періодично може бути недоступний. -F Те саме, що й --follow=name --retry. Відстежувати файл на ім'я; намагатись відкрити, якщо недоступний. --max-unchanged-stats=N Використовується разом із опцією--follow=name. Повторно відкриває файл, розмір якого не змінився після Nперевірок (за замовчуванням 5), щоб перевірити чи був файл перейменований (наприклад, це файл логів, що ротується) або виконаний unlink. --pid=PID Припинити відстеження, якщо процес з ідентифікаторомPID вмирає. Використовується разом із опцією-f. -sабо--sleep-interval=N Робити паузу приблизно Nсекунд (за промовчанням 1) між перевірками файлу. Використовується разом із опцією-f. У inotify та --pid=PIDвиконувати перевірку процесуPIDмінімум один раз на Nсекунд. -qабо--quietабо--silent Не друкуйте імена файлів. Примітка: Імена файлів друкуються, якщо вказано декілька файлів. Якщо ця опція встановлена, імена файлів не друкуються, і між вмістом різних файлів не додається порожній рядок. -vабо--verbose Завжди друкувати імена файлів. Перед вмістом файлу додається рядок з ім'ям файлу. -zабо--zero-terminated Вважати, що рядки у файлі поділяються символом NULL. --help Показати довідку за командою tail. --version Показати версію утиліти tail. Приклади використання команди tailРозглянемо кілька прикладів використання командиtailу Linux. Виведення останніх рядків файлу на екранВивести останні 10 рядків файлу: tail myfile.txtВивести останні 25 рядків файлу: tail -n25 myfile.txtВиведення кількох останніх байт файлуВивести вміст останніх 100 байт файлу: tail -c100 myfile.txtВивести вміст останнього мегабайта файлу (тут використовується суфікс M): tail -c1M myfile.txtВиведення останніх рядків із кількох файлівВивести останні 3 рядки з кожного файлу: tail -n3 myfile.txt myfile2.txtРезультат: ==> myfile.txt <== Ubuntu MATE Xubuntu Lubuntu ==> myfile2.txt <== Clear Linux Bodhi Linux Garuda LinuxВикористання tail для друку останніх рядків виведення іншої командиКомандуtailможна використовувати, щоб надрукувати останні N рядків виведення іншої команди. Виконати командуls -tта вивести лише останні 5 рядків. Командаls -tвиводить на екран список файлів у директорії та сортує їх за часом зміни (бо вказано ключ-t). У цьому прикладі будуть виведені не всі файли, а останні 5. ls -t | tail -n5Вивести вміст файлу командою cat, але надрукувати тільки останні 12 рядків: cat /var/log/Xorg.0.log | tail -n12Відстеження змін у файлах логівКомандаtailможе використовуватися для відстеження змін у файлах логів (або будь-яких інших), до яких періодично можуть додаватися нові рядки. Відстежувати появу нових рядків у файлі/var/log/messagesта виводити останні 20 рядків файлу: tail -n20 -F /var/log/messagesПопередня команда має особливість, що, наприклад, якщо під час відстеження файл буде очищено або замінено іншим файлом, то після цього командаtailдрукує весь вміст файлу. Якщо така поведінка неприйнятна, то можна скористатися командоюwatchспільно з tail. Виводити останні 20 рядків файлу раз на 2 секунди: watch -n2 tail -n20 myfile.txt
  5. Ciko опублікував тема в Статті
    Встановлення NixOSNixOS можна встановити з live образу у графічному режимі зі звичним установником Calamares. На сьогодні є дві версії образу з DE, в яких запускається інсталятор, GNOME та KDE. Також є мінімалістичний .iso без графічної оболонки. Я вибрав Calamares для мене так простіше. У самій установці нічого складного немає, але хочеться позначити один нюанс із розбивкою дисків. Усі встановлені програми, бібліотеки та інше зберігаються в /nix/store/ . Насправді вся ОС перебуває у /nix/store . В корені / нічого не зберігається, крім структури каталогів та посилань. Якщо ви щось захочете додати або редагувати в цих каталогах, це не вплине ні на що, і взагалі не працюватиме. Усі налаштування та інше потрібно прописувати лише у файлі /etc/nixos/configuration.nix . Я встановлював NixOS на SSD диск 60Гб, розбив його так: /boot/efi - 512МБ, під корінь залишив / - 2 ГБ ( навіть цього виявилося багато, зараз використовується всього 450МБ), і, головне, змонтував 37ГБ /nix (сюди ОС буде встановлювати все і вся, зараз у мене використано 17 ГБ), все інше, 20ГБ , Під час встановлення смужка прогресу застряє на приблизно 46%, але установка продовжується, можна клікнути на кнопочку праворуч в кінці прогресу, щось на зразок log... Ще нам запропонують поставити галочку на дозвіл на використання пропрієтарного ПЗ. Ставимо. Налаштування NixOSІ так система встановилася, перезавантажуємося і бачимо звичну DE, яку ви вибрали на якомусь етапі установки. Я вибрав Cinnamon. Перше, що ми зробимо, перейдемо на Unstable channels. У Nix подібність репозиторіїв називаються channels (канали). Перехід на Unstable версію обумовлений тим, що в стабільній версії може не виявитися потрібного та звичного ПЗ, та й версії пакетів застарілі, як Debian stable. Нестабільний, це не означає, що відразу будь-якої миті все зламається. Версії пакетів будуть щось на зразок Debian testing + sid. Та й у будь-який момент можна буде з легкістю перезавантажитись у попередній стан системи. Робочу систему неможливо зламати якимись неправильними діями. Це ще одна чудова особливість nix, але про це пізніше. Додаємо канали: sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos sudo nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixosОновлюємо канали: sudo nix-channel -updateОновлюємо всю систему: sudo nixos-rebuild switch --upgradeВід звичного в NixOS тільки de, яке ви можете потикати, покликати, але встановити з його допомогою нічого не вийде. Усі DE у NixOS максимально урізані. Навіть деякі штатні програми не працюють. У nix все робиться через configuration.nix Встановлення програмВсі програми встановлюються простим переліком назв пакетів у configuration.nix . Але тут також є кілька особливостей: Назва програм може кардинально відрізнятися від звичних інших дистрибутивів. Деякі популярні програми існують у двох видах. У вигляді сервісів, що підключаються, і просто програм. Дуже багато поширеного софту NixOs існує у вигляді сервісів. Steam, wine, waydroid та ін., та ін. Тому, перш ніж вписувати щось у configuration.nix , спочатку потрібно знайти назву цікавої для вас програми на сайті пошуку NixOS: https://search.nixos.org Спочатку тиснемо кнопку unstable внизу форми пошуку. Потім NixOS options. Якщо нічого не знаходимо, то шукаємо Packages. Для прикладу встановимо ігровий клієнт Steam: Набираємо у формі пошуку Steam. Виходить багато різних назв сервісів та опцій для Steam. Потрібне нам називається programs.steam.enable . Дізнаємося з опису, натиснувши на посилання, як його включити. Тепер включаємо його, просто вписуючи в cofigutation.nix : programs.steam.enable = true;Не забуваємо дотримуватися всіх знаків пунктуації, особливо в кінці крапка з комою. Для цього відкриємо термінал та відредагуємо файл configuration.nix у редакторі nano. sudo nano /etc/nixos/configuration.nixЯкщо зручніше, у Cinnamon можна відкрити штатним редактором xed. Або який знайдете залежно від обраного при встановленні DE. Але nano у системі встановлений завжди. sudo xed /etc/nixos/configuration.nixУ ньому вже прописані купа будь-яких початкових налаштувань та блоків. Вписуємо десь, щоб не потрапити в якийсь блок ув'язнений між всілякими дужками. programs.steam.enable = true;Для запуску деяких ігор в Steam потрібно буде встановити пакет Steam-runtime. Знову відкриваємо сайт пошуку та шукаємо Steam-runtime. У NixOS options нічого не знаходить, тому клацаємо по Packages. Потрібний пакет називається steamPackages.steam-runtime. І ще одна особливість. Пакети, програми вписуємо у певний блок. Можна встановити набір програм для конкретного користувача або всієї системи. Програми для всієї системи будуть доступні всім користувачам, а програми для конкретного користувача будуть доступні лише для цього користувача. Якщо встановлюємо програму або пакет для конкретного користувача, то назву прописуємо в блок: users.users.evu = { isNormalUser = true; description = "evu"; extraGroups = [ "networkmanager" "wheel" ]; packages = with pkgs; [ steamPackages.steam-runtime firefox ]; };evu – ім'я мого користувача. extraGroups – групи користувача. packages = with pkgs; []; - Усередині дужок вписуємо список програм. Якщо встановлюємо для всієї системи, то прописуємо в цей блок: environment.systemPackages = with pkgs; [ steamPackages.steam-runtime firefox ];Тепер зберігаємо те, що змінили в configuration.nix і переходимо до установки. Текстовий редактор не можна закривати. Відкриваємо термінал та запускаємо команду переконфігурації: sudo nixos-rebuild switchПісля запуску команди усі програми встановляться. І тут станеться найцікавіша особливість nix. NixOS збереже атомарний знімок усієї попередньої системи до всіх внесених виправлень. Тобто, якщо ви щось не наробили, можна перезавантажитися в той стан ОС, який був до виправлень. У меню завантаження з'явиться відповідний пункт. Налаштування, конфігурація та встановлення драйверів обладнанняНалаштування та драйвера обладнання також прописуються у файлі configuration.nix . У встановленій системі /etc/nixos/ є ще один файл hardware-configuration.nix , який вважається частиною configuration.nix , тому що він прописаний в configuration.nix у верхніх рядках як: imports = [ ./hardware-configuration.nix ];Також можна підключати інші створені вами файли конфігурації. Або все перенести в один configuration.nix . Насправді nix використовує модульну систему для своєї декларативної конфігурації, configuration.nix це теж модуль, до якого можна підключати інші модулі. Структура модуля виглядає так: { config, pkgs, ... }: { imports = [ путь к импортируемуму другому модулю, например: ./hardware-configuration.nix ]; options = { объявления опций }; config = { конфигурация опций }; }Відкриємо hardware-configuration.nix у редакторі також, як configuration.nix і розбиратимемося що там є. boot.initrd.availableKernelModules - включаються перші під час завантаження модулі ядра. boot.initrd.kernelModules - також модулі, що підключаються, але тільки які повинні бути завантажені після основних модулів ядра. Тут можна увімкнути вбудований в ядро драйвер відеокарти та модуль віртуалізації процесора. Наприклад, для включення драйвера відеокарт від AMD і віртуалізації процесора AMD, рядок буде виглядати так: boot.initrd.kernelModules = [ "amdgpu" "kvm-amd" ];Також можна керувати утилітою sysctl. Наприклад, відомий трюк, щоб швидкість при копіюванні інший накопичувач, наприклад на флешку, показувала як у Windows, а чи не якісь позамежні швидкості копіювання в ОЗУ. Рядок з параметрами виглядатиме так: boot.kernel.sysctl = { "vm.dirty_bytes" = 2097152; "vm.dirty_background_bytes" = 2097152; };Щоб система бачила файлову систему ntfs, додамо нижче рядки: boot.supportedFilesystems = [ "ntfs" ];Монтування дисківПро монтування дисків хочу попередити, ні які програми за типом gnome-disk-utility не зможуть переписати fstab. Такими утилітами можна змонтувати диск, але при наступному завантаженні системи параметри не збережуться. Щоб змонтувати диск, який ви не змонтували під час встановлення, можна додати до конфігурації таким чином. Пишемо в hardware-configuration.nix : fileSystems."/mnt/nvme0n1p1" = { device = "/dev/disk/by-uuid/5c9fc239-e0d2-45d5-a960-90869da63e99"; fsType = "ext4"; options = [ "noatime" "nodiratime" "discard" "x-gvfs-show" ]; };Тут потрібно вказати, куди монтувати, uuid – вашого диска та параметри монтування. Відкриваємо термінал. Застосовуємо реконфігурацію. sudo nixos-rebuild switchСпочатку цю команду доведеться застосовувати часто.
  6. 1. Використання клавіш.Немає нічого складного в тому, що використання клавіш дозволяє підвищити продуктивність. Ось кілька простих поєднань клавіш, які можна використовувати в Thunar, щоб зменшити використання миші: Ctrl+T Нова вкладка Ctrl+N Нове вікно F3 Режим подвійної панелі Alt + ← Назад Alt + → Вперед Alt + ↑ Відкрити батьківський каталог Ctrl+F Пошук файлів Ctrl+S Вибрати файл за шаблоном Ctrl + H Показати приховані файли Ctrl + E Деревоподібна вистава на бічній панелі Ctrl+B Перемикання назад на режим закладок (повторні натискання приховують панель) Alt + Home Перейти до домашнього каталогу Ctrl + M Приховати/показати меню Поєднання можна змінювати на свої, доступно багато не зайнятих дій 2. Відкрийте Thunar із того місця, де ви зупинилисяУ російській локалізації це налаштування називається «Відновлювати вкладки під час запуску». Щоб увімкнути цю функцію, виконайте три дії: 1) Клацніть на меню Правка та виберіть «Налаштування»; 2) Перейдіть на вкладку «Поведінка»; 3) І встановіть прапорець на «Відновлювати вкладки під час запуску» 3. Додати емблему до файлу або папкиЕмблеми можна розглядати як спеціальну наклейку для файлу або папки, які потрібно швидше дізнатися. Додати можна кілька. Чекаю, коли дозволять замість стандартних тек задавати свої значки. 4. Виділення файлу/папки акцентним кольоромЯкщо додавання піктограм недостатньо для того, щоб виділити файл/папку серед інших, можна змінити колір тла або колір шрифту. Робиться це там, у властивостях файлу/папки, в сусідній вкладці. Обидва прийоми можна комбінувати. 5. Плагіни ThunarУ порівнянні з відомими ФМ, Thunar має порівняно менше плагінів, так як все можна зробити за допомогою дій користувача, а інші можливості вбудовані. Але кілька корисних плагінів все ж таки є. Дізнатися про них більше на офіційному сайті . Для Gentoo/Calculate, наприклад, список плагінів є у сторонньому оверлеї . 6. Функція двох панелей для переміщення та копіювання файлівЯ сам ніколи не користувався двопанельним режимом, мені простіше (звичніше) відкрити друге вікно за потреби, але в 4.18 додали можливість розділити вікно для зручності копіювання/переміщення файлів. 7. Спеціальні дії в Thunar (для досвідчених користувачів)Впевнений, що досвідчені користувачі і так знають про цю чудову можливість. Найбільше з представленого списку мені сподобалася можливість «Створення команд користувача (Особливі дії)», яка розширює стандартний функціонал. Самі дії задаються термінальними командами, налаштовується асоціація для типів файлів, а ці дії можна у вигляді кнопок винести на панель меню, задавши їм значок. ~/.config/Thunar/uca.xml
  7. Щоб у Thunar відкривати папки з правами root по ПКМ, у Правка - Особливі дії... зробіть як на картинці. Утиліта gksu, яку можна побачити у деяких статтях, вже застаріла та не рекомендується. Її де-не-де ще можна зустріти, але тепер потрібно використовувати pkexec. При такому запуску Thunar він відкриватиметься з налаштуваннями для root, а не з вашими користувачами, і якщо ви зміните налаштування, то зберегти їх не вийде. Але зазвичай рекомендують мати інший інтерфейс при роботі з правами root, щоб пам'ятати про це. Такий режим роботи організований за допомогою polkit (колишня PolicyKit) — кошти для управління правами додатків, які, запущеними не від root, можуть отримувати можливість вирішувати адміністративні завдання в рамках встановлених політик. Вони описуються в html-файлах /usr/share/polkit-1/actions/ з іменами *.policy. З pkexec менеджер thunar отримує можливості адміністратора із файлу org.xfce.thunar.policy. У деяких пакетах утиліт вже є файли з політиками для них, наприклад gparted і mousepad. Якщо політики немає (звичайна справа), її можна створити. Зробимо її для нещодавно оновленого geany. Беремо org.xfce.thunar.policy за зразок і міняємо там все про thunar на все про geany. Значення <action id=""> повинно співпадати з назвою файлу політики *.policy, до якого ми її збережемо. На фото це pingvinus.geany. У Thunar Редагування - Особливі дії... пропишемо geany як на знімку. Тепер в Thunar ПКМ можна відкрити будь-який файл для редагування в geany.
  8. Ciko опублікував тема в Статті
    Що таке IceWM?Це віконний менеджер для Linux, BSD, що дуже нагадує Win9x. Установка IceWM:Якщо графічне оточення вже є: Скрізь, де я пробував його пакет називається просто: icewm Інакше: Встановлюємо xorg xorg-server та за допомогою nano (або іншого редактора) редагуємо кінець xinitrc : setxkbmap -model pc105 -layout us,ru -option grp:alt_shift_toggle exec icewm-sessionРядок setxkbmap для підтримки російського введення, а exec для запуску icewm з startx. І наприкінці home/папкаюзера/.bash_profile: exec startxЦе запускає icewm після входу. Бажано встановити xfce4-terminal . Ну, дуже просто вийшло. НалаштуванняФайли конфігурації знаходяться у системному каталозі /etc/X11/icewm або каталозі /usr/share/icewm . Меню генерується саме, але для налаштування меню можна редагувати menu у зазначених каталогах. Для звуку встановлюємо: volumeicon Для інтернету: wpa_gui Для скріншотів: flameshot Для додатків: lxappearance І пишемо в кінець /etc/X11/xinit/xinitrc : volumeicon& wpa_gui& flameshot&ВикористанняОсобливих знань для його використання не потрібно, але хочу помітити, що не ставляться шпалери (навіть через рідний icewmbg). Теми вибираються в Меню>Установки>Теми Також у меню є багато інших корисних пунктів. Є вбудована довідкова інформація.
  9. "Вибирай робочий стіл і погнали в 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" тут вже достатньо.
  10. Система: 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Перезавантажити комп'ютер. Після перезавантаження папка буде змонтована та з'явиться у файловому менеджері. Які використовувати імена папок, груп, програм кожен вирішує сам. Ідеї створення спільної папки підійдуть і для інших дистрибутивів, будуть відмінності в командах та параметрах, використовуйте відповідні для вашої системи.
  11. Розташування та розмір кешуКеш 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
  12. Аналоги з відкритим вихідним кодом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).
  13. Ми маємо складну конфігурацію, тому ми будемо використовувати напівавтоматичну установку (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 пакетів. Це чудовий вибір для любителів мінімалістичних систем.
  14. Встановлення та налаштування 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 через будь-які причини.
  15. 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 # запускати або НЕ запускати зламаний процес
  16. 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 зі своїм набором параметрів, немає графічної консолі, доведеться звикати до термінальних команд.
  17. 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 і вище (але це не точно)
  18. Основні діїПрописувати потрібні параметри та змінювати потрібно вміст файлу /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, виходить такий компромісний варіант.
  19. Ця нотатка це вичавка, мій вільний переклад статті "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.
  20. 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. Підбиття підсумків
  21. Що таке 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, Пінгвінус! ".
  22. Ciko опублікував тема в Статті
    Сьогодні невелика кількість ПК обходяться без оглядачів інтернету, якщо такі існують (хто обходиться, цей матеріал читати не стануть). Перше, на що можна звернути увагу після установки 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
  23. Що таке 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, які шукають легковажний і налаштований дистрибутив з можливістю вибору стандартної бібліотеки мови Сі.
  24. 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. Якщо потрібно продовжити, готовий додати більше деталей!
  25. Перегони озброєнь у сфері дипфейків набирають обертів. TikTok нещодавно натякнув, що починає протидію. Для деяких творців контенту США запускається опціональний інструмент виявлення дипфейків. Він сканує платформу на наявність несанкціонованих AI-генерацій вашої особи. Якщо ви побачите себе в невідповідному місці, тепер можна повідомити про це безпосередньо через програму. Соціальний медіа-експерт Метт Наварра, відомий своєю увагою до таких речей, першим помітив тест. Представник TikTok США Закарі Кімер підтвердив новину. Але є нюанс. Доступ поки що не для всіх — лише для «деяких» творців у США. YouTube вже має аналогічний функціонал, відкритий для всіх дорослих користувачів, хто хоче ним скористатися. Навіщо підтверджувати особу для боротьби з дипфейками?Звучить суперечливо, правда? Дати компанії своє обличчя, щоб вона могла запобігти його використанню іншими. Щоб скористатися цим інструментом потрібно пройти кілька кроків. Перший – верифікація. Для підтвердження особистості потрібний сервіс Jumio. Це означає сканування селфі у реальному часі. Потім ви скануєте посвідчення особи, видане державою. Це суворо. Це бюрократія. Але що важливо: TikTok стверджує, що не зберігає ваші документи. Дані про особу використовуються виключно для порівняння з можливими порушеннями. Проте передача біометричних даних викликає побоювання в деяких людей. Це компроміс. Приватність за захист. Ви самі вирішуєте, який ризик видається вам більш значущим. Що відбувається після верифікації?Після того, як довіра встановлена, система запускається. Вона починає пошук. Система сканує контент, який може бути згенерований AI з використанням подібності. Вона не просто чекає, коли хтось звинуватить вас у підміні іншого творця. Вона проактивно шукає потенційних збігів. Потім бачите, що вона знайшла. Ви маєте останнє слово. Якщо ви знайдете пост, який використовує вашу особу без дозволу, ви можете його відзначити. TikTok потім розглядає та вживає заходів. Так замикається коло. Раніше повідомлення про такі випадки були хаотичним процесом. Тепер це вбудована частина робочого процесу. Що краще для захисту цифрової ідентичності: нова система TikTok сканування або ручне повідомлення? Для тих, кого торкалися реалістичних фальшивих відео, це виглядає як швидший шлях до вирішення проблеми.

Акаунт

Навігація

Пошук

Пошук

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.