add ukrainian language

main
seshotake 2 years ago committed by marshmallow
parent 7f26bb026f
commit 0bd65bd853

@ -0,0 +1 @@
title: Amethyst

@ -0,0 +1,25 @@
---
title: Ключі конфігурації
---
## [base]
| Ключ | Опис | За замовчуванням |
| ------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------- |
| `pacdiff_warn` | Чи попереджати користувача про `vimdiff` для `pacdiff` | `true` |
| `paccache_keep` | Скільки версій (кількість разів, коли пакет було завантажено в кеш) пакета, який ви хочете зберегти в кеші | `0` |
| `paccache_keep_ins_pkgs` | Виключити видалення встановлених пакетів із кешу | `true` |
| `aur_verification_prompt` | Якщо `true`, запитує користувача, чи бажає він використовувати AUR для операції. | `true` |
## [extra]
| Ключ | Опис | За замовчуванням |
| ----------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------- |
| `uwu` | Робить вивід Amethyst... "милішим" | `false` |
| `uwu_debug` | Робить налагодження та трасування `uwu`. Будь ласка, ніколи не надсилайте нам журнали налагодження, коли це ввімкнено. | `false` |
## [bin]
| Ключ | Опис | За замовчуванням |
| ------ | ------------------------------------------------------------ | ---------------- |
| `sudo` | Шлях для використання `sudo` (або будь-яких `sudo`-подібних) | `'sudo'` |

