16. Управление системой, файловой системой и хранилищем в Linux
Содержание
Управление системой, файловой системой и хранилищем в Linux
К этому времени мы кратко рассмотрели Linux и DevOps, а затем мы настроили нашу лабораторную среду с помощью vagant 14-й день), а затем коснулись небольшой части команд, которые будут в вашем ежедневном набор инструментов во время использования терминала - (День 15).
Сегодня мы рассмотрим три ключевые области обслуживания систем Linux с помощью обновлений, установки программного обеспечения. Поймем для чего используются системные папки, а также рассмотрим хранилище.
Управление Ubuntu и программным обеспечением
Первое, что мы собираемся рассмотреть, это то, как мы обновляем нашу операционную систему. Большинству из вас этот процесс знаком в ОС Windows и macOS, он немного отличается на рабочем столе и сервере Linux.
Мы рассмотрим диспетчер пакетов apt - утилита, которую мы собираемся использовать на нашей виртуальной машине Ubuntu для обновлений и установки программного обеспечения.
Как правило, по крайней мере на рабочих станциях разработчиков, мы запускаем эту команду, чтобы убедиться, что у нас есть последние доступные обновления из центральных репозиториев перед установкой любого программного обеспечения.
sudo apt-get update
Теперь у нас есть обновленная виртуальная машина Ubuntu с установленными последними обновлениями ОС. Теперь мы хотим установить здесь некоторое программное обеспечение.
Давайте выберем figlet
— программу, генерирующую текстовые баннеры.
Если мы введем «figlet» в наш терминал, вы увидите, что приложение не установлен в нашей системе.
apt
предлагает нам некотоыре опции установки apt install ...
, которые мы можем попробовать. Это потому, что в репозиториях по умолчанию есть программа figlet. Давайте попробуем sudo apt install figlet
Если мы хотим удалить эту или любую из наших установок программного обеспечения, мы также можем сделать это с помощью менеджера пакетов «apt».
sudo apt remove figlet
Существуют сторонние репозитории, которые мы также можем добавить в нашу систему, те, к которым у нас есть доступ из коробки, являются репозиториями Ubuntu по умолчанию.
Если бы, например, мы хотели установить vagrant на нашу виртуальную машину Ubuntu, мы не смогли бы сделать это прямо сейчас, и вы можете увидеть это ниже в первой введенной команде. Затем мы добавляем ключ к репозиторию HashiCorp, а затем добавляем репозиторий в нашу систему.
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt install vagrant
и установить vagrant в нашей системе.Существует много вариантов, когда дело доходит до установки программного обеспечения, различных вариантов менеджеров пакетов, встроенных в Ubuntu, мы также могли бы использовать сохраненные темплейты (snapshots) для установки нашего программного обеспечения.
Надеюсь, это даст вам представление о том, как управлять установками ОС и программного обеспечения в Linux.
Файловая система
Linux состоит из файлов конфигурации, и если вы хотите что-то изменить, вы меняете эти файлы конфигурации.
В Windows у вас есть диск C:
, и это то, что мы считаем корнем. В Linux у нас есть /
, где мы собираемся найти важные папки в нашей системе Linux.
/bin
- Сокращенно от binary, папка bin — это место, где в основном находятся наши двоичные файлы, которые нужны вашей системе, исполняемые файлы и инструменты.
/boot
- Все файлы, необходимые вашей системе для загрузки. Как загрузиться и с какого диска загрузиться.
/dev
- Вы можете найти информацию об устройстве здесь, здесь вы найдете указатели на ваши дискиsda
, которые будут вашим основным диском ОС.
/etc
- Вероятно, это самая важная папка в вашей системе Linux, где находится большинство ваших файлов конфигурации.
/home
- здесь вы найдете свои пользовательские папки и файлы. У нас есть пользовательская папкаvagrant
. В ней вы найдете папки “Documents” и «Desktop», с которыми мы работали для раздела команд.
/lib
- Мы упомянули, что/bin
— это место, где находятся наши бинарные и исполняемые файлы, а/lib
— это место, где вы найдете разделяемые библиотеки для них.
/media
- Съемные носители. Флешки, диски и тд).
/mnt
- Mount. Это временная точка монтирования. Подробнее мы расскажем в следующем разделе о хранении данных.
/opt
- Дополнительные пакеты программного обеспечения. Вы заметите, что здесь хранится некоторое программное обеспечение для vagrant и virtual box.
/proc
- Информация о ядре (kernel) и процессе (process), аналогичная/dev
/root
- Домашняя папка для root. Чтобы получить доступ, вам нужно войти в эту папку с помощью sudo.
/run
- Каталог, содержащий PID файлы процессов, похожий на /var/run, но в отличие от него, он размещен в TMPFS, а поэтому после перезагрузки все файлы теряются. Сохраняет состояния текущих процессов
/sbin
- System binaries. Так же как и /bin, содержит двоичные исполняемые файлы, которые доступны на ранних этапах загрузки, когда не примонтирован каталог /usr. Но здесь находятся программы, которые можно выполнять только с правами суперпользователя. Это разные утилиты для обслуживания системы. Например, iptables, reboot, fdisk, ifconfig,swapon и т д.
/tmp
- Содержит временные файлы, созданные системой, любыми программами или пользователями
/usr
- User Aplications. Если бы мы, как обычный пользователь, установили пакеты программного обеспечения, они обычно устанавливались бы в папку/usr/bin
. Здесь находятся исполняемые файлы, исходники программ, различные ресурсы приложений, картинки, музыка и документация/usr/bin
- Содержит исполняемые файлы различных программ, которые не нужны на первых этапах загрузки системы, например, музыкальные плееры, графические редакторы, браузеры и т.д.
/var
- Variable. Переменные файлы. Наши приложения устанавливаются в папкуbin
. Нам нужно где-то хранить все файлы журналов, это/var
. Здесь содержатся файлы системных журналов, различные кеши, базы данных и так далее
/var/log
- Logs. Здесь содержатся большинство файлов логов всех программ, установленных в операционной системе. У многих программ есть свои подкаталоги в этой папке, например, /var/log/apache - логи веб-сервера, /var/log/squid - файлы журналов кеширующего сервера squid. Если в системе что-либо сломалось, скорее всего, ответы вы найдете здесь./var/run
- Содержит файлы с PID процессов, которые могут быть использованы, для взаимодействия между программами. В отличие от каталога /run данные сохраняются после перезагрузки./sys
- System. Информация о системе. Назначение каталогов Linux из этой папки - получение информации о системе непосредственно от ядра. Это еще одна файловая система организуемая ядром и позволяющая просматривать и изменить многие параметры работы системы, например, работу swap, контролировать вентиляторы и многое другое.
Хранение
Когда мы подходим к системе Linux или любой другой системе, мы можем захотеть узнать о доступных дисках и о том, сколько свободного места у нас есть на этих дисках. Следующие несколько команд помогут нам идентифицировать, использовать и управлять хранилищем.
lsblk
Список заблокированных устройств. «sda» — это наш физический диск, а затем «sda1, sda2, sda3» — наши разделы на этом диске.
df
дает нам немного больше информации об этих разделах, сколько всего, используется и доступно. Здесь вы можете использовать и другие флаги. Я обычно используюdf -h
, чтобы дать нам “человеческий (понятный” (human) вывод данных.
Если вы добавляли новый диск в свою систему, и это то же самое в Windows, вам нужно было бы отформатировать диск в управлении дисками, в терминале Linux вы можете сделать это с помощью sudo mkfs -t ext4 /dev/sdb
с sdb, относящимся к нашему недавно добавленному диску.
Затем нам нужно будет смонтировать наш недавно отформатированный диск, чтобы его можно было использовать. Мы сделали бы это в нашей ранее упомянутой папке /mnt
и создали бы там каталог с sudo mkdir NewDisk
, а затем использовали бы sudo mount /dev/sdb newdisk
для монтирования диска в это место.
Также возможно, что вам нужно будет безопасно отключить хранилище из вашей системы, а не просто вытащить его из конфигурации. Мы можем сделать это с помощью sudo umount /dev/sdb.
Если вы не хотите размонтировать этот диск и собираетесь использовать этот диск для базы данных или какого-либо другого варианта постоянного использования, тогда вы хотите, чтобы он был там при перезагрузке системы. Чтобы это произошло, нам нужно добавить этот диск в наш файл конфигурации /etc/fstab
, чтобы он сохранялся, если вы этого не сделаете, его нельзя будет использовать при перезагрузке машины, и вам придется вручную выполнить описанное выше. процесс. Данные по-прежнему будут на диске, но они не будут автоматически монтироваться, пока вы не добавите конфигурацию в этот файл.
После того, как вы отредактировали файл конфигурации fstab
, вы можете проверить свою работу с помощью sudo mount -a
, если ошибок нет, тогда ваши изменения теперь будут сохраняться при перезапусках.
Мы расскажем, как вы будете редактировать файл с помощью текстового редактора в будущем сеансе.