Merge pull request 'states/03' (#9) from states/03 into main
continuous-integration/drone/push Build is passing Details

Reviewed-on: #9
states/2023.12
thest1tch 1 year ago
commit 8c96199b10

@ -0,0 +1,35 @@
# Factorio
[![Docker Version](https://img.shields.io/docker/v/factoriotools/factorio?sort=semver)](https://hub.docker.com/r/factoriotools/factorio/)
[![Docker Pulls](https://img.shields.io/docker/pulls/factoriotools/factorio.svg?maxAge=600)](https://hub.docker.com/r/factoriotools/factorio/)
[![Docker Stars](https://img.shields.io/docker/stars/factoriotools/factorio.svg?maxAge=600)](https://hub.docker.com/r/factoriotools/factorio/)
```yaml title="docker-compose.yml"
version: "3.7"
networks:
direct_net:
external: true
services:
factorio:
container_name: factorio
image: factoriotools/factorio:1.1.96
ports:
- "34197:34197/udp"
#- "27015:27015/tcp"
volumes:
- /opt/appdata/games/factorio:/factorio
networks:
- direct_net
security_opt:
- no-new-privileges:true
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ="Asia/Yekaterinburg"
- UPDATE_MODS_ON_START=true
- SAVE_NAME
```

@ -0,0 +1,28 @@
# Схемы сообщества
## Basic Mining and Smelting
[![](https://i.imgur.com/2CpZvSv.jpeg)](https://factorioprints.com/view/-KoluN5jvWgI0egykK_W)
![](https://imgur.com/a/LsUJ3id)
## Modular Rail Network
[![](https://i.imgur.com/7UHaFA1.jpeg)](https://www.factorio.school/view/-K_VpUtsGAlQeBuZ1oez)
[![name](pic)](link)
## Tileable Science Production 0.17-1.0 - Early to Mid Game
[![](http://i.imgur.com/42RoMSil.jpeg)](https://www.factorio.school/view/-KnQ865j-qQ21WoUPbd3)
## ☀️ Power Book ☢️ - Compact, Tileable, No Waste Nuclear, Solar, Steam
[![](http://i.imgur.com/EL5C7TOl.jpeg)](https://www.factorio.school/view/-Kn2afLokZdBO-uHcIAF)
## Cityblock
![](https://curiouscoding.nl/misc/factorio-early-game/)
### Updated 100x100 City Blocks - Snapped to Grid
[![](http://i.imgur.com/TeMNCxMl.jpeg)](https://www.factorio.school/view/-MOy8SsNcu5BNqCZ2ZnL)

@ -9,6 +9,11 @@
```
## Различные ссылки
[Рисовать в онлайне](https://fbe.teoxoy.com/)
[Factorio Cheat Sheets](https://factoriocheatsheet.com/)
[Хранилище чертежей](https://www.factorio.school/)
[Моды для сервера](https://mods.factorio.com/)
@ -19,4 +24,63 @@
[Калькулятор производства](https://kirkmcdonald.github.io/calc.html)
[Чертежи для BobS](https://pastebin.com/u/fed1s)
[Чертежи для BobS](https://pastebin.com/u/fed1s)
## Мод-лист
---
Minor Content:
Aircraft
Asphalt Paving
Beautiful Bridge Railway
Clockwork
Fluid Must Flow
Hardcore Start
Jetpack
Loader Redux
Logistic Train Network
Nanobots
Prospector
Robot Attrition
Teleportation_Redux
---
UI and Planners:
Advanced Logistics System Fork
Bob & Angel RAW Patch
Bottleneck
Calculator UI
EvoGUI
Helomod
Recipe Book
Solar Calculator
Upgrade Builder and Planner
YARM
---
Quality Of Life:
EvenDistrobution
Honk
Placeables
Progressive Running
Quality Of Life Research
Reverse Factory
Tree Collision
---
Biters, Map, Visuals:
Alien Biomes High Res
Armored Biters
Artisanal Reskins: All mods
Bullet Trails
Natural Evolution: Buildings2, Enemies (Redux)
Rampant
Resource Spawner Overhaul

@ -0,0 +1,52 @@
# Коды терминалов No Mans Sky
1-3-4-7-11-18-**29**
1-5-3-7-5-9-**7**
1-2-6-24-120-**720**
2-4-12-48-240-**1440**
3-5-8-13-21-**34**
5-14-41-122-**365**
17-33-65-129-**257**
23-45-89-177-**353**
56-59-63-68-74-**81**
80-71-63-56-**50**
99-92-86-81-**77**
1027-7101-2710-**0271**
1126-6112-2611-**1261**
1181-1118-8111-**1811**
1212-2121-1212-**2121**
1265-5126-6512-**2651**
1345-5134-4513-**3451**
1702-7021-0217-**2170**
1737-7173-3717-**7371**
2109-1092-0921-**9210**
2230-0223-3022-**2302**
2379-9237-7923-**3792**
2595-5259-9525-**5952**
2738-7382-3827-**8273**
3382-2338-8233-**3823**
3908-9083-0839-**8390**
3941-9413-4139-**1394**
3987-9873-8739-**7398**
4416-6141-1641-**4164**
4366-3664-6643-**6436**
4634-6344-3446-**4463**
4865-8654-6548-**5486**
5040-720-120-24-**6**
5047-7504-4750-**0475**
5336-3365-3653-**6533**
5493-3549-9354-**4935**
5571-1557-7155-**5715**
5920-9205-2059-**0592**
6543-3654-4365-**5436**
6618-8661-1866-**6186**
7354-3547-5473-**4735**
7771-1777-7177-**7717**
8104-4810-0481-**1048**
8432-2843-3284-**4328**
8653-3865-5386-**6538**
9162-1629-6291-**2916**
9183-1839-8391-**3918**
9214-4921-1492-**2149**
9780-7809-8097-**0978**
9854-4985-5498-**8549**

@ -0,0 +1,53 @@
# Полезные инструменты
## Сайты
[NeverSink](https://github.com/NeverSinkDev/NeverSink-Filter) - Это лутфильтр для игры Path of Exile. Он скрывает малоценные предметы, использует схему наценок и звуки для выделения дорогого снаряжения и основан на анализе экономических данных.
[http://filterblade.xyz/](http://filterblade.xyz/https:/) - Самостоятельное создание лутфильта. Можно выбрать базу от NeverSink, поменять цвет и прочее.
[PoEDB](https://poedb.tw/us/) - в основном собранная из данных информация обо всем, что есть в игре (особенно полезно для крафта)
[PoE Builds](https://www.poebuilds.cc) — индексатор форумов, который сортирует сборки форума по категориям навыков.
[PoE-Profile](https://poe-profile.info/) - сайт, на котором можно проверить сборку и статистику игрока.
[poe-roadmap](https://poe-roadmap.com/) - Дорожная карта PoE для отслеживания драгоценных камней навыков и уникальных предметов, необходимых по мере вашего уровня.
[PoE Buddy](https://poe.technology/poebuddy) — удобный инструмент для просмотра сборок PoB в браузере.
[PoE Lab links](https://www.poelab.com/useful-links/) - список ресурсов
[exile-leveling](https://heartofphos.github.io/exile-levelin) - Сайт, для быстрого прохождения актов (англ)
## Софт
Trade Program [Acquisition](https://github.com/xyzz/acquisition) - Сбор предметов для продажи в Интернете (также позволяет искать предметы по модам и т. д. Очень полезно, если вы не хотите вручную искать life+resist или любую другую комбинацию)
[Лути! Stash](https://chrome.google.com/webstore/detail/looty-stash-search-for-pa/ajfbflclpnpbjkfibijekgcombcgehbi?hl=en-US) - расширение Chrome, которое позволяет находить вещи в тайнике
[Awakened PoE Trade](https://github.com/SnosMe/awakened-poe-tradehttps:/) - приложение, для проверки стоимости предметов в Path of Exile.
[POE Ninja](http://poe.ninja/) - Quick Pricing
[The POE Database](http://poedb.tw/us)
[Читшит](https://cheatsheet.monster/poe)
[Lailloken-UI](https://github.com/Lailloken/Lailloken-UI) - UI и QoL
[Trade Companions](https://github.com/lemasato/POE-Trades-Companion) - игровое наложение для удобной продажи предметов.
[Mercury Trade](https://github.com/Exslims/MercuryTrade) - еще один игровой оверлей, но с некоторыми дополнительными утилитами. (Очень полезно для торговли. Создавайте свои собственные наложения времени восстановления.)
[Lab Compass](https://github.com/yznpku/LabCompass) — для планирования лаборатории и упрощения ее работы. (Наложение для лаборатории)
[Path of Maps](http://pathofmaps.com) - (отслеживает прохождение карты и просматривает статистику)
[Exilence](https://github.com/viktorgullmark/exilence) - (используется для отслеживания снаряжения, валюты, карт и многого другого) вы и ваша группа)
[Path of Building](https://github.com/Openarl/PathOfBuilding) - для удобного анализа и создания сборки.
[Дерево навыков PoE](https://github.com/PoESkillTree/PoESkillTree) - для углубленного построения дерева навыков.
[Currency Cop](https://github.com/currency-cop/currency-cop/releases) (Посмотрите, сколько вы стоите!)

@ -0,0 +1,5 @@
# Ссылки для Satisfactory
[Карта](https://satisfactory-calculator.com/ru/interactive-maphttps:/)
[Планер](https://satisfactory-calculator.com/ru/plannershttps:/)

@ -0,0 +1,5 @@
# Ошибки в Outlook
## Ошибка 0x8004011c в Outlook 2016
Добавить ключ: `"ProtectionPolicy"=dword:00000001` в `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Protect\Providers\df9d8cd0-1501-11d1-8c7a-00c04fc297eb`

@ -0,0 +1,252 @@
# Get-Content - открываем и читаем файл
Для открытия файлов и чтения его содержимого используется команда Powershell `Get-Content`.
## Получение данных
### Открытие 1 файла
Для открытия файла 'C:\text.txt' можно использовать следующую команду:
```powershell
Get-Content -Path 'C:\text.txt'
```
### Открытие нескольких файлов
Можно использовать подстановку. Символы подстановок бывают следующих типов:
- '*' - говорит об неизвестном количестве символов;
- [a,b] - говорит, что в этом месте может быть буква 'a' или 'b';
- ? - обозначает один неизвестный символ.
Каждый из символов выше можно применять вместе и неограниченное число раз, в любой части пути и имени.
```powershell
Get-Content -Path 'C:\Windows\System32\drivers\etc\*st*'
```
Следующие примеры вернут аналогичный результат:
```powershell
Get-Content -Path 'C:\Windows\System32\drivers\etc\[l,h]*ost*'
Get-Content -Path 'C:\Windows\System32\drivers\etc\*h?st*'
```
Кроме символов подстановки, можно использовать параметры фильтрации:
- Include - в этом параметре мы добавляем шаблон, по которому будем включать файл;
- Exclude - с помощью этого параметра исключает файлы;
- Filter - исключает результаты.
Для каждого из этих параметров есть обязательно условие - использовать знак '*' в конце пути.
Так мы вернем все файлы с расширением '.txt':
```powershell
Get-Content -Path 'C:\*' -Filter '*.txt'
```
В отличие от Filter, в Include и Exclude мы можем использовать несколько значений. В этом примере мы откроем файлы формата '.txt' и '.ini':
```powershell
Get-Content -Path 'C:\*' -Include '*.txt','*.ini'
```
## Полное и построчное чтение с поиском
По умолчанию, если мы будем передавать результат команды через конвейер Powershell вывод будет построчный. Это может составить проблему, так как при дополнительных условиях у нас будет возвращаться одна строка, а не весь текст:
```powershell
Get-Content -Path 'C:\file*.txt' | Select-String -Pattern 'Line 8'
```
Что бы текст передавался полностью, а не построчно - используйте параметр Raw:
```powershell
Get-Content -Path 'C:\file*.txt' -Raw | Select-String -Pattern 'Line 8'
```
Если вам вдруг понадобится выводить по 2 или более строк за раз, можно указать их количество через ReadCount:
```powershell
Get-Content -Path 'C:\file*.txt' -ReadCount 2 | Select-String -Pattern 'Line 8'
```
## Разделение файла
Файл выводится построчно из-за делиметра (разделителя), который по умолчанию равен '\n' (идентификатор новой строки). Мы можем разделить файл иначе, например, использовав точку с запятой:
```powershell
Get-Content -Path 'C:\delimiter.txt' -Delimiter ';'
```
То есть результат выше - это массив. В массивах Powershell мы можем получать содержимое по индексам. В следующем примере я просто уберу точку с запятой:
```powershell
$content = Get-Content -Path 'C:\delimiter.txt' -Delimiter ';'
# Выведем первый элемент
$content[0]
# Уберем разделитель во всех адресах
foreach ($c in $content){
$c -replace ';',''
}
```
## Подсчет количества строк
Построчный вывод с командой Powershell позволяет посчитать количество строк во всем файле. Для подсчета используется команда Measure-Object:
```powershell
Get-Content -Path 'C:\file.txt' | measure
```
Если нужна только цифра, а не объект, можно сделать так:
```powershell
(Get-Content -Path 'C:\file.txt' | measure).Count
```
## Кодировки
В параметре -Encoding можно указать следующие кодировки:
- ASCII
- BigEndianUnicode
- BigEndianUTF32
- Byte
- Default
- OEM
- Unicode
- UTF7
- UTF8
- UTF32
## Чтения файла под другим пользователем
В этом командлете не предусмотрена возможность открытия файла под другим пользователем. При любых попытках вы будете получать ошибки:
- Access to the path is denied
- The FileSystem provider supports credentials only on the New-PSDrive cmdlet. Perform the operation again withoutspecifying credentials.
Для обхода этих ошибок, если у вас нет другого выхода, нужно использовать `Invoke-Command` (команда удаленного подключения).
Сам процесс открытия файла под другим пользователем будет выглядеть так:
```powershell
# Вводим свои учетные данные
$creds = Get-Credential
# Выполняем запрос под другим пользователем
Invoke-Command -Computer localhost -Credential $creds -ScriptBlock {Get-Content -Path 'C:\Folder\File2.txt'}
```
## Непрерывное чтение
С помощью параметра Wait вы можете читать файл, который в этот момент обновляется системой или другим пользователем:
```powershell
Get-Content -Path 'C:\file1.txt' -Wait
```
## Ограничение вывода строк
Можно ограничить вывод содержимого файла указав количество нужных строк в начале или конце:
- Head - выведет указанное количество строк с начала;
- Tail - выведет указанное количество строк с конца.
Так будут выведены только первые 5 строк:
```powershell
Get-Content -Path 'C:\file1.txt' -Head 5
```
## Поиск файлов по содержимому
`Get-Content` не позволяет искать и открывать фалы находящиеся внутри других каталогов. Такой поиск называется рекурсивным и он доступен в `Get-ChildItem`.
В следующем примере мы вернем файлы из всех каталогов и подкаталогов:
```powershell
Get-ChildItem -Path 'C:\Windows\' -Recurse -File
```
`File` - возвращает только файлы. Каталоги нам не нужны.
С `Get-ChildItem` вы так же можете использовать Include, Exclude и Filter, которые были рассмотрены раннее. Использовать эти ключи лучше всего в первой команде т.к. это будет работать быстрее.
Через конвейер мы сможем открыть каждый файл, а с `Select-String` проверить есть ли в нем нужный текст. Так мы найдем файл с Powershell, который содержит строку '127.0.0.1' в папке Windows:
```powershell
Get-ChildItem -Path 'C:\Windows\System32\drivers\etc\' -Recurse -File |
Get-Content -Raw |
Select-String '127.0.0.1'
```
Если убрать параметр Raw, то у нас выведется только та строка, которую мы искали:
## Изменение файла с последующей записью
Вы так же можете изменить содержимое файла и перезаписать этот файл. Представим, что вам нужно заменить адрес '127.0.0.1' в строке - это можно сделать так:
```powershell
'My address: 127.0.0.1/24' -replace '127.0.0.1','192.168.3.2'
```
Или с помощью регулярного выражения (не точный шаблон):
```powershell
'My address: 127.0.0.1/24' -replace '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}','192.168.3.2'
```
Для записи в файл у нас есть два варианта. Первый - это использовать перенаправление в виде знака '>', который перезапишет все содержимое файла или создаст новый файл:
```powershell
$file_content = Get-Content -Path 'C:\file1.txt'
$file_content -replace '127.0.0.1','192.168.3.2' > file1.txt
```
Второй вариант - использовать команду Set-Content:
```powershell
$file_content = Get-Content -Path 'C:\file1.txt'
$file_content -replace '127.0.0.1','192.168.3.2' | Set-Content -Path 'C:\file1.txt'
```
## Подсчет четных чисел в файле
У меня есть файл 'file.txt' со следующим содержанием:
```
some text 123 some text 6 some
text 9 some text 312345
123.2
```
Шаблон регулярного выражения `\d*\.?\d*` говорит, что мы ищем число, после которого может быть точка, после которого могут быть еще числа. Таким образом мы захватим целые и числа с плавающей точкой.
Для выделения таких чисел из строк нужно использовать Select-String:
```powershell
$file = Get-Content -Path 'file.txt'
$result = Select-String -InputObject $file -Pattern '\d*\.?\d*' -AllMatches | Foreach {$_.matches}
```
Нам нужно отформатировать вывод убрав пустые строки и получить значения свойства Value:
```powershell
$result | where Value -ne '' | select Value
```
Мы можем вернуть остаток от деления использовав %. Если число делится на 2 с остатком 0, то оно будет четным:
```powershell
# Открываем файл
$opened_file = Get-Content -Path 'file.txt'
# Поиск чисел
$result = Select-String -InputObject $opened_file -Pattern '\d*\.?\d*' -AllMatches | Foreach {$_.matches}
# Исключение пустых строк в выводе
$result = ($result | where Value -ne '').Value
foreach ($num in $result){
# Результат деления
$n = $num%2
if ($n -eq 0){Write-Output "Число четное: $num"}
else {Write-Output "Число не четное: $num"}
}
```

@ -0,0 +1,83 @@
# Обновление времени в Windows из Powershell
## проверка статуса службы W32Time
Проверим статус службы [W32Time](https://docs.microsoft.com/ru-ru/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings). По умолчанию данная служба остановлена на Windows 10 Pro. Powershell должен быть запущен с правами администратора!
```powershell
Get-Service -Name W32Time | Format-Wide -Property Status -Column 1
Stopped
```
Более подробную информацию о сервисе можно узнать выполнив команду:
```powershell
Get-Service W32Time | Select-Object *
```
Получить список требуемых служб:
```powershell
Get-Service W32Time -RequiredServices
```
Теперь, когда вы убедились, что служба остановлена её необходимо запустить. Выполните следующую команду:
```powershell
Start-Service W32Time
```
!!! note
Обращаю ваше внимание, если powershell не был запущен с правами администратора, то при выполнении команды запуска службы вы получите ошибку.
Никакого вывода о состоянии службы после окончания выполнения команды не будет. Чтобы проверить статус службы повторно выполните команду для проверки статуса службы приведённую выше.
## Синхронизация времени
Выполним следующую команду для обновления времени:
```
w32tm /resync /force
```
По умолчанию время будет браться с ntp-сервера *time.windows.com*. Если необходимо изменить его на другой ntp-сервер:
```
w32tm /config /syncfromflags:manual /manualpeerlist:"0.ru.pool.ntp.org"
w32tm /config /reliable:yes
```
Перезапустите службу w32time:
```powershell
Restart-Service W32Time
```
Проверить, что ntp-сервер изменился:
```
w32tm /query /configuration
```
## Изменение таймзоны
Посмотреть свою временную зону:
```powershell
Get-TimeZone
```
Получить список всех доступных временных зон:
```powershell
Get-TimeZone -ListAvailable
```
Изменить временную зону:
```powershell
Set-TimeZone -Name "Moscow Standard Time"
```
---
Больше об:
- [w32tm](https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings)
- [Set-TimeZone](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/set-timezone?view=powershell-6)
- [Get-TimeZone](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-timezone?view=powershell-6)

@ -0,0 +1,30 @@
# Visual Studio Code всегда запрашивает учетные данные Git
Это работало для меня:
1. Установите помощник по учетным данным для хранения:
`git config --global credential.helper store`
2. Затем проверьте, хотите ли вы:
`git config --global credential.helper`
Простой пример использования [Git Bash](https://superuser.com/questions/1053633/what-is-git-bash-for-windows-anyway) , приведенный [здесь](https://git-scm.com/docs/git-credential-store/1.7.12.1#_examples) (работает только для текущего репозитория, используйте `--global`для всех репозиториев):
```
git config credential.helper store
git push http://example.com/repo.git
Username: < type your username >
Password: < type your password >
[several days later]
git push http://example.com/repo.git
[your credentials are used automatically]
```
Это также будет работать для кода Visual Studio.
Более подробный пример и расширенное использование — [здесь](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage) .
**Примечание.** Имя пользователя и пароли не шифруются и хранятся в текстовом формате, поэтому используйте их только на своем персональном компьютере.

@ -4,7 +4,7 @@
Первым делом посмотрим какие диски у нас есть в системе
```plaintext
```
fdisk -l
```
@ -14,19 +14,19 @@ fdisk -l
Открываем наш диск утилитой parted:
```plaintext
```
parted /dev/sdb
```
Откроется интерактивное меню утилиты — нажимаем `p`
```plaintext
```
(parted) p
```
На экран будет выведена информация о разделах. Если они есть, удаляем командой `rm`
```plaintext
```
(parted) rm 1
```
@ -35,25 +35,25 @@ parted /dev/sdb
Создаем разметку GPT:
```plaintext
```
(parted) mklabel gpt
```
После выходим:
```plaintext
```
(parted)quit
```
## Создадим таблицу разделов
```plaintext
```
fdisk /dev/sdd
```
Выводим справку по работе с диском, нажимаем (m)
```plaintext
```
Действие команды
a переключение флага загрузки
b редактирование метки диска bsd
@ -77,7 +77,7 @@ x дополнительная функциональность (только д
Далее указываем какой будет создаваемый раздел
```plaintext
```
Действие команды
e расширенный
p основной раздел (1-4)
@ -85,19 +85,19 @@ p основной раздел (1-4)
Указываем как основной раздел, вводим `p`
```plaintext
```
Номер раздела (1-4, по умолчанию 1):
```
Задаем номер раздела или нажимаем Enter чтобы использовать значение по умолчанию (1), если 1 уже занят, то вводим другое значение.
```plaintext
```
Первый сектор (2048-1048575999, по умолчанию 2048):
```
Нажимаем Enter используя значение по умолчанию, но можно и в ручную указать значение первого сектора.
```plaintext
```
Last сектор, +секторы or +size{K,M,G} (2048-1048575999, по умолчанию 1048575999):
```
@ -105,7 +105,7 @@ Last сектор, +секторы or +size{K,M,G} (2048-1048575999, по умо
После всех проделанных действий вводим `w` что означает сохранить настройки и выйти.
```plaintext
```
Команда (m для справки): w
Таблица разделов была изменена!
Вызывается ioctl() для перечитывания таблицы разделов.
@ -122,7 +122,7 @@ Last сектор, +секторы or +size{K,M,G} (2048-1048575999, по умо
Отформатируем наш `/dev/sdb1` в **ext4**, для этого выполним следующую команду:
```plaintext
```
mkfs.ext4 /dev/sdb1
```
@ -130,7 +130,7 @@ mkfs.ext4 /dev/sdb1
Выполним это с помощью команды mount
```plaintext
```
mount -t ext4 /dev/sdb1 /usr/data
```
@ -140,19 +140,19 @@ mount -t ext4 /dev/sdb1 /usr/data
для размонтирования диска используем команду umount указав диск
```plaintext
```
umount /dev/sdb1
```
Проверили диск работает успешно, теперь сделаем автоматическую монтировку его в систему.
```plaintext
```
sudo nano /etc/fstab
```
Переходим на новую строчку и добавляем строку такого вида:
```plaintext
```
/dev/sdb1 /usr/data ext4 defaults 1 2
```
@ -187,7 +187,7 @@ sudo nano /etc/fstab
Выставим права на папку, дабы мы могли туда записывать данные не только под рутом
```plaintext
```
sudo chmod -R 777 /usr/data/
sudo chown -R nobody:nogroup /usr/data/
```

@ -0,0 +1,61 @@
# Увеличение размера раздела на диске
Имея несколько VPS серверов на Ubuntu, сталкнулся с проблемой, когда стало не хватать места. Перешел на более жирный тариф с большим размером диска. Но вот незадача, размер диска стал больше, а раздел остался того же размера.
Было 30 Гб, раздел `sda1`, надо добавить 20Гб. Доступа в resque нет, так что нужно делать без перезагрузки.
Решение проблемы оказалось простым: используя **fdisk**, **partprobe** и **resize2fs** - изменить размер раздела.
!!! warning
Перед тем как начать, делаем бекап всей важной информации!
## fdisk - пересоздаем раздел
Первым делом посмотрим какие диски у нас есть в системе и удостоверимся, что будет работать с нужным диском. А то мало ли..
```
sudo fdisk -l
```
Теперь надо удалить текущий раздел диска на 30 гигов и создать новый на 50:
```
sudo fdisk /dev/sda
```
Внутри интерактивного режима программы **fdisk** выполняем несколько операций:
1. Сначала вбиваем `p` - вывод таблицы разделов
2. Затем `d` удаление раздела
3. Далее `n` добавление нового раздела
4. Далее указываем какой будет создаваемый раздел
`e` расширенный
`p` основной раздел (1-4)
Указываем как основной раздел, вводим `p`
5. Номер раздела (`1-4`, по умолчанию `1`):
6. Первый сектор (2048-1048575999, по умолчанию 2048)
7. Последний сектор или прото enter, если используем весь диск
8. После всех проделанных действий вводим `w` что означает сохранить настройки и выйти.
## partprobe - обновление таблицы раздела
Далее надо обновить таблицу раздела онлайн, используя **partprobe**. Если программки нет, то нужно установить её (`sudo apt-get install partprobe`).
```
sudo partprobe /dev/sda
```
## resize2fs - переопределение рамзера раздела
Теперь осталось переопределить размер раздела с помощью программы **resize2fs**. Она сделает это в режиме онлайн. Программа **resize2fs** перезапишет метаданные файловой системы. Для этого используем следующую команду:
```
sudo resize2fs /dev/sda1
```
Теперь убедимся, что размер раздела изменился и теперь у нас 50 Гб.
```
df -h
```

@ -38,6 +38,7 @@ nav:
- Drone CI: docker/drone.md
- Игровые сервера:
- Valheim: docker/games/valheim.md
- Factorio: docker/games/factorio.md
- WikiJS: docker/wikijs.md
- HandBrake: docker/handbrake.md
- Pictshare: docker/pictshare.md
@ -48,6 +49,7 @@ nav:
- Команды: ubuntu/commands.md
- Ошибки консоли: ubuntu/errors.md
- Добавление диска: ubuntu/add-disk.md
- Расширение раздела: ubuntu/resize-part.md
- Добавление S3: ubuntu/add-s3.md
- LVM: ubuntu/lvm.md
- Docker+UFW: ubuntu/docker-ufw.md
@ -78,6 +80,8 @@ nav:
- Stop-Process: software/powershell/stop-process.md
- Count-Pages: software/powershell/count-pages.md
- Send-Mail: software/powershell/send-mail.md
- Обновление времени: software/powershell/update-time.md
- Get-Content: software/powershell/get-content.md
- Chrome:
- Download bar: software/chrome/download-bar.md
- Windows:
@ -98,6 +102,8 @@ nav:
- TWINUI в свойствах файла: software/win/desk/twinui.md
- KMS: software/win/desk/kms.md
- Установка DialUX: software/win/desk/dialux.md
- VS Code:
- Запрос учетных данных Git: software/vscode/asking-git-credentials.md
- Proxmox:
- Proxmox VE:
- proxmox/index.md
@ -144,6 +150,8 @@ nav:
- VBA Отправка почты: other/office/excel/vba-send-email.md
- VBA Прогресс бар: other/office/excel/vba-progress-bar.md
- VBA Удаление пароля: other/office/excel/vba-remove-pass.md
- Outlook:
- Ошибки: other/office/outlook/error.md
- IP Телефоны:
- Grandstream:
- Provisioning через TFTP: other/phone/grandstream/provisioning.md
@ -174,8 +182,12 @@ nav:
- Админские команды: games/ark/admin-commands.md
- Factorio:
- games/factorio/index.md
- Мои чертежи: games/factorio/my-prints.md
- Чертежи сообщества: games/factorio/blueprints.md
- Payday 2:
- VanillaHUD Plus: games/payday2/hud.md
- Path of Exile:
- Ссылки: games/path-of-exile/links.md
- Блог:
- Blog: blog/index.md
@ -189,13 +201,7 @@ theme:
repo: simple/gitea
#logo: images/st1t_white.png
palette:
# Palette toggle for automatic mode
- media: "(prefers-color-scheme)"
scheme: default
toggle:
icon: material/brightness-auto
name: Авто
# Toggle light mode
- media: "(prefers-color-scheme: light)"
scheme: default

Loading…
Cancel
Save