@ -0,0 +1,42 @@
---
title: Початок роботи
weight: 20
---
Amethyst — це швидкий, ефективний, легкий помічник AUR та обгортка Pacman. Створений для Crystal, сумісний з будь-яким дистрибутивом Linux на основі Arch.
![Amethyst demo](/demos/ame.png)
## Встановлення
### Crystal Linux
Amethyst встановлений на Crystal Linux автоматично
### Non-Crystal дистрибутиви
1. `sudo pacman -S --needed base-devel pacman-contrib cargo`
2. `git clone https://github.com/crystal-linux/pkgbuild.amethyst`
3. `cd pkgbuild.amethyst && makepkg -si`
Також пакет можна знайти у AUR як [`ame`](https://aur.archlinux.org/packages/ame).
## Використання
Amethyst підтримує підкоманди та прапорці у стилі Pacman. Щоб дізнатися більше, прочитайте детальну інформацію про [Використання](usage).
## Налаштування
Ви можете налаштувати Amethyst за допомогою файлу `~/.config/ame/config.toml`, який створюється автоматично. Кожен ключ пояснюється у [Ключі конфігурації](config).
```toml
# ~/.config/ame/config.toml
[base]
pacdiff_warn = true
paccache_keep = 0
paccache_keep_ins_pkgs = true
[bin]
sudo = 'sudo'
```

@ -0,0 +1,31 @@
---
title: Використання
weight: 10
---
### Основні команди
| Дія | Псевдонім у стилі FreeBSD pkg | Прапори у стилі Pacman |
| ---------------------- | ----------------------------- | ---------------------- |
| Встановити пакет | ame ins/install | ame -S |
| Remove a package | ame rm/remove | ame -R/-Rs |
| Upgrade a package | ame upg/upgrade | ame -Syu |
| Search for a package | ame sea/search | ame -Ss |
| Query the package list | ame qu/query | ame -Q |
| Show a package's info | ame inf/info | ame -Qi |
| Clean the pacman cache | ame cl/clean | ame -Sc |
| Check for .pacnew | ame di/diff | ame -D |
### Статус завершення
| Статус завершення (i32) | Причина |
| ----------------------- | --------------------------------------------------------------- |
| 1 | Запуск ame через UID 0 / root |
| 2 | Не вдалося створити шляхи |
| 3 | Не вдалося знайти одну або кілька необхідних залежностей пакета |
| 4 | Користувач скасував встановлення пакета |
| 5 | Помилка Pacman під час встановлення пакета |
| 6 | Помилка Git |
| 7 | Помилка Makepkg |
| 8 | Не вдалося проаналізувати файл конфігурації |
| 63 | Будь-яка інша помилка |

@ -0,0 +1,2 @@
title: Crystal Linux
weight: 10

@ -0,0 +1,5 @@
---
title: Початок роботи
---
Ласкаво просимо до документації по Crystal Linux!

@ -0,0 +1,63 @@
---
title: Як запустити Wayland на відеокарті NVIDIA
---
Wayland вимагає, щоб для графічного процесора nvidia було ввімкнено налаштування режиму, для цього вам потрібно додати драйвери nvidia до модулів mkinitcpio та додати позначку ядра `nvidia-drm.modeset=1`
## Додавання nvidia до модулів mkinitcpio
Щоб додати необхідні модулі nvidia `nvidia nvidia_modeset nvidia_uvm nvidia_drm` до модулів mkinitcpio, потрібно відредагувати `/etc/mkinitcpio.conf`, запустивши `sudo nano /etc/mkinitcpio.conf`
у цьому файлі має бути рядок, який виглядає так:
```
MODULES=()
```
додайте модулі у дужки, назви модулів розділяються пробілами, в кінці рядок має виглядати так:
```
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
```
Щоб зберегти файл, вам потрібно натиснути `CTRL+O` і вийти за допомогою `CTRL+X`
Тепер створіть initramfs:
```
sudo mkinitcpio -P
```
## Додавання прапора ядра
Щоб додати прапор ядра за допомогою grub, потрібно відредагувати `/etc/default/grub`, запустивши `sudo nano /etc/default/grub`, знайдіть рядок, який виглядає так:
```
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
```
Вам потрібно буде додати `nvidia-drm.modeset=1` до цього рядка, щоб він виглядав так:
```
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet nvidia_drm.modeset=1"
```
Так само, як і з модулями mkinitcpio, щоб зберегти та вийти, вам доведеться спочатку натиснути `CTRL+O`, а потім `CTRL+X`
Після того, як ви додасте параметр ядра, повторно створіть конфігурацію grub, щоб відобразити зміни прапора ядра, для цього вам потрібно запустити
```
sudo grub-mkconfig -o /boot/grub/grub.cfg
```
Це створить конфігурацію grub і збереже її у /boot/grub/grub.cfg
## Додаткові кроки для GNOME та onyx
GDM використовує деякі залежні від чипсета [правила udev](https://wiki.archlinux.org/title/Udev), щоб перевірити, чи він примусово використовує Xorg замість Wayland. Ці правила udev можна вимкнути, виконавши цю команду:
### Видалення gdm udev, який вимикає Wayland
GDM використовує деякі залежні від чипсета [правила udev](https://gitlab.gnome.org/GNOME/gdm/-/blob/main/data/61-gdm.rules.in), щоб перевірити, чи слід примусово використовувати Xorg замість Wayland. Якщо ви хочете примусово ввімкнути Wayland, виконайте цю команду.
```
sudo ln -s /dev/null /etc/udev/rules.d/61-gdm.rules
```
Ця команда повинна символічно посилатися на правила udev GDM з _нічого_. Правила у `/etc/udev/rules.d/` повинні перезаписати правила у `/usr/lib/udev/rules.d` (які надсилаються самим пакетом і керуються вашим менеджером пакетів).
А після цього перезавантажтеся, і GNOME Wayland _має_ працювати!
## Перезавантаження
Після того, як ви пройшли всі кроки, а саме:
- додали модулі mkinitcpio
- створили initcpio
- додали прапорці ядра за допомогою grub
- згенерували конфігурацію grub
- необов'язково вимкнули правила udev
Тепер ви можете використовувати Wayland! Просто перезавантажте систему, і ви зможете увійти в сеанс Wayland
Якщо все одно не працює, можливо, ваш графічний процесор не підтримує Wayland у власних драйверах NVIDIA. Це не можна виправити, окрім використання драйвера nouveau, який, на жаль, працює не так добре, як власні драйвери nvidia.

@ -0,0 +1 @@
title: Malachite

@ -0,0 +1,131 @@
---
title: Основні можливості
---
Як `[mode]`, спільний між е-м… сховищами… чи щось подібне.
## Що потрібно знати
Malachite досить конкретизований у режимі Сховища, і не дуже в режимі Робочого простору.
Звісно, це не тому, що я ледачий і ненавиджу режим Робочого простору чи щось інше, просто нема чого _додавати_.
Без зайвих слів, давайте подивимося на цей приклад конфігураційного файлу.
```toml
# mlc.toml
[base]
mode = "workspace"
smart_pull = true
[mode.workspace]
git_info = true
colorblind = true
[repositories]
repos = [
"foo:repo1:2",
"foo:repo2/testing",
"bar:baz!",
"bar:qux/testing!:1",
]
[repositories.urls]
foo = "https://example.org/{}.git"
bar = "https://example.org/other/{}.git"
```
Спочатку це буде виглядати дуже заплутаним, але потерпіть мене.
У цьому документі ми розглянемо лише те, що потрібно знати для **обох** режимів.
Посилання на додаткові спеціалізовані посібники для кожного режиму розташовано внизу цієї сторінки.
Почнемо з `[base]`.
## Базова конфігурація
Базова конфігурація визначає кілька загальних параметрів для всіх режимів Malachite.
```toml
[base]
mode = "workspace"
smart_pull = true
```
У цьому фрагменті ми визначаємо `mode` як `"workspace"`.
`base.mode` у Malachite може бути лише одним із `"workspace"` або `"repository``, і визначає, барабанний дріб…
Режим, в якому він працює. Якщо для нього встановлено будь-який режим, окрім цих 2 режимів, він аварійно завершує роботу.
У цьому фрагменті також визначено `smart_pull`, який контролює, чи слід виконувати команду pull… розумно.
Насправді це означає, що замість того, щоб просто виконувати простий `git pull` у кожному сховищі, Malachite
буде:
- Спочатку запустить `git remote update`, щоб отримати нові віддалені сховища з джерела
- Потім запустить `git status` і проаналізує вивід, щоб побачити, чи поточна гілка відстала
- Якщо поточна гілка відстає, вона запускає звичайний `git pull`, який використовує переваги віддаленого керування,
яке вже оновлюється.
Теоретично, це прискорює роботу лише на хвилину (справді, подумайте, мілісекунди). Проте, де ця функція сяє, так у режимі сховища,
де він активує корисні функції автоматизації, такі як `build_on_update`.
Незважаючи на це, рекомендовано залишати його ввімкненим для невеликого прискорення та вимикати, лише якщо це спричиняє проблеми.
У мене особисто ніколи з цим не було проблем у минулому, але хто знає, що може статися. Це ж Git, про який ми говоримо.
### Конфігурація сховища
Конфігурація сховищ це те, що дійсно змушує Malachite збивати сховища внутрішньо.
Уся мета у тому, що він робить, і тому ми спробували придумати акуратну маленьку систему, яка допоможе
полегшити багато пакетів без необхідності вводити кожну URL-адресу мільйон разів.
```toml
[repositories]
repos = [
"foo:repo1:2",
"foo:repo2/testing",
"bar:baz!",
"bar:qux/testing!:1",
]
[repositories.urls]
foo = "https://example.org/{}.git"
bar = "https://example.org/other/{}.git"
```
Працює це дуже просто:
- Ми маємо 2 URL-адреси в ключі `repositories.urls`.
- Кожний `repo` в ключі `repositories.repos` має префікс ідентифікатора.
- Якщо числом є `foo`, буде вставлено URL-адресу з ідентифікатором `foo`.
- Зокрема, в URL-адресу замість підрядка `%repo%` буде вставлено визначене ім’я `repo`.
### Почекайте, які спеціальні символи????
Я радий, що ви запитали!
- Якщо ви хочете скопіювати певну гілку, просто використовуйте роздільник `/`. Щоб скопіювати сховище `foo` у гілці `bar`, використовуйте `id:foo/bar`.
- Якщо ви хочете, щоб певний пакет збирався першим, використовуйте екземпляри `!`, щоб установити пріоритет. Це пояснюється пізніше на сторінці [Режим сховища](repository-mode).
Останній роздільник `:` є необов'язковим і поводиться по-різному залежно від режиму:
- У режимі сховища він визначає бажаний хеш/ревізію/тег для перевірки на клоні сховища
- У режимі робочого простору він визначає бажану глибину для клонування сховища, що корисно для великих сховищ git, таких як `nixpkgs`.
Це буквально все!
## Спеціальна конфігурація режиму
Щоб отримати спеціальну конфігурацію режиму, подивіться наступні посилання!
- [Режим робочого простору](workspace-mode)
- [Режим сховища](repository-mode)
## Examples
Приклади функціональної конфігурації для обох режимів доступні в каталозі [examples](https://github.com/crystal-linux/malachite/tree/main/examples)!
## Використання
Крім того, ви можете переглянути довідник з [Використання](detailed-usage)!

@ -0,0 +1,52 @@
---
title: Початок робити з Malachite
weight: 20
---
Перше сховище-малюк з Malachite!
### Що потрібно знати
Malachite є:
- Менеджером сховища pacman
- Менеджером робочого простору
- ~~Неймовірним~~
Malachite не є:
- Універсальним рішення для всіх сховищ pacman
- Ідеальним
### Не завадить знати
Привіт! Мене звуть Michal, і я написав цей інструмент практично самостійно для [Crystal Linux](https://getcryst.al);
але він не тільки для Crystal. Цей інструмент повинен і працюватиме на будь-якій pacman основаних
дистрибутивів (звісно, якщо він містить усі залежності Malachite).
У цьому довіднику я поясню кожну маленьку особливість Malachite, сподіваюся, у коротких та програмованих фрагментах.
Без зайвих слів, почнемо з першого, найважливішого запитання:
### Режими
Які режими ви використовуєте, працюючи з Malachite?
На даний момент Malachite підтримує 2 режими:
#### Режим сховища
- Дозволяє користувачеві налаштовувати та керувати віддаленим (або локальним) сховищем пакетів на основі pacman
- Дозволяє настроювати назву сховища, параметри підпису, ключ підпису тощо.
- Дозволяє базові рівні автоматизації за допомогою таких функцій, як build_on_update
#### Режим робочого простору
- Основна функція Malachite
- Просто клонує каталоги git у каталог "Робочий простір" для полегшення керування
- Дозволяє виконувати основні операції pull, щоб підтримувати ваші сховища в актуальному стані
Ці режими, по суті, визначають усе, як функціонує Malachite, настільки,
що тепер мені потрібно відокремити цю сторінку, поки вона не стане надто довгою!
Для отримання додаткової інформації перегляньте сторінку [Основні можливості](common-features)!

@ -0,0 +1,45 @@
---
title: Режим сховища
---
Керуйте своїми сховищами стильно!
### Конфігурація сховища
На відміну від досить порожнього режиму робочого простору, конфігурація режиму репозиторію досить конкретизована;
і у нас є кілька варіантів на вибір.
Давайте візьмемо приклад розділу конфігурації режиму сховища,
```toml
[mode.repository]
name = "example"
build_on_update = true
[mode.repository.signing]
enabled = true
key = "you@example.org"
on_gen = true
```
### Основна конфігурація сховища
Для початку існує 2 основні конфігураційні ключі для режиму сховища:
- `name`: Визначає, як pacman називає ваше сховище.
- `build_on_update`: У поєднанні з `smart_pull` визначає, чи слід автоматично перезбирати пакунки при виявленні оновлення.
### Підписання
Malachite також підтримує та заохочує до підписання пакетів.
Пакети підписані GPG гарантують, що користувач отримає саме те, що ви запакували, без будь-якого шансу підробки.
Повертаючись до прикладу вище, ми можемо побачити 3 конфігураційні ключі:
- `enabled`: Визначає, чи потрібно підписувати пакети (бажано).
- `key`: Визначає ідентифікатор ключа GPG для підпису.
- `on_gen`: Визначає, чи підписувати пакунки, коли вони створені, чи всі відразу під час створення сховища (це також рекомендовано).
---
Ви можете повернутись на сторінку [Початок роботи](getting-started) тут!

@ -0,0 +1,36 @@
---
title: Використання
weight: 10
---
Працюй старанніше, роби краще!
## Глобальні прапорці
| Прапорець | Опис |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `--verbose`, `-v` | Друкує багато налагоджувальної інформації до `stderr`. Якщо щось піде не так, надслиайте нам вивід з увімкнутим, це дуже допоможе |
| `--exclude`, `-x` | Виключає наданий пакет з поточної операції. Можна використовувати декілька разів. |
## Основні команди
| Дія | Команда | Додаткові прапори |
| ---------------------------------------------------------------------------------- | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| Зібрати пакет/пакети. | `mlc build <package>` [all if left empty] | `--no-regen`: Не регенерує сховище після збирання |
| Створити сховище pacman | `mlc repo-gen` | |
| Оновитить локальні PKGBUILD сховища | `mlc pull/update` [all if left empty] | `--no-regen`: Якщо `mode.repository.build_on_update` має значення `true`, не створює сховище після збірки пакета |
| Створити та/або відкрити конфігураційний файл | `mlc conf` | |
| Ініціалізувати сховище/робочий простір на основі конфігурації в mlc.toml | `mlc clone/init` | |
| Відобразити інформаційну панель/огляд поточного репо | `mlc info/status` | |
| Скинути сховище Malachite, видаляючи всі каталоги, пропускаючи `mlc.toml` і `.git` | `mlc clean/reset` | `--force`: Видаляє брудні каталоги (невідстежувані, некешовані тощо) |
## Статус завершення
| AppExitCode (названий Enum) | Статус завершення (i32) | Опис помилки |
| --------------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------ |
| `RunAsRoot` | `1` | Малахіт запускався як корінь. Це вкрай не рекомендується. Настільки, що він відмовляється запускатися. |
| `PkgsNotFound` | `2` | Не було вказано/знайдено пакетів для потрібної операції |
| `DirNotEmpty` | `3` | Спроба створити сховище Malachite у непорожньому каталозі |
| `ConfigParseError` | `4` | Не вдалося проаналізувати файл конфігурації |
| `RepoParseError` | `5` | Не вдалося проаналізувати інформацію сховища |
| `RepoNotClean` | `6` | git сховище не є пустим і не можна видалити без `--force` |

@ -0,0 +1,35 @@
---
title: Режим робочого простору
---
Тобі більше ніколи не доведеться працювати(у просторі) жодного дня у своєму житті!
### Конфігурація робочого простору
Взявши приклад з розділу конфігурації режиму робочого простору,
```toml
[mode.workspace]
git_info = true
colorblind = true
```
Наразі режим робочої області має лише 2 параметри, обидва стосуються відображення інформації. (`mlc info`)
Перший ключ `git_info`, який є логічним значенням. Якщо це правда, інформація git відображатиметься поруч із інформацією про сховище.
Ця інформація буде відформатована так: `D Pl Ps <останній хеш коміту>`
Ключ для значень такий:
- D: Чи брудне сховище чи ні (невідстежувані зміни)
- Pl: Чи є невитягнуті зміни з віддаленого сховища
- Ps: Чи є ненадіслані зміни у вашому локальному сховищі
Зазвичай вони відображаються зеленим (чистий) або червоним (брудний) кольором.
Однак, якщо `colorblind` має значення true, замість цього кольори будуть встановлені на синій (чистий) або темно-червоний (брудний), щоб користувачі з дальтонізмом могли помітити.
---
Ви можете повернутися на сторінку [Початок роботи](getting-started) тут!
Loading…
Cancel
Save