Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
veos:admin_manual [2023/02/28 20:08] – создано staspolevic | veos:admin_manual [2024/09/26 15:29] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== | + | ====== Руководство администратора ====== |
- | {{indexmenu_n> | + | {{indexmenu_n> |
+ | |||
+ | ===== Общие принципы работы VEOS ===== | ||
+ | |||
+ | ==== Процессы и файлы ==== | ||
+ | |||
+ | VEOS является многопользовательской интегрированной системой, | ||
+ | Пользователь может либо сам работать в системе, | ||
+ | Пользователь взаимодействует с системой через командный интерпретатор, | ||
+ | |||
+ | === Процессы функционирования ОС === | ||
+ | |||
+ | Все программы, | ||
+ | Системные процессы — программы, | ||
+ | Пользовательские процессы — процессы, | ||
+ | Фоновый режим работы процесса — режим, | ||
+ | |||
+ | ==== Файловая система ОС ==== | ||
+ | |||
+ | В VEOS использована файловая система Linux, которая является единым деревом. Корень этого дерева — каталог, | ||
+ | Части дерева файловой системы могут физически располагаться в разных разделах разных дисков или вообще на других компьютерах — для пользователя это прозрачно. Процесс присоединения файловой системы раздела к дереву называется монтированием, | ||
+ | Текущий каталог обозначается " | ||
+ | > cd .. | ||
+ | |||
+ | === Структура каталогов === | ||
+ | |||
+ | Корневой каталог /: | ||
+ | * / | ||
+ | * /boot — содержит ядро системы; | ||
+ | * /dev — псевдофайлы устройств, | ||
+ | * /etc — общесистемные конфигурационные файлы для большинства программ в системе; | ||
+ | * /etc/rc?.d, / | ||
+ | * /etc/passwd — база данных пользователей, | ||
+ | * /etc/shadow — теневая база данных пользователей. При этом информация из файла /etc/passwd перемещается в / | ||
+ | * /home — домашние каталоги пользователей; | ||
+ | * /lib — содержит файлы динамических библиотек, | ||
+ | * /lost+found — восстановленные файлы; | ||
+ | * /media — подключаемые носители (каталоги для монтирования файловых систем сменных устройств); | ||
+ | * /mnt — точки временного монтирования; | ||
+ | * /opt — вспомогательные пакеты; | ||
+ | * / | ||
+ | * /proc — виртуальная файловая система, | ||
+ | * /root — домашний каталог администратора системы; | ||
+ | * /run — файлы состояния приложений; | ||
+ | * / | ||
+ | * / | ||
+ | * / | ||
+ | * / | ||
+ | * / | ||
+ | * /usr — пользовательские двоичные файлы и данные, | ||
+ | * /var — файлы для хранения изменяющихся данных (рабочие файлы программ, | ||
+ | Каталог /usr: | ||
+ | * /usr/bin — дополнительные программы для всех учетных записей; | ||
+ | * /usr/sbin — команды, | ||
+ | * /usr/local — место, | ||
+ | * /usr/man — каталог, | ||
+ | * /usr/share — каталог для размещения общедоступных файлов большей части приложений. | ||
+ | Каталог /var: | ||
+ | * /var/log — место, | ||
+ | * /var/spool — каталог для хранения файлов, | ||
+ | | ||
+ | === Организация файловой структуры === | ||
+ | |||
+ | Система домашних каталогов пользователей помогает организовывать безопасную работу пользователей в многопользовательской системе. Вне своего домашнего каталога пользователь обладает минимальными правами (обычно чтение и выполнение файлов) и не может нанести ущерб системе, | ||
+ | Кроме файлов, | ||
+ | Маршрут (путь) — это последовательность имён каталогов, | ||
+ | Имя файла может содержать любые символы за исключением косой черты (/). Однако следует избегать применения в именах файлов большинства знаков препинания и непечатаемых символов. При выборе имен файлов рекомендуется ограничиться следующими символами: | ||
+ | * строчные и ПРОПИСНЫЕ буквы. | ||
+ | * символ подчеркивания (_); | ||
+ | * точка (.). | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | Для удобства работы точку можно использовать для отделения имени файла от расширения файла. Данная возможность может быть необходима пользователям или некоторым программам, | ||
+ | |||
+ | === Имена дисков и разделов === | ||
+ | |||
+ | Все физические устройства вашего компьютера отображаются в каталог /dev файловой системы дистрибутива (об этом — ниже). Диски (в том числе IDE/ | ||
+ | * / | ||
+ | * / | ||
+ | и т.д. | ||
+ | Диски обозначаются /dev/sdX, где X — a, | ||
+ | Раздел диска обозначается числом после его имени. Например, | ||
+ | |||
+ | === Разделы, | ||
+ | |||
+ | Для работы ОС на жестком диске (дисках) должны быть созданы, | ||
+ | |||
+ | ===== Работа с наиболее часто используемыми компонентами ===== | ||
+ | |||
+ | ==== Виртуальная консоль ==== | ||
+ | VEOS предоставляет доступ к виртуальным консолям, | ||
+ | Переключение между первыми шести виртуальными консолями производится нажатием комбинации клавиш Alt+F1 — Alt+F6 (Ctrl+Alt+F1 — Ctrl+Alt+F6). | ||
+ | |||
+ | ==== Командные оболочки ==== | ||
+ | |||
+ | Для управления VEOS используются командные интерпретаторы (shell). | ||
+ | Зайдя в систему, | ||
+ | В VEOS доступны следующие командные оболочки: | ||
+ | * bash — Bourne Again Shell, самая распространенная оболочка | ||
+ | * ksh — Korn Shell, хорошо известная оболочка в UNIX™ системах. | ||
+ | |||
+ | Проверить, | ||
+ | $ echo $SHELL | ||
+ | |||
+ | Оболочкой по умолчанию является Bash — самая распространённая оболочка под Linux, которая ведет историю команд и предоставляет возможность их редактирования. | ||
+ | |||
+ | ==== Командная оболочка Bash ==== | ||
+ | |||
+ | В Bash имеется несколько приемов для работы со строкой команд. Например, | ||
+ | * Ctrl+A — перейти на начало строки; | ||
+ | * Ctrl+U — удалить текущую строку; | ||
+ | * Ctrl+C — остановить текущую задачу. | ||
+ | Для ввода нескольких команд одной строкой можно использовать разделитель «;». По истории команд можно перемещаться с помощью клавиш ↑ («вверх») и ↓ («вниз»). | ||
+ | Чтобы найти конкретную команду в списке набранных, | ||
+ | Дyля просмотра истории команд можно воспользоваться командой histor. Команды, | ||
+ | Чтобы запустить конкретную команду необходимо набрать: | ||
+ | > !номер команды | ||
+ | Если ввести: | ||
+ | > !! | ||
+ | запустится последняя из набранных команд. | ||
+ | |||
+ | В Bash имеется возможность подстановки имен команд из общего списка команд, | ||
+ | > gu | ||
+ | Затем нажать клавишу Tab. Так как в данном случае существует несколько возможных вариантов завершения команды, | ||
+ | В предложенном примере можно получить следующий список: | ||
+ | > gu | ||
+ | guile gunzip gupnp-binding-tool | ||
+ | Если набрать: | ||
+ | Программы, | ||
+ | > ./test | ||
+ | |||
+ | ==== Команда ==== | ||
+ | Простейшая команда состоит из одного «слова» и может быть как встроенной в интерпретатор, | ||
+ | Текст, что следует за командой называется параметрами (или аргументами) и они вводятся для изменения поведения команды. В большинстве случаев, | ||
+ | Поведением команд можно управлять, | ||
+ | > ls | ||
+ | > ls -l | ||
+ | Такого рода параметры называются ключами или модификаторами выполнения. Ключ принадлежит данной конкретной команде и сам по себе смысла не имеет. Этим он отличается от других параметров (например, | ||
+ | Для формата ключей нет жёсткого стандарта, | ||
+ | * Если ключ начинается на -, то это простой ключ. За -, как правило, | ||
+ | * Если ключ начинается на --, то он называется расширенным ключом. Расширенный формат ключа начинается на два знака --, за которыми следует полное имя обозначаемого этим ключом содержания. | ||
+ | Некоторые ключи имеют и простой, | ||
+ | Информацию о ресурсах каждой команды можно получить, | ||
+ | |||
+ | |||
+ | |||
+ | ==== Стыкование команд в системе VEOS ==== | ||
+ | |||
+ | === Стандартный ввод и стандартный вывод === | ||
+ | |||
+ | Многие команды системы имеют так называемые стандартный ввод (standard input) и стандартный вывод (standard output), часто сокращаемые до stdin и stdout. Ввод и вывод — это входная и выходная информация для данной команды. Программная оболочка делает так, что стандартным вводом является клавиатура, | ||
+ | Пример с использованием команды cat. По умолчанию команда cat читает данные из всех файлов, | ||
+ | cat / | ||
+ | выведет на экран сначала содержимое файла. | ||
+ | Если имя файла не указано, | ||
+ | cat | ||
+ | Привет. | ||
+ | Привет. | ||
+ | Пока. | ||
+ | Пока. | ||
+ | Ctrl-D | ||
+ | Каждую строку, | ||
+ | |||
+ | === Перенаправление ввода и вывода === | ||
+ | |||
+ | При необходимости можно перенаправить стандартный вывод, используя символ >, и стандартный ввод, используя символ <. | ||
+ | Фильтр (filter) — программа, | ||
+ | |||
+ | === Использование состыкованных команд === | ||
+ | |||
+ | Стыковку команд (pipelines) осуществляет командная оболочка, | ||
+ | > ls -la /etc| sort -r | ||
+ | -rw-r--r--. | ||
+ | -rw-r--r--. | ||
+ | -rw-r--r--. | ||
+ | -rw-r--r--. | ||
+ | |||
+ | Вывод списка файлов частями: | ||
+ | > ls /usr/bin | more | ||
+ | Если необходимо вывести на экран последнее по алфавиту имя файла в текущем каталоге, | ||
+ | > ls | sort -r | head -1 notes | ||
+ | где команда head -1 выводит на экран первую строку получаемого ей входного потока строк (в примере поток состоит из данных от команды ls), отсортированных в обратном алфавитном порядке. | ||
+ | |||
+ | === Перенаправление вывода в режиме добавления === | ||
+ | |||
+ | ффект от использования символа > для перенаправления вывода файла является деструктивным; | ||
+ | > ls > file-list | ||
+ | уничтожит содержимое файла file-list, если этот файл ранее существовал, | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | |||
+ | ===== Режим суперпользователя ===== | ||
+ | |||
+ | VEOS — система многопользовательская, | ||
+ | Суперпользователь в VEOS — это выделенный пользователь системы, | ||
+ | Среди учётных записей VEOS всегда есть учётная запись суперпользователя — root. Поэтому вместо «суперпользователь» часто говорят «root». Множество системных файлов принадлежат root, множество файлов только ему доступны для чтения или записи. Пароль этой учётной записи — одна из самых больших драгоценностей системы. Именно с её помощью системные администраторы выполняют самую ответственную работу. | ||
+ | |||
+ | Системные утилиты требуют для своей работы привилегий суперпользователя, | ||
+ | |||
+ | Для опытных пользователей, | ||
+ | Первый — это войти в систему под именем root. | ||
+ | Второй способ — воспользоваться специальной утилитой su (shell of user), которая позволяет выполнить одну или несколько команд от лица другого пользователя. По умолчанию эта утилита выполняет команду sh от пользователя root, то есть запускает командный интерпретатор. Отличие от предыдущего способа в том, что всегда известно, | ||
+ | В некоторых случаях удобнее использовать не su, а утилиту sudo, которая позволяет выполнять только заранее заданные команды. | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | Для перехода в режим суперпользователя наберите в терминале команду su -. | ||
+ | Если воспользоваться командой su без ключа, то происходит вызов командного интерпретатора с правами root. При этом значение переменных окружения, | ||
+ | Чтобы избежать этого, следует использовать su -. В этом режиме su запустит командный интерпретатор в качестве login shell, и он будет вести себя в точности так, как если бы в системе зарегистрировался root. | ||
+ | |||
+ | |||
+ | ===== Управление пользователями ===== | ||
+ | |||
+ | Пользователи и группы внутри системы обозначаются цифровыми идентификаторами — UID и GID, соответственно. | ||
+ | Пользователь может входить в одну или несколько групп. По умолчанию он входит в группу, | ||
+ | uid=500(test) gid=500(test) группы=500(test), | ||
+ | Такая запись означает, | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | ==== Команда passwd ==== | ||
+ | Команда passwd поддерживает традиционные опции passwd и утилит shadow. | ||
+ | Синтаксис: | ||
+ | passwd [ПАРАМЕТРЫ...] < | ||
+ | -k, --keep-tokens | ||
+ | -d, --delete | ||
+ | -l, --lock | ||
+ | -u, --unlock | ||
+ | -e, --expire | ||
+ | -f, --force | ||
+ | -x, --maximum=DAYS | ||
+ | -n, --minimum=DAYS | ||
+ | -w, --warning=DAYS | ||
+ | -i, --inactive=DAYS | ||
+ | -S, --status | ||
+ | --stdin | ||
+ | |||
+ | Код выхода: | ||
+ | Пользователь может в любой момент поменять свой пароль. Единственное, | ||
+ | Только суперпользователь может обновить пароль другого пользователя. | ||
+ | |||
+ | ==== Добавления нового пользователя ==== | ||
+ | |||
+ | Для добавления нового пользователя используйте команды useradd и passwd: | ||
+ | > useradd test | ||
+ | > passwd test | ||
+ | Изменяется пароль пользователя test. | ||
+ | Новый пароль : | ||
+ | |||
+ | В результате в системе появился пользователь test с заданным паролем. Если пароль оказался слишком слабым с точки зрения системы, | ||
+ | Программа useradd имеет множество параметров, | ||
+ | |||
+ | ==== Модификация пользовательских записей ==== | ||
+ | |||
+ | Для модификации пользовательских записей применяется утилита usermod: | ||
+ | > usermod -G wheel,test test | ||
+ | Такая команда изменит список групп, в которые входит пользователь test — теперь это wheel, test. | ||
+ | |||
+ | > usermod -l test1 test | ||
+ | |||
+ | Будет произведена смена имени пользователя с test на test1. | ||
+ | Команды usermod -L test1 и usermod -U test1 соответственно временно блокируют возможность входа в систему пользователю test1 и возвращают всё на свои места. | ||
+ | Изменения вступят в силу только при следующем входе пользователя в систему. | ||
+ | При неинтерактивной смене или задании паролей для целой группы пользователей используйте утилиту chpasswd. На стандартный вход ей следует подавать список, | ||
+ | |||
+ | ==== Удаление пользователей ==== | ||
+ | |||
+ | Для удаления пользователей используйте userdel. | ||
+ | Команда userdel test1 удалит пользователя test1 из системы. Если будет дополнительно задан параметр -r, то будет уничтожен и домашний каталог пользователя. Нельзя удалить пользователя, | ||
+ | |||
+ | |||
+ | ===== Система инициализации systemd ===== | ||
+ | |||
+ | |||
+ | ==== Запуск операционной системы ==== | ||
+ | Алгоритм запуска компьютера приблизительно такой: | ||
+ | - BIOS компьютера. | ||
+ | - Загрузчик системы (например, | ||
+ | - Загружается ядро Linux. | ||
+ | - Запускается на выполнение первый процесс в системе — init. | ||
+ | - Ядром запускается самая первая программа в системе init. Её задачей является запуск новых процессов и повторный запуск завершившихся. Вы можете посмотреть, | ||
+ | От конфигурации init зависит, | ||
+ | |||
+ | Система инициализации systemd является основной системой инициализации VEOS, вобравшей в себя достоинства классического System V init и более современных launchd (OS X), SMF (Solaris) и Upstart (Ubuntu, Fedora), но при этом лишенной многих их недостатков. Он разрабатывался для обеспечения лучшего выражения зависимостей между службами, | ||
+ | systemd (system daemon) реализует принципиально новый подход к инициализации и контролю работы системы. Одним из ключевых новшеств этого подхода является высокая степень параллелизации запуска служб при инициализации системы, | ||
+ | Удобство systemd особенно заметно на компьютерах для домашнего пользования — когда пользователи включают и перезагружают компьютер ежедневно. В отличие от sysvinit, подвисание при запуске одного сервиса не приведет к остановке всего процесса загрузки. | ||
+ | |||
+ | ==== Примеры команд управления службами, | ||
+ | |||
+ | Команды service и chkconfig продолжат работать в мире systemd практически без изменений. Тем не менее, в этой таблице показано как выполнить те же действия с помощью встроенных утилит systemctl. | ||
+ | |||
+ | ^ Команды Sysvinit ^ Команды Systemd ^ Примечания ^ | ||
+ | | service fastdpi start | systemctl start fastdpi.service | Используется для запуска службы (не перезагружает постоянные | | ||
+ | | service fastdpi stop |systemctl stop fastdpi.service | Используется для остановки службы (не перезагружает постоянные)| | ||
+ | | service fastdpi restart | systemctl restart fastdpi.service | Используется для остановки и последующего запуска службы | | ||
+ | | service fastdpi reload | systemctl reload fastdpi.service | Если поддерживается, | ||
+ | | service fastdpi condrestart | systemctl condrestart fastdpi.service | Перезапускает службу, | ||
+ | | service fastdpi status | systemctl status fastdpi.service |Сообщает, | ||
+ | | ls / | ||
+ | | chkconfig fastdpi on | systemctl enable fastdpi.service | Включает службу во время следующей перезагрузки, | ||
+ | | chkconfig fastdpi off | systemctl disable fastdpi.service | Выключает службу во время следующей перезагрузки, | ||
+ | | chkconfig fastdpi | systemctl is-enabled fastdpi.service | Используется для проверки, | ||
+ | | chkconfig --list | systemctl list-unit-files --type=service(preferred) | Выводит таблицу служб. В ней видно, на каких уровнях загрузки они (не)запускаются | | ||
+ | | chkconfig fastdpi --list | ls / | ||
+ | | chkconfig fastdpi --add | systemctl daemon-reload | Используется, | ||
+ | |||
+ | ==== Журнал в systemd ==== | ||
+ | |||
+ | В systemd включена возможность ведения системного журнала. Для чтения журнала следует использовать команду journalctl. По умолчанию, | ||
+ | Вы можете запускать journalctl с разными ключами: | ||
+ | > journalctl -b — покажет сообщения только с текущей загрузки; | ||
+ | > journalctl -f — покажет только последние сообщения. | ||
+ | Так же вы можете посмотреть сообщения определенного процесса: | ||
+ | > journalctl _PID=1 — покажет сообщения первого процесса (init). | ||
+ | Для ознакомления с прочими возможностями, | ||
+ |