mirror of
https://github.com/fruworg/fruworg.github.io.git
synced 2025-06-17 10:10:26 +03:00
Compare commits
28 Commits
d016387976
...
main
Author | SHA1 | Date | |
---|---|---|---|
01cb4bba16 | |||
843a9df5ac | |||
30562fd47a | |||
679383ab46 | |||
c3fd5815a5 | |||
8cbbeedd2b | |||
a2ad64266a | |||
1917099f70 | |||
69fe73f4e2 | |||
044e95c4f4 | |||
1a813268c0 | |||
566646b9e7 | |||
ffae9f59e4 | |||
14ab9aaca8 | |||
a0779bf03b | |||
dcef7fcb06 | |||
7308b88594 | |||
976135d17e | |||
52a2785251 | |||
ebdd2bbed7 | |||
ccbe7d251f | |||
77548ad0a3 | |||
4c7d8fa703 | |||
59e403ff61 | |||
065c517ba4 | |||
fded74c558 | |||
2b22134d1f | |||
1a4cfe4b23 |
24
.github/workflows/hugo.yml
vendored
24
.github/workflows/hugo.yml
vendored
@ -1,10 +1,11 @@
|
|||||||
# Sample workflow for building and deploying a Hugo site to GitHub Pages
|
# Sample workflow for building and deploying a Hugo site to GitHub Pages
|
||||||
name: Deploy Hugo site to Pages & Neocities
|
name: Deploy Hugo site to Pages
|
||||||
|
|
||||||
on:
|
on:
|
||||||
# Runs on pushes targeting the default branch
|
# Runs on pushes targeting the default branch
|
||||||
push:
|
push:
|
||||||
branches: ["main"]
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
# Allows you to run this workflow manually from the Actions tab
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
@ -31,7 +32,7 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
HUGO_VERSION: 0.136.5
|
HUGO_VERSION: 0.141.0
|
||||||
steps:
|
steps:
|
||||||
- name: Install Hugo CLI
|
- name: Install Hugo CLI
|
||||||
run: |
|
run: |
|
||||||
@ -40,28 +41,31 @@ jobs:
|
|||||||
- name: Install Dart Sass
|
- name: Install Dart Sass
|
||||||
run: sudo snap install dart-sass
|
run: sudo snap install dart-sass
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
|
fetch-depth: 0
|
||||||
- name: Setup Pages
|
- name: Setup Pages
|
||||||
id: pages
|
id: pages
|
||||||
uses: actions/configure-pages@v3
|
uses: actions/configure-pages@v5
|
||||||
- name: Install Node.js dependencies
|
- name: Install Node.js dependencies
|
||||||
run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
|
run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
|
||||||
- name: Build with Hugo
|
- name: Build with Hugo
|
||||||
env:
|
env:
|
||||||
# For maximum backward compatibility with Hugo modules
|
HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache
|
||||||
HUGO_ENVIRONMENT: production
|
HUGO_ENVIRONMENT: production
|
||||||
HUGO_ENV: production
|
TZ: America/Los_Angeles
|
||||||
run: |
|
run: |
|
||||||
hugo \
|
hugo \
|
||||||
|
--gc \
|
||||||
|
--minify \
|
||||||
--baseURL "${{ steps.pages.outputs.base_url }}/"
|
--baseURL "${{ steps.pages.outputs.base_url }}/"
|
||||||
- name: Change color
|
- name: Change color
|
||||||
run: sed -i 's/peachpuff/rebeccapurple/g' public/css/main.*.css
|
run: sed -i 's/peachpuff/rebeccapurple/g' public/css/main.*.css
|
||||||
- name: Change URI
|
- name: Change URI
|
||||||
run: find public -type f -exec sed -i 's/\/\/fruw.org/\/\/fruworg.github.io/g' {} +
|
run: find public -type f -exec sed -i 's/\/\/fruw.org/\/\/fruworg.github.io/g' {} +
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-pages-artifact@v2
|
uses: actions/upload-pages-artifact@v3
|
||||||
with:
|
with:
|
||||||
path: ./public
|
path: ./public
|
||||||
|
|
||||||
@ -75,7 +79,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Deploy to GitHub Pages
|
- name: Deploy to GitHub Pages
|
||||||
id: deployment
|
id: deployment
|
||||||
uses: actions/deploy-pages@v2
|
uses: actions/deploy-pages@v4
|
||||||
|
|
||||||
deploy-neocities:
|
deploy-neocities:
|
||||||
environment:
|
environment:
|
||||||
@ -84,7 +88,7 @@ jobs:
|
|||||||
needs: build
|
needs: build
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/download-artifact@v3
|
- uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
path: .
|
path: .
|
||||||
- name: Create directory
|
- name: Create directory
|
||||||
|
@ -8,7 +8,7 @@ theme = "themu"
|
|||||||
pygmentsstyle = "fruity"
|
pygmentsstyle = "fruity"
|
||||||
pygmentscodefences = true
|
pygmentscodefences = true
|
||||||
pygmentscodefencesguesssyntax = true
|
pygmentscodefencesguesssyntax = true
|
||||||
paginate = 4
|
pagination.pagerSize = 4
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
description = "всем привет!"
|
description = "всем привет!"
|
||||||
@ -67,6 +67,6 @@ url = "/index.xml"
|
|||||||
weight = 3
|
weight = 3
|
||||||
|
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
name = "webring"
|
name = "dn42"
|
||||||
url = "/webring.html"
|
url = "https://dn42.fruw.org"
|
||||||
weight = 4
|
weight = 4
|
||||||
|
46
content/posts/autohotkey.md
Normal file
46
content/posts/autohotkey.md
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
---
|
||||||
|
title: Полезные бинды клавиш в Windows
|
||||||
|
description: AutoHotkey v2
|
||||||
|
date: 2025-01-14T11:36:00+01:00
|
||||||
|
tags: [windows]
|
||||||
|
---
|
||||||
|
|
||||||
|
## Вступление
|
||||||
|
Для бинда клавиш я использую [AutoHotkey](https://www.autohotkey.com/download/ahk-v2.exe). Для автозапуска нужно перенести `.ahk` файлы в `shell:startup`.
|
||||||
|
|
||||||
|
## CapLang.ahk
|
||||||
|
Смена раскладки по нажатию на `CapsLock`. Сам `CapsLock` переключается через `Shift+CapsLock`.
|
||||||
|
|
||||||
|
```python
|
||||||
|
SendMode("Input")
|
||||||
|
SetWorkingDir A_ScriptDir
|
||||||
|
+CapsLock::SetCapsLockState !GetKeyState("CapsLock", "T")
|
||||||
|
CapsLock::Send "{Alt Down}{Shift Down}{Shift Up}{Alt Up}"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Kitty.ahk
|
||||||
|
Запуск Kitty по нажатию на кнопку `Copilot`.
|
||||||
|
|
||||||
|
```python
|
||||||
|
SendMode("Input")
|
||||||
|
SetWorkingDir A_ScriptDir
|
||||||
|
+#f23:: Run "C:\Program Files\Kitty\kitty.exe -load <your-profile-name>"
|
||||||
|
```
|
||||||
|
|
||||||
|
## WSL.ahk
|
||||||
|
Запуск WSL по нажатию на `Ctrl+Alt+T`
|
||||||
|
|
||||||
|
```python
|
||||||
|
SendMode("Input")
|
||||||
|
SetWorkingDir A_ScriptDir
|
||||||
|
<^<!t::Run 'powershell.exe -noexit -command "cd <wsl-home-dir>; wsl"'
|
||||||
|
```
|
||||||
|
|
||||||
|
## PrintScreen.ahk
|
||||||
|
Скриншот нажатием на правый альт.
|
||||||
|
|
||||||
|
```python
|
||||||
|
SendMode("Input")
|
||||||
|
SetWorkingDir A_ScriptDir
|
||||||
|
RAlt::PrintScreen
|
||||||
|
```
|
68
content/posts/cephfs.md
Normal file
68
content/posts/cephfs.md
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
---
|
||||||
|
title: Создание CephFS
|
||||||
|
description: Конфигурация и автомонтирование
|
||||||
|
date: 2025-05-30T15:35:00+02:00
|
||||||
|
tags: [linux, ceph]
|
||||||
|
---
|
||||||
|
## Создание FS / Сервер
|
||||||
|
|
||||||
|
### Создание пула данных и меты
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ceph osd pool create <fs-name>_data
|
||||||
|
ceph osd pool create <fs-name>_meta
|
||||||
|
ceph osd pool set <fs-name>_data bulk true
|
||||||
|
```
|
||||||
|
|
||||||
|
### Создание FS
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ceph fs new <fs-name> <fs-name>_meta <fs-name>_data
|
||||||
|
```
|
||||||
|
|
||||||
|
### Создание пользователя
|
||||||
|
|
||||||
|
`r` - чтение\
|
||||||
|
`w` - запсись\
|
||||||
|
`s` - снапшоты\
|
||||||
|
`p` - аттрибуты
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ceph fs authorize <fs-name> client.<user> / rwsp
|
||||||
|
```
|
||||||
|
|
||||||
|
## Подключение FS / Клиент
|
||||||
|
|
||||||
|
### Установка необходимых пакетов
|
||||||
|
|
||||||
|
```shell
|
||||||
|
apt install ceph-common attr
|
||||||
|
```
|
||||||
|
|
||||||
|
### Создание директории для монтирования FS
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir /mnt/cephfs-<fs-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Конфиг файлы
|
||||||
|
|
||||||
|
Файл `/etc/ceph/ceph.conf` необходимо скопировать с сервера на клиент.\
|
||||||
|
В файл `/etc/ceph/ceph.client.<user>.keyring` необходимо вставить вывод команды создания клиента.\
|
||||||
|
В файл `/etc/fstab` необходимо вставить следующее:
|
||||||
|
|
||||||
|
```python
|
||||||
|
<ceph-cluster.doma.in>:6789:/ /mnt/cephfs-<fs-name> ceph name=<user>,fs=<fs-name>,noatime,_netdev
|
||||||
|
```
|
||||||
|
|
||||||
|
### Монтирование
|
||||||
|
|
||||||
|
```shell
|
||||||
|
mount -a
|
||||||
|
```
|
||||||
|
|
||||||
|
### Указание размера директории
|
||||||
|
|
||||||
|
```shell
|
||||||
|
setfattr -n ceph.quota.max_bytes -v <size-in-gb>G /mnt/cephfs-<fs-name>
|
||||||
|
```
|
29
content/posts/linux-disk-resize.md
Normal file
29
content/posts/linux-disk-resize.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
title: Ресайз диска
|
||||||
|
description: ext4
|
||||||
|
date: 2024-12-10T13:57:00+01:00
|
||||||
|
tags: [linux]
|
||||||
|
---
|
||||||
|
## Расширение раздела
|
||||||
|
|
||||||
|
`<disk>` - sda \
|
||||||
|
`<partition>` - 1
|
||||||
|
|
||||||
|
```shell
|
||||||
|
growpart /dev/<disk> <partition>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Увеличение ФС
|
||||||
|
|
||||||
|
`<partition>` - sda1
|
||||||
|
|
||||||
|
```shell
|
||||||
|
resize2fs /dev/<partition>
|
||||||
|
```
|
||||||
|
## Очистка логов
|
||||||
|
|
||||||
|
Если совсем нет места для выполнения команд
|
||||||
|
|
||||||
|
```shell
|
||||||
|
journalctl --vacuum-time=1d
|
||||||
|
```
|
28
content/posts/pgp-commands.md
Normal file
28
content/posts/pgp-commands.md
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
---
|
||||||
|
title: Памятка по PGP/GPG
|
||||||
|
description: gnupg - export, import and renew
|
||||||
|
date: 2025-01-12T22:00:00+01:00
|
||||||
|
tags: [linux, pgp]
|
||||||
|
---
|
||||||
|
## Экспорт
|
||||||
|
|
||||||
|
```bash
|
||||||
|
gpg -a --export-secret-keys > private.asc
|
||||||
|
gpg --export-ownertrust > trust.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
## Импорт
|
||||||
|
|
||||||
|
```bash
|
||||||
|
gpg --import private.asc
|
||||||
|
gpg --import public.asc
|
||||||
|
gpg --import-ownertrust trust.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
## Продление
|
||||||
|
|
||||||
|
```bash
|
||||||
|
gpg --list-keys
|
||||||
|
gpg --quick-set-expire <fingerprint> 1y '*'
|
||||||
|
gpg --export <your@ema.il> | curl -T - https://keys.openpgp.org
|
||||||
|
```
|
52
content/posts/pve-update.md
Normal file
52
content/posts/pve-update.md
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
---
|
||||||
|
title: Обновление Proxmox 7 -> Proxmox 8
|
||||||
|
description: И дошлифовка
|
||||||
|
date: 2024-12-10T14:05:00+01:00
|
||||||
|
tags: [linux]
|
||||||
|
---
|
||||||
|
|
||||||
|
## Актуализация ОС
|
||||||
|
|
||||||
|
```shell
|
||||||
|
apt -y update
|
||||||
|
apt -y dist-upgrade
|
||||||
|
```
|
||||||
|
|
||||||
|
## Проверка готовности обновления
|
||||||
|
|
||||||
|
```shell
|
||||||
|
pve7to8 --full
|
||||||
|
```
|
||||||
|
|
||||||
|
## Актуализация репозиториев
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
|
||||||
|
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/*.list
|
||||||
|
```
|
||||||
|
|
||||||
|
## Обновление ОС и PVE
|
||||||
|
|
||||||
|
```shell
|
||||||
|
apt -y update
|
||||||
|
apt -y dist-upgrade
|
||||||
|
init 6
|
||||||
|
```
|
||||||
|
|
||||||
|
## Дошлифовка
|
||||||
|
|
||||||
|
```shell
|
||||||
|
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/post-pve-install.sh)"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Ограничение потребление RAM zfs'ом
|
||||||
|
В `/etc/modprobe.d/zfs.conf` добавить следующую строку (2GB на 1TB):
|
||||||
|
```python
|
||||||
|
options zfs zfs_arc_max=4294967296
|
||||||
|
```
|
||||||
|
|
||||||
|
Применение и перезагрузка
|
||||||
|
```shell
|
||||||
|
update-initramfs -u -k all
|
||||||
|
init 6
|
||||||
|
```
|
27
content/posts/rhel-setup.md
Normal file
27
content/posts/rhel-setup.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
---
|
||||||
|
title: Активация и автоматические обновления в RHEL 9
|
||||||
|
description: Небольшая памятка
|
||||||
|
date: 2025-02-27T23:10:00+01:00
|
||||||
|
tags: [linux, rhel]
|
||||||
|
---
|
||||||
|
|
||||||
|
## Активация
|
||||||
|
|
||||||
|
```shell
|
||||||
|
subscription-manager register --auto-attach
|
||||||
|
insights-client --register
|
||||||
|
```
|
||||||
|
|
||||||
|
## Автоматическая установка обновлений
|
||||||
|
|
||||||
|
```shell
|
||||||
|
yum -y install dnf-automatic
|
||||||
|
systemctl enable --now dnf-automatic-install.timer
|
||||||
|
```
|
||||||
|
|
||||||
|
## Установка расширенного репозитория
|
||||||
|
|
||||||
|
```shell
|
||||||
|
subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms
|
||||||
|
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
|
||||||
|
```
|
31
content/posts/swap-create.md
Normal file
31
content/posts/swap-create.md
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
---
|
||||||
|
title: Создание SWAP-файла
|
||||||
|
description: Файл подкачки в GNU/Linux
|
||||||
|
date: 2025-01-12T22:10:00+01:00
|
||||||
|
tags: [linux]
|
||||||
|
---
|
||||||
|
## Создания
|
||||||
|
Размер файла подкачки
|
||||||
|
|
||||||
|
RAM `<= 2GB`, SWAP `x2`\
|
||||||
|
RAM `2GB - 8GB`, SWAP `x1`\
|
||||||
|
RAM `>= 8GB`, SWAP `>= 4GB`
|
||||||
|
|
||||||
|
```shell
|
||||||
|
fallocate -l <size-in-gb>G /swap
|
||||||
|
chmod 600 /swap
|
||||||
|
mkswap /swap
|
||||||
|
swapon /swap
|
||||||
|
```
|
||||||
|
|
||||||
|
## Автомонтирование
|
||||||
|
|
||||||
|
В конец `/etc/fstab` необходимо добавить следующую строку
|
||||||
|
```python
|
||||||
|
/swap none swap sw 0 0
|
||||||
|
```
|
||||||
|
|
||||||
|
И проверим корректность записи
|
||||||
|
```shell
|
||||||
|
mount -a
|
||||||
|
```
|
Binary file not shown.
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 764 KiB |
Submodule themes/themu updated: 7eb486c888...257284dd68
Reference in New Issue
Block a user