diff --git a/linux/README.md b/linux/README.md index 1df78e0..a2095e1 100644 --- a/linux/README.md +++ b/linux/README.md @@ -12,4 +12,6 @@ - [Работа с архивами](src/archives.md) - [systemd](src/systemd.md) - [Подключение к удалённому рабочему столу (x11vnc)](src/x11vnc.md) -- [Работа с мониторами (xrandr)](src/xrandr.md) \ No newline at end of file +- [Работа с мониторами (xrandr)](src/xrandr.md) +- [Управления разделами жёсткого диска (fdisk)](src/fdisk.md) +- [Копирование двоичных данных (dd)](src/dd.md) diff --git a/linux/src/dd.md b/linux/src/dd.md new file mode 100644 index 0000000..fe81213 --- /dev/null +++ b/linux/src/dd.md @@ -0,0 +1,14 @@ +# Копирование двоичных данных (dd) + +Создание образа диска в формате `ISO`: + +```sh +dd if=/dev/sr0 of=~/disk.iso bs=2048 conv=noerror +``` + +где + +- `if` (input file) - входной файл (источник копирования), где `/dev/sr0` - устройство для CD/DVD дисков +- `of` (output file) - выходной файл (место назначения), где `~/disk.iso` - имя файла, который расположен в домашней директории пользователя +- `bs` - количество байт, которое читается и записывается за один раз (размер буфера), где `2048` = 2 Кб. +- `conv` - применяемый [фильтр](https://www.man7.org/linux/man-pages/man1/dd.1.html), где `noerror` продолжает копирование после возникающих ошибок чтения diff --git a/linux/src/fdisk.md b/linux/src/fdisk.md new file mode 100644 index 0000000..2b168d6 --- /dev/null +++ b/linux/src/fdisk.md @@ -0,0 +1,13 @@ +# Управления разделами жёсткого диска (fdisk) + +Вывести список всех разделов всех подключенных устройств: + +```sh +fdisk -l +``` + +Вывести список разделов конкретного устройства, например `/dev/sdb`: + +```sh +fdisk -l /dev/sdb +``` diff --git a/linux/src/ip.md b/linux/src/ip.md new file mode 100644 index 0000000..bc9540c --- /dev/null +++ b/linux/src/ip.md @@ -0,0 +1,8 @@ + +```sh +ip route del default +``` + +```sh +ip route add default via 192.168.100.1 +``` \ No newline at end of file diff --git a/linux/src/systemd.md b/linux/src/systemd.md index ab079d2..ddc8fa6 100644 --- a/linux/src/systemd.md +++ b/linux/src/systemd.md @@ -119,4 +119,15 @@ systemctl --user enable myprogram.service systemctl --no-block --user start xsession.target ``` -После чего сервис `myprogram.service` будет автоматически запускаться после входа пользователя в систему. \ No newline at end of file +После чего сервис `myprogram.service` будет автоматически запускаться после входа пользователя в систему. + +## Просмотр журнала + +```sh +journalctl -b -u docker +``` + +где + +- `-b` - показать сообщения с момента последней (текущей) загрузки системы +- `-u` - показать журнал с указанного сервиса (`docker`) diff --git a/program/src/docker.md b/program/src/docker.md index e8fcef3..2771b8e 100644 --- a/program/src/docker.md +++ b/program/src/docker.md @@ -1,12 +1,14 @@ # Docker +## Работа с `image`, `container`, `volume` и `network` + Удаление всех `image`, `container`, `volume`, `network`: ```sh docker system prune -a ``` -## image +### image Список загруженных `image`: @@ -32,7 +34,47 @@ docker rmi image image docker rmi $(docker images -a -q) ``` -## container +Выгрузка `image` в файл: + +```sh +docker save repository:tag | gzip > image.tar.gz +``` + +или + +```sh +docker save -o image.tar repository:tag +``` + +или + +```sh +docker save image > image.tar +``` + +где + +- `repository:tag` - образ выгружаемого `image` + +Например: + +```sh +docker save nginx:alpine | gzip > nginx_alpine.tar.gz +``` + +Загрузка `image` из файла: + +```sh +docker load < image.tar.gz +``` + +или + +```sh +docker load --input image.tar +``` + +### container Список контейнеров: @@ -59,7 +101,22 @@ docker stop $(docker ps -a -q) docker rm $(docker ps -a -q) ``` -## volume +Запуск контейнера: + +```sh +docker run --restart always --name mynginx -p 8080:80 -d nginx:alpine +``` + +где + +- `run` - [запуск контейнера](https://docs.docker.com/engine/reference/commandline/container_run/) +- `--restart` - **всегда** (`always`) [стартовать автоматически](https://docs.docker.com/config/containers/start-containers-automatically/) контейнер после запуска `docker` +- `--name` - установить имя (`mynginx`) контейнера +- `-p` - [пробросить](https://docs.docker.com/config/containers/container-networking/) порт `80` из контейнера в хост порт `8080` +- `-d` - запустить контейнер в фоновом режиме (*detached mode*) +- `nginx:alpine` - имя образа `image`, на основе которого запускается контейнер + +### volume Список `volume`: