Система linux: Операционные системы Linux под разные задачи / Блог компании ua-hosting.company / Хабр

Операционные системы Linux под разные задачи / Блог компании ua-hosting.company / Хабр
Существует огромное количество операционных систем Linux, каждая из которых предлагает то либо другое преимущество. Различные варианты ОС могут затруднить выбор и забрать немалое количество времени для поиска необходимой именно под ваши задачи. Ubuntu, Mint, Elementary, Fedora, OpenSUSE… список удобных для пользователя дистрибутивов может показаться бесконечной историей. Нужна ОС попроще? Для игр? А возможно, нужен мультимедийный дистрибутив для комфортного просмотра и прослушивания медиа контента? Все они доступны.

Здесь собран регулярно обновляемый список операционных систем Linux, оптимально подходящий под конкретные потребности и требования проекта. Материал — адаптивный перевод статьи Christian Cawley The Best Linux Operating Systems.

Вот список:



Содержание

Linux для новичков


Ubuntu


Ubuntu — дистрибутив на основе Debian, вышла новая версия популярного Linux-дистрибутива Ubuntu — 17.10 Artful Aardvark с графической оболочкой Gnome 3 (3.26) и Gnome Shell (ей характерна более высокая настраиваемость и гибкость). Ubuntu — одна из самых широко используемых ОС Linux. При переходе на Linux, скорее всего данный дистрибутив станет одним из первых, который вы начнете юзать. Есть даже малиновая версия для Raspberry Pi. Для загрузки версии 17.10 доступна только 64-битная редакция (1,4 Гбайт).

Особенности и изменения:

— новый рабочий стол GNOME — самое большое изменение коснулось среды рабочего стола. В версии Ubuntu 17.10 вместо Unity — GNOME, версия 3.26.1.
— Wayland (протокол взаимодействия между КОМ и клиентами). По дефолту дисплейный сервер — Wayland, но для систем и пользователей, предпочитающих X.Org можно выбрать сеанс «Ubuntu on X.org»
— новая экранная клавиатура Caribou
— серверная сборка с обновленными версиями QEMU 2.10, libvirt 3.6, DPDK 17.05.2, Open vSwitch 2.8, Samba 4.6.7

Об основных новшествах, перейдя по ссылке

Kubuntu


Ubuntu имеет множество производных, дистрибутив Kubuntu — одна из них, используется графический интерфейс KDE. Дружественная к пользователю ОС Kubuntu — это часть проекта Ubuntu. Бесплатная и открытая альтернатива Windows и Mac OS X, которая содержит все необходимое для работы. По умолчанию Kubuntu поставляется с браузером Firefox. Другие браузеры (Chromium, Rekonq) можно установить с репозиториев Kubuntu. KDE Telepathy — мессенджер Kubuntu — позволяет общаться через Facebook, Google Talk, AIM, ICQ, Jabber, Messenger, Skype и т.д. Дистрибутив Kubuntu поставляется с музыкой и видеопроигрывателем: просто выбираете трек или видео, а Kubuntu позаботится о всем остальном. LibreOffice (офисное приложение) совместим со всеми офисными приложениями, включая Microsoft Office.

19 октября вышел релиз Kubuntu 17.10 Artful Aardvark. 1400 разработчиков трудились над внесением исправлений — 14 тысяч исправлений, половина из которых связана с драйверами устройств.

Основные новшества релиза, перейдя по ссылке

Mint


Linux Mint — свобода, приведшая к элегантности — мощный и простой дистрибутив. На основе Ubuntu Linux Mint является надежным дистрибутивом, согласно данным DistroWatch (новостной сайт, специализирующийся на публикации рейтингов ОС). Linux Mint не так давно занимала лидирующие позиции в рейтинге среди пользователей, которые перешли на Linux с Windows или macOS.

Mint использует свободную графическую оболочку Cinnamon, может поддерживать и другие — Xfce, MATE, KDE. Есть Linux Mint на базе Debian (LMDE), который нацелен на опытных пользователей Linux, он менее дружелюбен по сравнению с Linux Mint на базе Ubuntu.

Последний релиз Linux Mint 18.2 под кодовым названием «Sonya», на базе Ubuntu 16.04 LTS и ядре версии Linux 4.8, идет уже с новыми версиями оболочек рабочего стола Cinnamon 3.4, MATE 1.18, KDE Plasma 5.8 LTS и Xfce 4.12. Минимальные системные требования для установки Linux Mint 18.2: 1 ГБ оперативной памяти, 15 ГБ дискового пространства.

В сентябре появилась новость о старте работ над релизом Linux Mint 18.3 под кодовым названием «Сильвия/Sylvia». Кроме названия известно еще вот что — дистрибутив будет дополнен инструментом резервного копирования Timeshift, внесены улучшения в Xreader. «Timeshift — отличная утилита, которая по умолчанию будет работать в паре с приложением mintBackup». Улучшения коснутся и панели инструментов PDF-ридера (Xreader).

Deepin


Deepin — дистрибутив, который ранее был на базе Ubuntu, с графической оболочкой DDE. Для тех, кто перешел с Windows или macOS на Linux понравится простота дистрибутива, ОС приятная и дружественная с нормальными настройками, имеется свой оконный менеджер — Gala. Визуальные эффекты и привлекательный внешний вид дистрибутива — приятный плюс. В новой версии 15.4.1 добавлены звуковые эффекты и системные звуки. Дистрибутив поставляется с собственными приложениями такими как Deepin Software Centre, DMusic, DPlayer. Отличная альтернатива Windows для широкого круга пользователей (домашних и офисных), поддержка 30 языков (даже хинди). После оптимизации эффектов оконного менеджера можно устанавливать разные обои для каждого рабочего пространства. Поддержка жестов для multi-touch.

Центр приложений — Deepin Store, легко просматривать и устанавливать ПО, что немаловажно для новых пользователей Linux. Насчет минимальных системных требований: 1 ГБ оперативной памяти, 10 ГБ свободной дисковой квоты.

PCLinuxOS


PCLinuxOS — позиционируется как один из распространенных дистрибутивов Linux среди новичков, стандартно установлена графическая оболочка KDE Plasma Desktop. Вы сможете без проблем установить драйверы, офисные приложения, отредактировать фотографии, комфортная работа с мультимедиа — обеспечена. К слову, отлично подойдет в качестве второй ОС. В PCLinuxOS есть полный набор приложений для комфортного вебсерфинга, работы с электронной почтой, обмена сообщениями, просмотра онлайн-видео, приложения GIMP, Picasa и другие для работы с мультимедийным контентом, офисное приложение LibreOffice.

Исходя из названия PCLinuxOS — это стремление «сблизить» операционные системы Windows и Linux. Как вам наличие стартового меню Windowsesque? Среди особенностей PCLinuxOS — быстрота развертывания и компактность инсталляции, недостатки — проблема с fake RAID и отсутствие поддержки файловой системы btrfs. Дистрибутив нетребовательный к ресурсам: минимально 512 MБ оперативки, 12 минимум и 20+ ГБ (для полной установки) свободной дисковой квоты.

Linux Lite


Linux Lite на основе Ubuntu LTS — один из простейших дистрибутив, удачно адаптирован для тех, кто делает первые шаги в Linux, c простой, интуитивной графической оболочкой Xfce. Меню «Пуск» выполнено в духе Windows. Гибкость системы, поставляется с базовым набором приложений, которые подойдут как начинающим пользователям Linux, так и более продвинутым.

Linux Lite — максимально дружелюбная и понятная ОС, которая упростит переход на Linux с Windows. Thunar версии 1.6.11 — файловый менеджер по умолчанию, Firefox 52.0.2 — браузер, есть приложения для работы с мультимедиа Gimp 2.8.20, медиаплеер VLC версии 2.2.2, офисное приложение — LibreOffice 5.1.6. Не требовательный к ресурсам Linux Lite можно установить на старое железо, будет достаточно ОЗУ объемом 512 МБ.

Zorin OS


Zorin OС ориентирован на новичков Linux, пользователям Windows будет просто и безболезненно сменить ее, так как интерфейс очень напоминает Windows Explorer в Microsoft Windows. Дистрибутив был создан на основе Ubuntu. Есть множество аналогов приложений Windows.

Сходство Zorin OС 9 с Windows 7 устраняет дискомфорт при переходе на Linux! Как утверждают разработчики, переход на Zorin OС подобен легкому ветерку. Вы можете даже запустить множество приложений Windows внутри ОС Zorin с помощью Wine. Быстрый, мощный, безопасный — таким будет ваш девайс с этим дитрибутивом.

Команда Zorin OС летом этого года объявила о выпуске Zorin OС 12 Lite. Теперь в качестве базовой среды рабочего стола — Xfce, что открывает широкое поле для кастомизации и настроек. Zorin OS 12 Lite работает на базе ядра Linux версии 4.8.

Elementary OS


Elementary OS — быстрый и легкий дистрибутив на базе Ubuntu. В качестве графической оболочки — минималистичный Pantheon. Elementary OS — эстетически привлекательная ОС с простыми приложениями: файловый менеджер Pantheon Files, почтовый клиент Geary, легковесный и функциональный браузер Midori, свободный медиаплеер Totem, менеджер фотографий Shotwell. Приложения Elementary OS работают быстро и удовлетворят пользовательские повседневные потребности. Мало возможностей для кастомизации и тонкой настройки — как плата за абсолютную простоту.

Придерживаетесь принципа «за все нужно платить», даже за программное обеспечение с открытым исходным кодом? Разработчики Elementary OS с радостью примут ваш вклад в пользу поддержки ОС. Есть желание прочувствовать привлекательный внешний вид macOS, комфорт Windows и стабильность Linux, тогда Elementary OS — может стать вашим выбором.

Основные дистрибутивы


openSUSE


Популярный openSUSE — так сказать, «юзерфрендли» дистрибутив Linux, привлекателен и интересен для новичков в мире Linux, но и полезен для разработчиков, ведь продукты openSUSE позволяют получить полный исходный код для каждого бинарного пакета в дистрибутиве. Позиционируется как «лучший выбор для системных администраторов, разработчиков и обычных пользователей». Дистрибутив поддерживает такие графические оболочки — GNOME, KDE, Xfce, LXDE, E19.

Среди инструментов дистрибутива openSUSE: Open Build Service (OBS), openQA, YaST, Kiwi. Летом этого года состоялся релиз openSUSE Leap 42.3. Минимальные системные требования: процессор Pentium 4 1.6 GHz или выше, от 1 ГБ RAM, от 3 ГБ свободной дисковой квоты.

Fedora


По дефолту Fedora идет с графической оболочкой GNOME, есть возможность быстро и легко менять графические оболочки (KDE, Xfce, LXDE, MATE и Cinnamon). Любите испытывать и работать с новыми версиями программ, тогда дистрибутив оптимально подойдет под ваши запросы.

В июле 2017 года стал доступен релиз операционной системы Fedora 26 для персональных компьютеров, серверов, облачных и встроенных устройств. Было проведено множество улучшений: графическая оболочка GNOME 3.24.2 (Fedora Workstation), ОС на базе ядра Linux 4.11.8, менеджер пакетов по дефолту — DNF 2.0, компилятор — GCC 7. Дистрибутив Fedora 26 идет с обновленными версиями Python 3.6, OpenSSL 1.1.0, Boost 1.63, Ruby 2.4, GHC 8.0, Golang 1.8.

Debian


Debian — старейший и популярнейший дистрибутив Linux с графической оболочкой GNOME. Есть проекты на основе других ядер Debian GNU/kFreeBSD (ядро FreeBSD), ведется разработка Debian GNU/Hurd (с ядром GNU Hurd) и другие.

В июне 2017 года вышла девятая версия Debian Stretch. Дистрибутив на базе ядра LTS-версии 4.9 поддерживает такие архитектуры, среди них — amd64, arm64, i386, armel, armhf, mips, mipsel, mips64el, ppc64el, s390x. Debian работает почти на всех машинах, даже на самых старых. Сборка MariaDB вместо MySQL. Есть возможность установить такие графические оболочки — Cinnamon, GNOME, KDE, LXDE, MATE, Xfce. Информацию о выпуске можно найти, перейдя по ссылке. В октябре вышли обновления некоторых пакетов (выпуск 9.2). Бесплатная, стабильная, надежная, универсальная и мощная ОС.

Korora


На базе Fedora, первоначально дистрибутив Korora был основан на Gentoo Linux, ее основным заданием являлось сделать Linux понятным не только для начинающих, но также полезным для опытных пользователей. Есть возможность выбрать графическую оболочку: Cinnamon, GNOME, KDE, MATE или Xfce.

Проект Korora объявил о выпуске версии 26 на базе Fedora 26, под кодовым названием «Bloat», который уже доступен для скачивания. Среди обновлений — Cinnamon 3.4, GNOME 3.24, KDE Plasma 5.10, Mate 1.18, Xfce 4.12, быстрый кеш SSSD для локальных пользователей. Выпуск идет с использованием Canvas, пользователи могут настроить дистрибутив под себя и свои потребности.

Slackware Linux


Безопасный и простой дистрибутив Slackware — однозначно UNIXвый дистрибутив Linux, он оптимален для работы с серверами. Древний и своеобразный дистрибутив Linux — вот как можно его охарактеризовать, такая технология как Systemd его разработчикам чужда.

Состоялся релиз стабильной версии Slackware 14.2. после многих бета-версий, поставляется с ядром 4.4. Доступны два варианта ядра — монолитная и модульная сборки, поддержка таких графических оболочек KDE 4.14.21 (KDE 4.14.3 c kdelibs-4.14.21), Xfce 4.12.1. Дистрибутив заставит похлопотать над его настройкой, много чего нужно будет сделать вручную.

Mageia


Mageia — стабильная, безопасная ОС и для персональных компьютеров и для серверов, изначально это был некоммерческий форк Mandriva Linux. Дистрибутив — неплохой вариант для новичков, простой, удобный, многоязычный, поддерживает графических оболочки — KDE, GNOME, MATE, LXDE, Xfce, Cinnamon.

Есть мнение, что дистрибутив медленно исчезает, так как обновления выходят редко. Но в июле 2017 года вышла Linux Mageia 6. Скорее всего дистрибутив ориентирован на домашнее использование. Идет на базе ядра Linux 4.9 с новым менеджером пакетов DNF.

Sparky Linux


SparkyLinux основан на Debian 8. ветка Testing. Основная версия идет с графической оболочкой LXDE, для пользователей доступны и другие интерфейсы. SparkyLinux — легкий, быстрый и простой дистрибутив Linux с настраиваемыми рабочими столами Enlightenment и LXDE. С ним можно работать и на новом, и на старом железе. Последняя версия SparkyLinux 5.1 под кодовым названием Buster на базе ядра Linux 4.12.13, по умолчанию инсталлятор — Calamares, обновленный до версии 3.1.4.

Gentoo Linux


Документация и консоль в помощь, адаптировать Gentoo Linux можно практически под любые требования. Стабильность системы и наличие множества приложений — неотъемлемые плюсы дистрибутива. Доступна мощная и гибкая система управления пакетами Portage. Полное отсутствие какого-либо установщика и сборка из исходников и опции компилятора — такой себе конструктор-лего, высокая сложность и простор для прохождения «квеста» по настройке системы.

В случае установки Gentoo, процесс адаптации новичков к Linux системе будет пройден.

CentOS


CentOS — уникальный вариант платного дистрибутива Red Hat Enterprise Linux. Повышенная стабильность и бесплатность в распространении дистрибутива корпоративного уровня. Незаменим для комфортной работы с серверами. Плюс системы CentOS: работают все программные продукты, которые рассчитаны на Linux.

Система не рассчитана на новичков — никаких упрощений, работа вашего сервера будет безопасна и стабильна, используются технологии GCC как SSP (защита стека), PIE. Если вы используете Red Hat на работе, имеет смысл использовать CentOS дома — отличий немного, а экономия на лицо.

Дистрибутивы LINUX для творчества


Fedora Design Suite


Fedora Design Suite была создана для пользователей, которым необходим софт для работы с мультимедийным контентом. Доступны такие инструменты как Inkscape, Krita и GIMP.

Подобно тому, как Ubuntu поставляется в разных «вариантах» (Kubuntu, Xubuntu, Edubuntu и т.д), Fedora имеет также специализированные сборки — Spins и Labs. Design Suite оперирует теми же функциями, что и основная версии Fedora; графический интерфейс — Gnome.

Ubuntu Studio


Первый релиз Ubuntu Studio был выпущен в 2007 году, эту ОС выбирают пользователи Linux, которые много работают с мультимедийными программами — графические дизайнеры, люди творческие.

Система использует в качестве графической среды XFCE. Последняя версия Ubuntu Studio 17.04 Zesty Zapus была выпущена в начале 2017 года. Для пользователей доступны приложения для работы с мультимедиа: Darktable, RawTherapee, Kdenlive, Pitvi, OpenShot, Synfig Studio, Cinelerra, Gimp, Blender.

KXStudio


KXStudio — Linux дистрибутив для тех, кому медведь не наступил на ухо. ОС для людей, занимающихся музыкой, конфигурация установленных программ порадует: Alsa, Jack, Wine + WineAsio и т.д. Графическая оболочка — KDE 4.11, поставляется с ядром с низкой задержкой таймера.

Iro


В основном работаете с анимацией, 3D-моделированием, фоторедакторами? Iro — то, что вы оцените.

Простая операционная система для производства компьютерной графики. Не нужно колдовать над ее установкой, чтобы создать шедевры в программах для рисования, поработать с видео. Никакой суеты. Iro — портативная ОС, может запускаться с USB или DVD.

Дистрибутивы для обучения


Edubuntu


Разработка Edubuntu должна была максимально облегчить работу с ОС учителям и детям любого возраста. ОС идет в комплекте со всем лучшим бесплатным образовательным софтом GCompris, KDE Education Project, SchoolTool календарь. Поставляется с графической оболочкой GNOME, но есть возможность установить KDE.

В наличие большой репозиторий образовательных программ, кроме стандартных офисных приложений и приложений для работы с мультимедиа, есть инструменты для программирования (на Basic, Pascal, Haskell, Java, Lisp, Perl) и веб-разработки. В общей сложности пользователям предлагается 34000 программ.

Uberstudent


Uberstudent — обучающий дистрибутивов Linux, нацелен на учеников, начиная со средних и старших классов, идет уже с предустановленным ПО. Графическая оболочка — Xfce с настройками.

ОС с множеством стандартных и полезных приложений, (LibreOffice, Chromium, Firefox, Thunderbird), пользователям доступен широкий спектр обучающего софта. Все создано, чтобы не только упростить выполнение заданий, но и оптимально управлять задачами.

Дистрибутивы для Raspberry Pi


Raspbian Jessie


Стандартная ОС для популярной Raspberry Pi. Raspbian Jessie — не просто новая версия основной операционной системы Pi основанная на Debian, она создана, чтобы еще более упростить пользование ОС Pi.

В этом дистрибутиве в наличии два новых инструмента для программирования: BlueJ и Greenfoot, они будут интересны тем, кто изучает программирование на Java. С октября 2016 года Raspbian Jessie использует новую рабочую среду — PIXEL.

Kano OS


Подобна Raspbian, стильная Kano OS для Raspberry Pi была разработана с целью облегчить новичкам знакомство и работу с устройствами. Интуитивная операционная система, основанная на Debian. Простой интерфейс с необходимыми инструментами рассчитан для комфортной работы даже для детей; перекомпилированное ядро и урезанная система, а установить ОС можно методом apt-get, имеется свой менеджер обновлений.

Легковесные дистрибутивы


Lubuntu


Lubuntu — легкий, энергоэффективный и надежный дистрибутив Linux, основанный на Ubuntu. Для запуска этой операционной системы достаточно небольшого объема используемой памяти (512 МБ ОЗУ вполне хватит), одним словом — легковесная ОС. Используется рабочий стол LXDE и набор легких приложений, ориентация на скорость и энергоэффективность.

Lubuntu — почти Ubuntu с графической оболочкой LXDE. Функциональный дистрибутив Lubuntu нацелен на старые машины, но будет прекрасно работать и на новом оборудовании. Помимо удобного графического интерфейса, Lubuntu предлагает широкий выбор приложений, которые обеспечат комфортную работу пользователям: вебсерфинг, работа с медиаконтентом, игры.

Xubuntu


Xubuntu — простая и эстетически привлекательная ОС, основанная на Ubuntu. Xfce — графическая среда данной ОС. Прекрасно подходит для установки на лептопах, нетбуках, невысокие требования позволяют установить ее даже на старых машинах.

Есть два варианта Xubuntu: Live CD (можно работать с диска) и Alternate Install CD (только для установки). Стабильный, аккуратный и практичный дистрибутив. Сейчас актуальна версия Xubuntu 16.04 с кодовым названием Xenial Xerus на базе ядра Linux 4.4, LibreOffice 5.1.2.2, Mozilla Firefox 45.0.2, с почтовым клиентом Thunderbird 38.6, файловым менеджером Thunar 1.6.10.

Puppy Linux


Запускай простую Puppy Linux просто из ОЗУ, ОС установится и на старые машины, наличие жесткого диска необязательно. Есть возможность установить ее в качестве дополнительной без изменения основной ОС.

Небольшой, но быстрый дистрибутив Puppy Linux на базе Slackware — просто берете установочный образ на флешке и запускаете в режиме LiveCD. В наличие большое количество инструментов и программ для настройки системы, есть весь необходимый софт для повседневной работы при этом система шустрая, программы записаны в отдельные модули, подключай, когда есть необходимость, экономь память. Эликсир молодости для старого железа.

Manjaro Linux


ОС Manjaro Linux призвана предоставить доступ широкому кругу пользователей к мощи и простоте Arch Linux. ОС впитала все преимущества Arch Linux + она более удобна и доступна для новичков. По умолчанию используется графическая среда Xfce. Поддерживает несколько ядер. Мощный дистрибутив с пакетным менеджером Pacman.

Главная особенность Manjaro Linux — простая установка и удаление ядер. Хотя дистрибутив и основан на ArchLinux, установить графические драйвера в Manjaro просто. Manjaro присущи скорость, мощность и эффективность, доступ к пользовательскому репозиторию (AUR).

Arch Linux


Arch Linux — это голый дистрибутив, идет с минимальным набором пакетов и консольным интерфейсом, гибкий в настройке. ОС можно настроить под себя, установить почти все графические интерфейсы и свободно переключаться между ними.

Среди бесспорного плюса — оперативность обновления пакетов. Хотите изучить Linux — этот дистрибутив для вас. Под Arch Linux хорошая документация Archwiki. В распоряжении официальный репозиторий и пользовательский репозиторий — AUR (Arch User Repository), с его помощью вы можете скомпилировать и установить любой софт, установка проводится вручную, через терминал, в текстовом режиме. Есть свой пакетный менеджер — Pacman в формате pkg.

Tiny Core


Tiny Core — мини-дистрибутив Linux объемом 15 МБ, который будет работать даже на маломощном железе. Установка в текстовом режиме. Tiny Core использует версию ядра BusyBox и оконные менеджеры Flwm.

Среди достоинств — немалый репозиторий приложений, возможность построение системы на основе расширений (extension’s) и бэкап-файла. Уверенно можно сказать, что этот дистрибутив не для новичков, а для бывалых и опытных пользователей Linux. Tiny Core 8.0 — последняя версия на базе нового ядра, обновленные версии компонентов busybox, glibc и gcc, а также множество других улучшений. Новое ядро позволяет дистрибутиву успешно работать с более современным аппаратным обеспечением.

Bodhi


Bodhi — легковесная модификация Ubuntu Linux с гибко настраиваемым оконным менеджером Enlightenment (продуктивность, поддержка анимации, Unicode) со средой рабочего стола Moksha (в ней доработаны нерабочие функции Enlightenment 17). Дистрибутив будет хорошо работать и на старом маломощном железе. Интуитивный, простой и удобный.

Стандартно в Bodhi установлено всего пять приложений: легковесный браузер Midori, терминал Terminology, файловый менеджер PCManFM, ePhoto для просмотра графических файлов, легковесный просмотрщик pdf-файлов ePad. Для установки других программ есть веб-инструмент AppCenter. Минимальные требования: процессор 300 МГц, 128 МБ оперативной памяти, 2,5 ГБ свободной дисковой квоты.

Дистрибутивы для игр


Steam OS


Игры на Linux становятся все востребованнее, если вы — геймер установите Steam OS, в ней значительно улучшена производительность обработки графики. Очень экономная система, из жестких требований только одно — к процессору, он обязан быть с 64-битной архитектурой, нет ограничений насчет производителей видеоадаптера.

Если говорить об аппаратной базе, на которую устанавливается SteamOS, то это игровые компьютеры от компании-создателей Valve — Steam Machine. Steam Machines — это устройства, которые могут стать заменой консолей. Изначально «Valve задумала SteamOS как операционную систему для игровой консоли Steam Machines. Тем не менее любой пользователь может установить SteamOS и наслаждаться играми в Linux-среде.» Среди его особенностей — кроссплатформенность, поддержка множества игр из Steam store, свой рабочий стол на базе GNOME, вы можете выбирать играть на клавиатуре или джойстиком.

Ubuntu Game Pack


Хотите установить новую ОС и сразу же приступить к игре? Такая возможность вам предоставляется со специальной игровой сборкой Ubuntu GamePack, обновленный дистрибутив, предоставляющий средства для запуска почти 22 тысяч игр и приложений, это касается как платформы Linux, так и Windows и MS-DOS.

Fedora Games Spin


Fedora Games Spin — дистрибутив Linux, который подойдет любителям игр, это игровая версия с множеством предустановленных игрушек (коллекция opensource игр). Не требует установки, можно запускать с USB накопителя/DVD.

Вот полный список игр.

SparkyLinux Game Over Edition


Существует множество доступных версий SparkyLinux, но, пожалуй, эта самая удачная, если выбирать «игроориентированный» дистрибутив. Вместе с Sparky Linux GameOver пользователям доступны предустановленные игры, Steam-клиент, PlayOnLinux и Wine для запуска игр, написанных под Window, а также DOSbox.

Security дистрибутивы


Kali Linux


Kali Linux (в прошлом BackTrack) — хорошая операционная система в области компьютерной безопасности, базирующаяся на ядре Linux. Дистрибутив популярен для проведения тестов на безопасность, ОС на базе Debian поставляется с более чем 600 security-утилитами.

Parted Magic


Parted Magic — легковесный дистрибутив Linux, предназначен для управления разделами. LiveCD
для разметки дисков, небольшой дистрибутив для аварийно-спасательных работ. На 80 Мбайтах размещено много утилит профильного направления, X-сервер, рабочее окружение Xfce.

GParted


GParted (GNOME Partition Editor) — еще один универсальный дистрибутив, позволяет управлять разделами на жестких дисках, на устройствах для хранения информации. Проводите различные операции с дисками используя GParted.

TAILS


TAILS — дистрибутив Linux на основе Debian, специально создан для обеспечения приватности и анонимности. ОС с открытым исходным кодом, использует технологии Tor, для ее установки нужен CD/DVD-привод или USB-флешка, SD-карта, 64-bit (x86-64) совместимый процессор, 2 ГБ оперативной памяти.

Дистрибутивы для корпоративных клиентов


Red Hat Enterprise Linux


Red Hat Enterprise Linux — коммерческий проект походная от Fedora, разработанный с учетом потребностей корпоративных клиентов. Поддержка в течение 10 лет, отсутствует поддержка MP3 и DivX, доступ к бинарным пакетам обновлений — платный.


Red Hat Enterprise Linux используется для развертывания критически важных приложений на мировых биржах, в финансовых учреждениях, ведущих телекоммуникационных компаниях, анимационных студиях
.

SUSE Linux Enterprise


SUSE Linux Enterprise — дистрибутив Linux от компании SUSE, готовая и гибкая ОС для рабочих станций, упрощает работу с разным офисным софтом. Две версии, серверная и для рабочего стола, — надежное решение для предприятий. Дистрибутив на базе .rpm-пакетов. Есть две модификации дистрибутива — SUSE Linux Enterprise Server, SUSE Linux Enterprise Desktop. Для п ервой модификации характерна надежность и высокая скорость работы, данный дистрибутив подходит для построения высокопроизводительных серверов. Вторая модификация SUSE Linux Enterprise Desktop для корпоративных десктопных пользователей.

SUSE Linux Enterprise Server 12 — с обновленным ядром 3.12, используется системный менеджер systemd, при помощи технологии kraft можно обновлять ядро Linux без перезагрузки и прерывания рабочего процесса системы, новый инсталлятор, не требующий дополнительных промежуточных перезагрузок, новый фреймворк Wicked, конфигуратор YaST на языке Ruby, MariaBD вместо МYSQL, поддержка файловых систем Btrfs и Ceph, поддержка пакета virt-sandbox, графическая оболочка GNOME 3.10, но можно выбрать привычную SUSE Linux Enterprise Classic.

Делайте свой выбор, подбирая нужный дистрибутив, который оптимально подойдет вам для работы и проектов.

На правах рекламы. Это не просто виртуальные серверы! Это VPS (KVM) с выделенными накопителями, которые могут быть не хуже выделенных серверов, а в большинстве случаев — лучше! Мы сделали VPS (KVM) c выделенными накопителями в Нидерландах и США (конфигурации от VPS (KVM) — E5-2650v4 (6 Cores) / 10GB DDR4 / 240GB SSD или 4TB HDD / 1Gbps 10TB доступными по уникально низкой цене — от $29 / месяц, доступны варианты с RAID1 и RAID10), не упустите шанс оформить заказ на новый тип виртуального сервера, где все ресурсы принадлежат Вам, как на выделенном, а цена значительно ниже, при гораздо более производительном «железе»!

Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки? Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США!

Про Linux — для любознательных Windows-пользователей / Хабр

Так уж получилось, что даже на Хабре многие имеют очень смутное представление о семействе OS Linux.

Цель данной статьи – максимально популярным языком рассказать про особенности и отличия Linux от Windows для тех, кто вообще не имел с ним дела.

Я уже не один год свободно пользуюсь Archlinux, загружая винду лишь «на поиграться». Данная статья рассказывает о вещах, которые я выяснил эмпирическим путем, тыкаясь словно слепой котенок. Если бы в свое время мне попалась бы именно такая информация именно в такой форме — это сэкономило бы мне как минимум 2 года, в течение которых я переходил с Windows на Linux.


Почти цитата с люркмора:

Краеугольный принцип работы с linux-системами — “От понимания – к действию”, в то время как в Windows — “Знаю куда нажать/где поставить галочку – делаю”. Говоря другими словами, чтобы что-то сделать – необходимо понимать, как оно там, внутри, устроено.

Тезис №1 – НЕОБХОДИМО владеть работой с системой из текстовой консоли!

“Чистый” линукс (базовая система) в любом дистрибутиве выглядит как DOS – черный экран, текстовый режим, мигающий курсор ожидает ввода. Когда сталкиваешься с таким впервые – сидишь и думаешь: “Блин, а что писать-то?”.

Современные user-friendly дистрибутивы дарят иллюзию, что пользователю консоль не нужна. Добрые дяди, мол, уже обо все позаботились. Вот тебе обоина в FullHD-разрешении, вот программа для настройки параметров – знай расставляй галочки, все как в Windows… Чтобы избежать ненужных холиваров, сделаю на этом месте отступление.

Есть пользователи Linux, у которых никогда ничего не глючит. Ubuntu обновляется с одной мажорной версии на другую, причем начиная с Ubuntu 1.0, и так далее. Ребята, не пишите ничего в комментариях про ненужность консоли для пользователя, идите лучше полюбуйтесь на радугу, которой какают розовые пони в вашем мире.

В моем мире Linux глючит и ломается. Нет, все вполне окей, если ты просто запускаешь программы и пользуешься ими. Но потом вдруг наступает момент, когда тебе позарез надо, скажем, сменить открытые дрова на проприетарные… ну или просто обновить систему. И вот тут, если звезды встали неудачно, ты получаешь сломанную систему и текстовую консоль как единственный метод взаимодействия с ней. И (что самое поганое) – подобная фигня имеет свойство случаться регулярно.

Мой опыт говорит о том, что в такие моменты Windows-пользователь действует так, как он привык, повинуясь привычной идеологии. Сначала идет попытка “починить”. Windows-идеология предписывает найти в инете обсуждение аналогичной проблемы и ее решение, после чего повторить все действия, которые привели к решению проблемы. Итог – пользователь бездумно вбивает непонятные ему команды. Иногда это даже помогает, чаще – нет: содержимое команд необходимо модифицировать под конкретные условия и конкретную локальную машину, а знаний для этого нет. Как следствие, дальнейшим логическим шагом идет переустановка системы. Поверьте, я знаю о чем говорю – я сломал и переустановил Ubuntu более 10 раз… из которых около трети после самопроизвольной смерти системы в процессе обновления, без корелляции с кривизной рук.

Изучение устройства системы и работы с ней из консоли сродни известному “день потерять – за час долететь”. Устранить проблему в этом случае – гораздо быстрее переустановки, не говоря уже о том, что куда проще становится “не ломать” 🙂 Кроме того, полностью исчезает разница – сидишь за компьютером локально или через удаленную SSH-сессию. Поверьте, это ощущение многого стоит.

Тезис №2: user-friendly дистрибутивы для изучения системы подходят плохо.

Разработчики подобных дистрибутивов старательно создают интерфейсный графический слой, призванный свести взаимодействие пользователя и системы до бездумного кликанья мышкой. Технически же этот слой может представлять из себя совершенно феерическое нагромождение костылей – на bash’е, python’е, perl’е… совершеннейший ад для новичка, пытающегося понять логику работы системы. Кроме того, вменяемая документация (если она вообще есть) теряется среди форумных постов вида “чтобы получить А, введите в консоли Б, а в настройках нажмите кнопочку С”

Для обучения лучше всего подходят технически минималистичные дистрибутивы с качественной и подробной документацией. Таковыми, к примеру, являются Gentoo и Archlinux. Лично я рекомендую последний – просто потому, что в моем случае это сработало. После пары лет мытарств с Убунтой, всего пара месяцев с Арчем продвинула меня в постижении Linux раз в 10 дальше.

Причин тут несколько:

  1. Технический минимализм системы сильно облегчает ее понимание.
  2. Качественная, подробная документация облегчает процесс обучения.
  3. Выход из “зоны графического комфорта” весьма способствует!

Последний пункт стоит отметить особо. Ubuntu с ее графическим интерфесом никак не добавляет мотивации ковыряться в консоли. Другое дело – когда изначально есть лишь консоль и сильнейшая мотивация “настроить уже этот графический интерфейс” — тут просто деваться некуда, приходится осваивать документацию и обрастать знаниями.

Windows и Linux: принципиальные отличия

1. Файловая система

  • В Linux логическим дисковым томам не назначаются буквы. Вместо этого один из них назначается корневым, а остальные подключаются к указанным папкам внутри него. Все пути начинаются с косой черты, без всяких дисков C:
  • Все системные файлы свалены в корневой файловой системе, и разбиты по каталогам по типам/назначению. Условно говоря, все настройки находятся в /etc, исполняемые файлы в /bin и /usr/bin – и ко всему этому добру обычный пользователь (не администратор) имеет доступ только на чтение/выполнение, и то не всегда (когда дело касается системных сервисов)
  • Расширения у файлов в linux – вещь совершенно необязательная. Является ли файл исполняемым, определяется специальной отметкой – по типу отметки “скрытый” или “архивный” в Windows. Исполняемые файлы без расширения в linux – норма вещей!
  • В linux нет специальной отметки того, что файл скрытый. Вместо этого используются имена с точкой в начале, а уже файловые менеджеры позволяют отключать отображение таких файлов. То есть, файл /home/user/.bashrc – скрытый. Точка в этом случае – часть имени файла!
  • Обычный пользователь имеет полный доступ только к своей личной папке, которая обычно находится в /home/%имя_пользователя%. По аналогии с диском D: в Windows, к папке /home часто подключают отдельный раздел диска. Таким образом, все данные пользователей находятся на отдельном разделе (или вообще физическом жестком диске).
  • Все пользовательские (не системные) программы при необходимости сохранить какие-то свои данные или настройки, делают это только в домашней папке пользователя, от которого они запущены – просто потому, что только в ней они имеют право на запись.
  • Само понятие “файл” в Linux немного другое, более широкое. Есть т.н. “файлы устройств”. Например, /dev/sda обычно жесткий диск (хотя может быть и флешка), а /dev/sda1 это первый раздел этого жесткого диска. Отсюда возможны такие хитрые маневры, как dd if=/dev/sda1 of=/home/user/backup – команда побайтно скопирует весь первый раздел диска /dev/sda в файл backup в домашнем каталоге пользователя. Есть т.н. “символьные ссылки” — в файловом менеджере они выглядят как обычный файл, по факту ссылаются на другой файл, и места на диске не занимают. То есть, может быть один исполняемый файл и куча символьных ссылок на него в разных местах.

2. Пакетный менеджер и понятие “пакета”, установка программ.

  • Программы ставятся только от аккаунта администратора. При установке все файлы, относящиеся к программе (например, Firefox), “размазываются” по корневой файловой системе – общие для всех пользователей настройки пойдут в /etc, исполняемые файлы в /usr/bin, а иконки и различные ресурсы вроде графики и звуков – в /usr/share/firefox. При таком раскладе пользователь в принципе не может знать, где у него что конкретно лежит. За это отвечает пакетный менеджер. Например, пакет “Firefox” включает в себя кучу файлов. Пакетный менеджер при установке пакета разложит их по файловой системе, а при удалении – соответственно удалит.
  • Еще одна важная функция пакетного менеджера – удовлетворение зависимостей пакета. Например, Firefox требует для работы библиотеку libjpeg. Значит, при установке менеджер пакетов автоматически доустановит пакет libjpeg, а при удалении – удалит, если тот не будет требоваться каким-либо еще пакетом.
  • В пакетном менеджере обычно есть база данных со всеми доступными пакетами, и он имеет средства поиска по этой базе. Поэтому установка программ в linux невероятно проста – первой командой мы ищем по ключевым словам по базе точное название пакета, второй – ставим. Не нужно лезть на сайты, искать и что-то качать. Если мне надо в Арче поставить skype – я набираю pacman -S skype и жму ENTER, и через минуту у меня установлен скайп. Надо Firefox – пишу pacman -S firefox. И так далее. В другом дистрибутиве будет отличаться команда и синтаксис, возможно потребуется указать адрес репозитория – сам принцип неизменен.
  • Никогда, никогда даже не пытайтесь качать и запускать что-либо через браузер, как в Windows! Только если вы полностью знаете, что делаете – но тогда зачем вы все это читаете?) Скачать и запустить файл — это часть полностью чуждой (даже враждебной) для Linux идеологии. Программы надо ставить через пакетный менеджер. Точка.
  • Никогда не используйте для установки программы метод “configure && make && make install”. Каждый раз, когда это происходит – в мире мучительной смертью умирает с десяток невинных котят. Данный набор команд соберет из исходников программу, а потом раскидает ее файлы по файловой системе без ведома пакетного менеджера. Это нарушение нормальной логики работы с системой. Не делайте так))
  • Добавлю, пожалуй, сюда еще вот что. Очень часто можно увидеть настойчивые советы «не работать из под администратора», и на это есть не совсем очевидная Windows-пользователям причина. Дело в том, что набор команды в консоли таит в себе опасность опечаток и случайных нажатий. Вполне реальна ситуация, когда ты собираешься удалить папку, начинаешь писать к ней путь и случайно задеваешь ENTER. Linux не имеет привычки спрашивать «Ты точно такой дурак? y/n» — он просто сделает. Поэтому под рутом набирать команды приходится предельно внимательно. В Windows такой проблемы, конечно, нет.

3. Графическое окружение пользователя

  • Все графическое окружение пользователя – это совокупность прикладных программ. Исторически сложилось, что для Windows-пользователя такие понятия, как “Рабочий стол”, панель задач, системный трей, регулятор громкости, часы и календарь, меню “Пуск”, доступ к настройкам сети из трея – неотъемлимая часть ОС Windows. В Linux все вышеперечисленное реализуется отдельными программами. Более того, для каждой задачи из приведенного списка есть далеко не одна программа. В качестве регулятора громкости я могу поставить volumeicon, написанный на C, или volwheel на python
  • В основе работы графического окружения лежат следующие программы:
    1. X-сервер, или просто “Иксы”. Программа, осуществляющая прием данных от пользователя (с устройств ввода) и базовое управление окнами, их сворачивание-разворачивание. “Сервером” называется потому, что обеспечивает “сетевую прозрачность”: для Linux не существует разницы, каким образом пользователь зашел в графический сеанс, локально или удаленно. Эдакий RDP как базовая функциональность, проще говоря.
    2. Менеджер окон, он же WM. Занимается отрисовкой элементов оконного интерфейса, плюс (в зависимости от навороченности) предоставляющий ряд других функций. Некоторые WM позволяют задать фон рабочего стола, некоторые добавляют функциональность “системного меню”. Иногда с X-сервером ставится простейший (чтобы было) менеджер окон – TWM. Страшный как божий грех, прямиком из 70х годов.
    3. Декоратор окон – иногда функционал по оформлению окон, возможность менять темы оформления выносится в отдельную программу
    4. Композит-менеджер – тоже бывает как часть WM, либо как отдельная программа. Его задачей является переложить отрисовку интерфейса на видеокарту. Технически принцип прост – каждое отрисованное окно это отдельная текстура в памяти видеокарты. А обращаться с текстурами, добавлять эффекты и искажения, проецировать на плоскость в пространстве, менять полупрозрачность и накладывать их друг на друга видеокарты умеют уже много лет.
    5. Элементы интерфейса: панель задач, трей, менеджер сети, системное меню, программа для задания обоев рабочего стола
    6. Базовый прикладной софт – диспетчер файлов, эмулятор терминала (чтобы консольные команды писать в красивом полупрозрачном окошке)

  • Преднастроенные ”комплекты” подобранных друг под друга элементов графической среды, программ из списка выше, называются “Окружениями рабочего стола”, или DE. Наиболее известны такие DE, как Gnome и KDE, самые тяжеловесные и “жирные”. Есть также XFCE и LXDE. Установка часто реализуется посредством установки так называемого мета-пакета – сам по себе пакет не содержит файлов, но в качестве зависимостей требует установки всего комплекта программ, составляющих DE: WM, декоратора/композит-менеджера, файлового менеджера и так далее
  • Также можно (и нередко является разумным) собирать для себя окружение из “кусочков” по своему вкусу – отдельно выбрать WM, отдельно файл-менеджер и так далее
Подведение итогов

После небольшого самообразования, получение из текстово-консольной системы графической происходит в одну команду. В моем случае, я набираю:
pacman -S xf86-video-ati xorg-server openbox tint2 nitrogen lxterminal xcompmgr wicd-gtk volumeicon.
Это команда установить все перечисленные пакеты:
xf86-video-ati это open-source драйвера для моей видеокарты
xorg-server это “иксы”
openbox это легковесный WM с системным меню (типа как “Пуск”)
tint2 это панель задач с треем, куда будут сворачиваться приложения
nitrogen позволяет задать фон рабочего стола
lxterminal – мой любимый эмулятор терминала
xcompmgr это самый простой композит-менеджер, добавляет полупрозрачность и тени
wicd-gtk это менеджер сетевых подключений, который висит в трее
volumeicon – регулятор громкости

После этого, уже из графической среды, через lxterminal устанавливаю все остальное, что нужно для жизни: браузер(ы), файл-менеджер, видео и аудиокодеки, плеер, libreoffice, gimp и прочее)

Операционная система Linux | ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)Linux или GNU / Linux является свободным и открытым исходным кодом Unix-подобных операционных систем для компьютеров. Операционная система представляет собой набор базовых инструкций, которые управляют электронными компонентами компьютера, позволяющие работать прикладным программам. Linux является свободным и открытым исходным кодом (FOSS). Свободный и с открытым исходным кодом (FOSS) означает, что каждый человек имеет право на свободу, чтобы использовать его, посмотреть, как она работает, изменить её или поделиться ею.

Существует много программного обеспечения для Linux и, как само-написанного программного обеспечения для Linux. Linux является свободным программным обеспечением. Это означает , что он не ставит никаких лицензионных ограничений на пользователей. Это одна из причин, почему многие люди хотели бы использовать Linux.

Определяющий компонент Linux является ядро Linux.

Операционная система Linux первоначально была разработана в качестве бесплатной операционной системы для персональных компьютеров. Благодаря своему господству в смартфонах, Android, который построен на ядре Linux, имеет самую большую базу установленного оборудования всех общего назначения операционных систем. Linux, в своем первоначальном виде, также является ведущей операционной системой на серверах таких как универсальные компьютеры и суперкомпьютеры, но используется она только на около 1,5% настольных компьютеров . Linux также работает на встраиваемых системах, которые представляют собой устройства, у которых в операционную систему, как правило, встроены прошивки, это включает в себя мобильные телефоны, планшетные компьютеры, сетевые маршрутизаторы, средства управления автоматизации объекта, телевизоры,  видео игровые приставки и смартфоны.

Операционная система LinuxОперационная система Linux

Разработка Linux является одним из самых ярких примеров совместной работы в сфере свободного и открытого исходного программного обеспечения. Лежащий в основе исходный код может быть использован, модифицирован и распределен на коммерческой основе или некоммерческой – либо по лицензии GNU General Public версии 2 (и некоторых программных компонентов в рамках других лицензий). Как правило, Linux , будет упакован в форме, известной как распределение Linux, для настольных компьютеров и использования сервера. Некоторые из популярных мейнстримов, дистрибутивы CentOS, Debian , Ubuntu , Linux Mint ,Fedora , OpenSUSE , Arch Linux и Gentoo , совместно с коммерческими дистрибутивами Red Hat Enterprise Linux и SUSE Linux Enterprise Server. Дистрибутивы включают в себя ядро Linux, поддержка утилит и библиотек, а также обычно большое количество прикладного программного обеспечения для выполнения предполагаемого использования дистрибутива.

Дистрибутивы , ориентированные на использование рабочего стола обычно включают X11 , Wayland или Mir в качестве системы оконного и сопроводительную окружение рабочего стола , такие как GNOME или KDE для компиляции программ. Некоторые дистрибутивы могут также включать в себя менее ресурсоемкие десктопы, таких как LXDE или Xfce. Дистрибутивы, предназначенные для работы на серверах, могут убрать все графические среды от стандартной установки, и вместо этого, включать другое программное обеспечение для настройки и управлять стеком решения , такие как LAMP. Поскольку Linux является свободно распространяемой, любой человек может создать дистрибутив для любого предполагаемого использования.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Осваиваем Linux за три недели / Блог компании Stepik.org / ХабрИдея вводного курса по работе с Linux возникла у нас с коллегами довольно давно. Я с 2011 года занимаюсь биоинформатикой в Лаборатории алгоритмической биологии СПбАУ РАН (тут и тут мой напарник писал про то, чем мы занимаемся). Сразу нужно сказать, что работа биоинформатика без Linux практически невозможна, поскольку большинство биоинформатических программ созданы именно под эту операционную систему и работают только на ней.

В силу того, что это область на стыке наук, мы постоянно общаемся с биологами. Биологам же сейчас приходится работать с очень большими объемами данных, поэтому умение использовать Linux, оптимальную для подобных задач операционную систему, становится необходимым навыком. На самом деле, речь не только об умении обращаться с Linux, а в целом о компьютерной грамотности: какие существуют правила работы на сервере, как загружать и эффективно хранить файлы с данными, какие программы запускать для их обработки и как это сделать и т.д. — все те вещи, которые как упрощают и ускоряют вашу работу, так и значительно облегчают совместную деятельность с коллегам. Несмотря на то, что разобраться с Linux можно и самостоятельно, почитав умные книжки и сайты, для людей из не технической среды это часто вызывает определенные сложности и многие сдаются на начальных этапах освоения этой ОС (например, на знакомстве с командной строкой).

На основе нашего опыта я и мой коллега Андрей Пржибельский (@andrewprzh) изначально собирались провести несколько занятий для биологов по компьютерной грамотности. А потом эта идея выросла в трехнедельный открытый онлайн-курс (MOOC) Института биоинформатики на русском языке, который позже был сужен до именно введения в Linux, как отправной точки, — поскольку вместить все в три недели оказалось очень и очень трудно. Курс уже начался и оказался достаточно популярен (на данный момент на него записалось более пяти тысяч человек), но первый дедлайн по заданиям — 24 ноября, поэтому еще можно присоединиться без потери баллов или просто изучать курс в свободном режиме (все материалы останутся открытыми).

Про саму подготовку первого в нашей жизни онлайн-курса, если сообществу интересно, мы напишем отдельный пост — это совсем не так просто и быстро, как может показаться на первый взгляд.

Но сначала хотелось бы остановиться на ответах на вопросы, которые нам задавали чаще всего. При подготовке курса мы общались с самыми разными людьми и столкнулись с тем, что многие совсем не понимают, где используется Linux, и не догадывались, что система может быть им полезна. Итак:

Зачем сейчас нужно уметь обращаться с Linux?

Многие не замечают, но Linux уже вокруг нас. Все Android устройства работают на Linux, большинства серверов в Интернете также используют эту операционную систему и есть множество других примеров. Конечно, можно продолжать пользоваться всеми этими вещами и не зная Linux, но освоив основы этой системы, можно лучше понять поведение окружающих вас вещей. Кроме того, при работе с большим объемом данных, Linux просто необходим, ведь большинство сложных вычислений над огромными массивами данных выполняются именно на компьютерах под управлением Linux. И это не случайный выбор: большинство вычислительных задач выполняются на Linux гораздо быстрее, чем на Windows или Mac OS X.
Как Linux связан с освоением других дисциплин?

Огромная доля научного ПО, особенно программ для обработки больших данных (например, в области биоинформатики) разработана специально под Linux. Это значит, что эти приложения просто не могут быть запущены под Windows или Mac OS X. Так что если вы не умеете работать в Linux, то автоматически лишаетесь возможности использовать самые современные научные наработки. Кроме того, изучая Linux, вы лучше понимаете как работает компьютер, ведь вы сможете отдавать ему команды практически напрямую.
Почему для этого нужен отдельный курс?

У Linux очень много возможностей, которые полезно знать и, конечно же, уметь ими воспользоваться в нужный момент. К счастью, современные версии Linux гораздо более дружелюбны к пользователям, чем их собратья еще 5-6 лет назад. Сейчас можно не мучиться часами и даже днями ночами после установки системы, чтобы настроить себе выход в Интернет, печать на принтере, раскладки клавиатуры и так далее. Любой желающий сможет начать использовать Linux так же, как он использовал Windows или Mac OS X уже после минимального знакомства с этой системой, которое будет исчисляться минутами. Однако возможности Linux гораздо шире «повседневного» использования. Рассказать обо всей функциональности Linux просто невозможно даже за трехнедельный курс. Однако мы стараемся научить слушателей использовать большинство базовых возможностей Linux, а самое главное, надеемся, что прошедшие курс смогут успешно продолжить освоение Linux самостоятельно.
Что в Linux интересного?

Для нас Linux похож на очень интересную книгу, которую вы прочитали и с удовольствием рекомендуете своим друзьям и даже чувствуете зависть от того, что у них знакомство с этим произведением еще впереди. Единственная разница в том, что хоть мы и знакомы с Linux уже почти по 10 лет, не можем сказать, что «прочитали» его целиком. В нем постоянно можно найти что-то новое для себя, узнать что многие вещи, которые ты привык делать одним способом, можно сделать совершенно по-другому — гораздо проще и быстрее.

Чем больше знакомишься с Linux, тем он становится интереснее. И от первоначального желания «поскорее бы выключить и перезагрузиться в родную и знакомую Windows (Mac OS X)» вы вскоре переходите в состояние «хм, а тут не так и плохо» и еще немного позже в «как я вообще мог работать в этой Windows?!». А еще изучая Linux вы порою можете почувствовать себя немного хакером или героем фильма про программистов =)

Наш курс состоит из краткого обзора основных возможностей Linux, однако для начинающих пользователей этого должно быть вполне достаточно, чтобы заинтересоваться Linux и немного погрузиться в его философию. Например, большую часть курса мы будем проводить за работой в терминале, так что у новичков должно возникнуть и привыкание и понимание преимуществ такого подхода к управлению компьютером. Для более продвинутых пользователей могут представлять интерес отдельные занятия курса — например, про работу с удаленным сервером или программирование на языке bash. Полная программа онлайн-курса доступна здесь.

Как проверять решение задач на курсе по Linux? Это вообще возможно?

Ответ на этот вопрос был нетривиальным — мы долго думали, как проверять задания (например, что пользователь установил Linux себе на компьютер или отредактировал файл в определенном редакторе) и как придумать интересные задачи, чтобы действительно показать реальную работу с Linux. Для каких-то тем получились довольно любопытные подходы. Например, специально для курса был добавлен новый тип задач на платформе Stepic — подключение к удалённому серверу (и открытие «терминала») прямо в окне браузера — по отзывам первых пользователей, им понравилось. Конечно, в первый раз не обошлось без шероховатостей, но, в целом, всё работает довольно хорошо. Про техническую сторону этого вопроса скоро появится отдельный пост от разработчиков. Пример такого задания (для просмотра вживую можно записаться на курс):

Нужно сказать, что не все пользователи воспринимали задачи с юмором. Например, мы проверяли навык установки программ на Linux на примере программы VLC. Нужно было установить ее в свою систему одним из рассказанных способов, потом открыть справку о программе, найти фамилию первого автора и ввести ее в форму для проверки. Каких только комментариев мы не наслушались про это задание 🙂 А ошибались люди в основном в том, что вводили имя и фамилию, или только имя, или часть фамилии (а она там двойная, через дефис!). В общем, если решитесь проходить курс, то читайте условия задач внимательнее и это сэкономит много времени и нервов! Правда с тем же автором было замечание и по делу, оказалось что в старых версиях VLC он идет аж на 14 месте, так что добавили в проверку еще одного автора, который первый среди «старого» списка (и, кстати, третий в «новом»).

А почему всё-таки Linux так хорош?

Вопрос, конечно, неоднозначный. На мой взгляд одним из ключевых преимуществ Linux перед Windows или Mac OS X является то, что эта операционная система разрабатывается огромным сообществом программистов по всему миру, а не в двух, пусть и очень больших компаниях (Microsoft и Apple). Исходный код этой системы открыт, и каждый может познакомится с внутренним устройством Linux или поучаствовать в его развитии. Разработчики развивают его не только для пользователей-покупателей, но и для самих себя, с чем и связан такой большой прогресс в развитии и многие другие его преимущества. В качестве «бонусов» для обычных пользователей: Linux бесплатный, на Linux практически нет вирусов (а сами разработчики вирусов зачастую сидят под Linux!), существую огромное число версий этой системы и каждый может выбрать понравившуюся именно ему!

И напоследок хотелось бы рассказать о своем первом знакомстве с Linux именно в рабочем процессе (до этого был еще отдельный курс по учебе, но из него я не очень много вынес, к сожалению). Этот случай меня так впечатлил, что помню его до сих пор. Когда я работал на кафедре в Политехе на 3-ем курсе мне понадобилось запускать одну программу для обработки данных. Программа была написана на С++, а работали мы тогда в Windows XP. Запусков нужно было сделать много, были они довольно однотипные и занимали обычно пару минут. За это время ничего другого сделать на компьютере было нельзя — он полностью «подвисал», так что можно было поболтать с другими сотрудниками или просто прогуляться по кабинету. Примерно через пару недель таких запусков, мой научный руководитель посоветовал попробовать мне сделать всё тоже самое, но не в Windows, а в Linux. Я тогда подумал «ну какая разница», но так руководителя уважал, то программу перекомпилировал и его совет исполнил. Какового же было моё удивление, когда я запустил ту же самую программу на тех же самых данных и получил результат (естественно, точно такой же) за несколько секунд! Я даже со стула встать не успел, не то что прогуляться…



Кстати, помимо нашего русскоязычного онлайн-курса по Linux, существует хороший англоязычный вводный курс от Linux Foundation, про который уже писали на хабре. Судя по сайту, он снова начнется 5 января 2015.

Если вы знаете ещё интересные онлайн-курсы или обучающие материалы по азам Linux, будем рады увидеть ссылки на них в комментариях.

Создание операционной системы на базе ядра linux. С нуля / ХабрРано или поздно каждый пользователь Линукса задумывается над созданием собственного дистрибутива. Некоторые аргументируют это тем, что можно «все настроить под себя». Другие сетуют на то, что среди уже представленных дистрибутивов в Ветке нет идеального. А у них, якобы, есть суперконцептуальные идеи для собственной системы. Зачем я всю эту психологию затеял? Для того, чтобы сразу перекрыть кислород играющимся с Линуксом новичкам, которым делать нечего. Если уж задумались над созданием ОС, думайте до конца. Итак,

Я хочу создать ОС на базе Linux.
Сразу предупреждаю: был бы XVIII век, всех тех, кто для основы своей будущей системы выбирает другой развитый дистрибутив (и, не дай Бог, популярный…) ждала бы виселица. Пост именно про создание системы с нуля, а значит, всякие Slax и Linux Mint мы трогать не будем.

Шаг 1. Выбор носителя
Вариантов немного: либо ваша ОС запускается с LiveCD, либо с жесткого диска, либо с флеш-устройства. Сразу оговорюсь: не скажу в посте ни слова про жесткий диск, потому что гораздо удобнее создавать гибкий дистрибутив из серии «все свое ношу с собой», либо залоченный дистрибутив на оптическом диске. Если вы научитесь создавать LiveCD или LiveUSB систему, с установкой на жесткий диск проблем не будет.

На всякий случай, приготовьте чистую флешку, CD-диск, и установите, наконец, Virtualbox.

Шаг 2. Компиляция ядра
По поводу выхода третьего ядра Linux, этот шаг воодушевляет на дальнейшие разработки… Итак, нам нужны исходники ядра. Каждый пользователь знает, что их можно достать на сайте kernel.org. Ни в коем случае, слышите?, никогда не прикручивайте к своей системе постороннее ядро, скомпилированное не вами!

Поскольку лень моя зашкаливала, я создал папку /linuxkernel и распаковал туда архив с исходниками. Залогинившись под рутом, я сделал следующее:

cd /linuxkernel
make menuconfig

В принципе, ядро можно конфигурировать тремя способами: make config (диалоговая конфигурация), make menuconfig (псевдографическая конфигурация через ncurses), а также make xconfig (графическая конфигурация). Суть в том, что make config испортит вам настроение надолго, т.к. он задаст все возможные вопросы по всем аспектам всех тем. Проблема с make xconfig встречается не у всех, но вот у меня встречалась и встречается. Если приспичило сделать через X, разбирайтесь сами. Оптимальный вариант — make menuconfig. Эта штука откроет вам псевдографический интерфейс, через который вы сможете настроить ядро на свой лад. Штука требует библиотеки ncurses, которая легко устанавливается.

В принципе, если ваш мозг хоть сколько понимает Линукс, вы разберетесь с конфигурированием. Процесс это интересный, вариантов действительно много, а справка, хоть и на английском языке, но все же радует своей доступностью и простотой.

Однако, направить вас все же придется. Перейдите по адресу File Systems —> и поставьте необходимые звездочки. Буква M означает, что поддержка того или иного драйвера осуществляется с помощью подключения к ядру внешнего модуля (ненавижу их!). Нам понадобится также поддержка isofs, для чтения дисков. File Systems —> CD-ROM/DVD Filesystems —> ISO 9660 CDROM file system support. Можно еще поддержать древнедосовские системы.

Чмошные разработчики Mandriva забыли разрешить File systems —> DOS/FAT/NT Filesystems —> NTFS write support, и на одном из их дистрибутивов я мучился с доступом к древневиндовскому разделу.

Посмотрите Processor type and features —> Processor family, мне порекомендовали выбрать Pentium-MMX.

Еще поройтесь в Device Drivers, полезно. Можете шутки ради понавыбирать там все и скомпилировать ядро весом > 50 Мб.

Далее. Ядро после загрузки себя должно загружать, собственно, систему. Либо из скомпилированных в себе файлов (используются во встраиваемых системах), либо из CPIO архива, сжатого чем-нибудь, либо из Initrd. Здесь вам не DOS, здесь не получится сразу сослаться на какой-нибудь init’овый файл в корневом каталоге диска или флешки. На самом деле получится, не слушайте дядю Анникса! Неправильно это, хоть в Интернете по этому поводу уже нехилая полемика ведется. В своей системе мы будем использовать initrd, т.к. это удобно, и не вызовет нецензурных выражений от сторонних разработчиков, в отличие от CPIO архива.

Ах, да, скомпилируйте ядро командой

make bzImage

Если у вас x86, найдете его по адресу /linuxkernel/arch/x86/boot/bzImage.

Для суровых челябинских программистов можно использовать Кросс-компайлинг…

Создание Ramdisk.

Теперь нам нужен initrd с установленной там простейшей оболочкой. Мы будем использовать busybox, потому что эта няша может все. Способ мы украдем у Роберто де Лео, создателя Movix (я бы даже уважать его начал, если бы не запредельная любовь к Perl):

dd if=/dev/zero of=/dev/ram0 bs=1k count=5000 - Создаем Ramdisk в оперативной памяти нашего компьютера.
mke2fs -m0 /dev/ram0 5000 - Форматируем Ramdisk в системе Ext2
mkdir /distro - Создаем папку
mount /dev/ram0 /distro - Монтируем в папку /distro

Все, теперь у нас есть Ramdisk, емкостью в 5 Мб. Можно и больше, только не нужно. В отличие от Томаса Матеджисека, я не собираюсь пичкать initrd модулями в Squashfs, сжатыми LZMA. Все, что необходимо, будет скомпилировано вместе с ядром. Да, это не очень логично и правильно, но мороки в сто раз меньше. А специально для тех, кто осуждает такой подход, можно разрешить опцию модульности в ядре: Enable loadable module support.

В нашем Ramdisk’е, смонтированном в /distro, есть такая папка, lost+found. Это потому, что мы отформатировали его в ext2. Ни в коем случае нельзя ее удалять, хоть она здесь вряд ли поможет, образ-то фиксированный. Нам бы busybox сначала поставить…

Установка Busybox
Вот почему у таких классных проектов такие отстойные сайты? Хотя… это уже не суть важно, если исходники скачаны и успешно распакованы в папку /busybox.

Сконфигурировать busybox можно так же:

cd /busybox
make menuconfig

Если вы еще не поняли, что это, объясню. Busybox заменяет тонны UNIX приложений, хранящихся в папках /bin, /sbin, /usr/bin, /usr/sbin. Вместо этого, создается только одно приложение: /bin/busybox, а на него создается куча ссылок в указанных выше папках. Установим busybox следующей командой:

make CONFIG_PREFIX=/distro install

Еще Busybox создаст файлы /sbin/init и зачем-то /linuxrc, чтобы ваша система корректно запустилась. Но не все необходимые папки были созданы. Так что завершаем все руками и создаем:

/distro/etc
/distro/lib
/distro/dev
/distro/mnt
distro/proc
/distro/root
/distro/tmp
/distro/root

Если что забыл — вспомните, т.к. директории эти забыть сложно.

Все бы хорошо, вот только busybox для работы требует библиотеки, которые нужно скопировать в наш дистрибутив. Очень легко узнать, какие:

ldd /distro/bin/busybox

Программа покажет нам библиотеки, требуемые для нашей оболочки. Сразу говорю: linux gate создается ядром и скопирован быть не может.

При копировании библиотек можно отсекать отладочную информацию (так Роберто советует):

objcopy --strip-debug откуда куда

Делаем из Линукса Линукс

Надо создать несколько системных текстовых файлов:

Нам нужен /etc/inittab. Удивлю вас: в начале жизни система даже не знает, что такое Root. У нас даже пользователь безымянный, но вот файл общесистемных низкоуровневых фич (ОНФ) должен присутствовать. Пилотное содержание файла следующее:

::sysinit:/etc/rc.d/rc.S

# Запустить оболочку в консоли.
::respawn:-/bin/sh

# Перезагрузка по нажатии на Ctrl+Alt+Del.
::ctrlaltdel:/sbin/reboot

# Команды, выполняемые перед выключением и перезагрузкой.
::shutdown:/sbin/swapoff -a >/dev/null 2>&1
::shutdown:/bin/umount -a -r >/dev/null 2>&1

Следующий файл — /etc/fstab. Это таблица, в которой описано, что и куда монтировать при загрузке. Вещь бесполезная! Нам нужно обязательно смонтировать proc, иначе вообще ничего работать не будет, так что в файле пишем:

none /proc proc defaults 0 0

Для mount нужен также файл /etc/mtab. Создайте его и оставьте пустым.

Но mount сделает все необходимое только тогда, когда мы явно его об этом попросим. А просить мы будем в том самом первозагрузочном файле /etc/rc.d/rc.S (rc.d — папка). Вежливо попросим:

#!/bin/ash

/bin/mount -av -t nonfs

Еще нам необходим файл профиля (b)(a)sh, тут вообще раздолье для фантазии. Создаем файл /etc/profile и заполняем следующим:

PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:"
LESS=-MM
TERM=linux
HOME=/root
PS1='> '
PS2='> '
ignoreeof=10
export PATH DISPLAY LESS TERM PS1 PS2 HOME ignoreeof

Понадобится также файл /etc/shell, в котором указано, что есть оболочка:

/bin/sh
/bin/ash
/bin/bash

Вот собственно и все. Можно записывать наш Ramdisk в файл.

mkdir /os - папка для "готового".
umount /dev/ram0 - размонтируем кусочек оперативной памяти.
dd if=/dev/ram0 of=/os/initrd bs=1k count=5000 - создаем файл.
gzip /os/initrd - сжимаем файл initrd

Создание загрузочной флешки

«Финишная прямая» нашей маленькой разработки. Берем флешку, вставляем, форматируем в vfat (можно и в ext, но не забывайте, что еще не все пользователи Windows застрелились).

На флешке создаем папку boot, в ней папки initrd и kernel.

Из папки /os копируем сжатый Ramdisk в папку boot/initrd на флешке, называем «main.gz». Из папки с исходниками ядра копируем bzImage в папку boot/kernel на флешке, называем «main.lk». Достаем файлы загрузчика Syslinux (в Интернете, либо из другого дистрибутива: тут не принципиально), а именно syslinux.bin, syslinux.boot, syslinux.cfg. Копируем их в корневой каталог нашей флешки. В файле syslinux.cfg пишем что-то подобное:

default mm
prompt 1
timeout 100
label mm
kernel /boot/kernel/main.lk
append initrd=/boot/initrd/main.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label mc
kernel /boot/kernel/main.lk
append initrd=/boot/initrd/custom.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label cm
kernel /boot/kernel/custom.lk
append initrd=/boot/initrd/main.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label cc
kernel /boot/kernel/custom.lk
append initrd=/boot/initrd/custom.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label hd
localboot 0x80

Тем самым мы поддержали кастомные initrd и ядро, которые, эксперимента ради, можно подключить к нашему дистрибутиву.

Узнаем, каким девайсом в системе является наша флешка (можно запустить mount без параметров и посмотреть). Это либо /dev/sdb1, либо /dev/sdc1, либо /dev/sdd1. Стоит отмонтировать флешку перед началом установки.

Устанавливаем syslinux (если пакета в системе нет, apt-get install syslinux):

syslinux -d путь_к_устройству

В корневом каталоге флешки должен появиться файл ldlinux.sys. Если он есть, значит syslinux.bin, syslinux.boot больше не нужны.

Как настроить BIOS на загрузку из флешки, я вам рассказывать не буду — это легко. Скажу только, что очень удобно создать папку /boot/initrd/init, в которую можно будет смонтировать /boot/initrd/main, для последующей работы с ним. Только не забудьте разжимать и сжимать его gzip’ом.

Ну вот и все.

Как-бы я только что рассказал вам, как создать с нуля систему на Linux. Легко, не правда ли? Далее вы можете редактировать скрипт /sbin/init, ведь у вас еще много работы! Вы должны будете написать скрипт для монтирования флешки, который делает chroot в корневой каталог. В противном случае, вы вынуждены будете работать с ReadOnly разделом, величиной в 5 Мб. Но это уже совсем другая история.

Unnx Davis T, B.

Для непросвещенных:

Томас Матеджисек — создатель Slax и Linux Live Scripts.
Роберто де Лео — создатель Movix.

Типы файловых систем для Linux

Операционная система Windows может быть установлена только на файловую систему NTFS, поэтому обычно у пользователей не возникает вопросов какую ФС лучше использовать. Но Linux очень сильно отличается, здесь в ядро системы встроены и могут использоваться несколько файловых систем, каждая из которых оптимизирована для решения определенных задач и лучше подходит именно для них.

Новые пользователи не всегда понимают что такое раздел жесткого диска и файловая система. В нашей сегодняшней статье мы попытаемся разобраться во всех этих понятиях, рассмотрим что такое файловая система, а также рассмотрим самые распространенные типы файловых систем Linux. Но начнем с самых основ, разделов диска.

Содержание статьи:

Жесткий диск и разделы

Обычно в компьютере используется один жесткий диск, но для удобства все доступное пространство разделяется на разделы, в Windows они известны как диски, в Linux же их принято называть разделами. Чтобы операционная система знала сколько разделов есть на диске и их физические границы используется таблица разделов. Она может быть двух типов — GPT или MBR. В этой статье мы не будем рассматривать ее подробно. Скажу только, что там находится метка раздела, его порядковый номер и адрес начала и конца на жестком диске.

Что такое файловая система?

Дальше больше. Чтобы на каждом разделе можно было работать с файлами и каталогами, необходима файловая система. Мы могли бы писать просто содержимое файлов на диск, но нужно еще где-то хранить данные о папках, имена файлов, их размер, адрес на жестком диске, атрибуты доступа. Всем этим занимается файловая система.

От файловой системы зависит очень многое, скорость работы с файлами, скорость записи и даже размер файлов. Также от стабильности файловой системы будет зависеть сохранность ваших файлов.

Типы файловых систем Linux

Файловые системы в Linux используются не только для работы с файлами на диске, но и для хранения данных в оперативной памяти или доступа к конфигурации ядра во время работы системы. Дальше мы рассмотрим типы файловых систем Linux, включая специальные файловые системы.

Основные файловые системы

Каждый дистрибутив Linux позволяет использовать одну из этих файловых систем, каждая из них имеет свои преимущества и недостатки:

  • Ext2;
  • Ext3;
  • Ext4;
  • JFS;
  • ReiserFS;
  • XFS;
  • Btrfs;
  • ZFS;

Все они включены в ядро и могут использоваться в качестве корневой файловой системы. Давайте рассмотрим каждую из них более подробно.

Ext2, Ext3, Ext4 или Extended Filesystem — это стандартная файловая система для Linux. Она была разработана еще для Minix. Она самая стабильная из всех существующих, кодовая база изменяется очень редко и эта файловая система содержит больше всего функций. Версия ext2 была разработана уже именно для Linux и получила много улучшений.

В 2001 году вышла ext3, которая добавила еще больше стабильности благодаря использованию журналирования. В 2006 была выпущена версия ext4, которая используется во всех дистрибутивах Linux до сегодняшнего дня. В ней было внесено много улучшений, в том числе увеличен максимальный размер раздела до одного экзабайта.

JFS или Journaled File System была разработана в IBM для AIX UNIX и использовалась в качестве альтернативы для файловых систем ext. Сейчас она используется там, где необходима высокая стабильность и минимальное потребление ресурсов. При разработке файловой системы ставилась цель создать максимально эффективную файловую систему для многопроцессорных компьютеров. Также как и ext, это журналируемая файловая система, но в журнале хранятся только метаданные, что может привести к использованию старых версий файлов после сбоев.

ReiserFS — была разработана намного позже, в качестве альтернативы ext3 с улучшенной производительностью и расширенными возможностями. Она была разработана под руководством Ганса Райзера и поддерживает только Linux. Из особенностей можно отметить динамический размер блока, что позволяет упаковывать несколько небольших файлов в один блок, что предотвращает фрагментацию и улучшает работу с небольшими файлами.

Еще одно преимущество — в возможности изменять размеры разделов на лету. Но минус в некоторой нестабильности и риске потери данных при отключении энергии. Раньше ReiserFS применялась по умолчанию в SUSE Linux, но сейчас разработчики перешли на Btrfs.

XFS — это высокопроизводительная файловая система, разработанная в Silicon Graphics для собственной операционной системы еще в 2001 году. Она изначально была рассчитана на файлы большого размера, и поддерживала диски до 2 Терабайт. Из преимуществ файловой системы можно отметить высокую скорость работы с большими файлами, отложенное выделение места, увеличение разделов на лету и незначительный размер служебной информации.

XFS — журналируемая файловая система, однако в отличие от ext, в журнал записываются только изменения метаданных. Она используется по умолчанию в дистрибутивах на основе Red Hat. Из недостатков — это невозможность уменьшения размера, сложность восстановления данных и риск потери файлов при записи, если будет неожиданное отключение питания, поскольку большинство данных находится в памяти.

Btrfs или B-Tree File System — это совершенно новая файловая система, которая сосредоточена на отказоустойчивости, легкости администрирования и восстановления данных. Файловая система объединяет в себе очень много новых интересных возможностей, таких как размещение на нескольких разделах, поддержка подтомов, изменение размера не лету, создание мгновенных снимков, а также высокая производительность. Но многими пользователями файловая система Btrfs считается нестабильной. Тем не менее, она уже используется как файловая система по умолчанию в OpenSUSE и SUSE Linux.

Другие файловые системы, такие как NTFS, FAT, HFS могут использоваться в Linux, но корневая файловая система linux на них не устанавливается, поскольку они для этого не предназначены.

Специальные файловые системы

Ядро Linux использует специальные файловые системы, чтобы предоставить доступ пользователю и программам к своим настройкам и информации. Наиболее часто вы будете сталкиваться с такими вариантами:

Файловая система tmpfs позволяет размещать любые пользовательские файлы в оперативной памяти компьютера. Достаточно создать блочное устройство нужного размера, затем подключить его к папке, и вы можете писать файлы в оперативную память.

procfs — по умолчанию смонтирована в папку proc и содержит всю информацию о запущенных в системе процессах, а также самом ядре.

sysfs — с помощью этой файловой системы вы можете задавать различные настройки ядра во время выполнения.

Виртуальные файловые системы

Не все файловые системы нужны в ядре. Существуют некоторые решения, которые можно реализовать и в пространстве пользователя. Разработчики ядра создали модуль FUSE ( filesystem in userspace), который позволяет создавать файловые системы в пространстве пользователя. К виртуальным файловым системам можно отнести ФС для шифрования и сетевые файловые системы.

EncFS — файловая система, которая шифрует все файлы и сохраняет их в зашифрованном виде в нужную директорию. Получить доступ к расшифрованным данным можно только примонтировав файловую систему.

Aufs (AnotherUnionFS) — позволяет объединять несколько файловых систем (папок) в одну общую.

NFS (Network Filesystem) — позволяет примонтировать файловую систему удаленного компьютера по сети.

Таких файловых систем очень много, и мы не будем перечислять все их в данной статье. Есть даже очень экзотические варианты, обратите внимание на проект PIfs.

Выводы

В этой статье мы рассмотрели типы файловых систем Linux. Как видите, здесь все намного запутаннее чем в Windows. Но на самом деле все просто. Если вам нужна максимально стабильная файловая система linux — то лучшим решением будет ext4, хотите новых технологий — btrfs, для маленьких файлов — raiser4, для больших — XFS. А какие файловые системы linux предпочитаете вы? Напишите в комментариях!

На завершение видео о том, что такое файловая система и ее структура в linux:

Оцените статью:

Загрузка…

Введение в Linux Операционная система

Guru99
  • Главная
  • Испытание

      • Назад
      • Agile тестирование
      • BugZilla
      • Огурцы
      • База данных Тестирование
      • ETL Тестирование
      • Jmeter
      • JIRA
      • Назад
      • JUnit
      • LoadRunner
      • Ручное тестирование
      • Мобильное тестирование
      • Mantis
      • Почтальон
      • QTP
      • Назад
      • 000000P000
      • 000000P000 000000P000 000000
      • 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
      • Управление тестированием
      • TestLink
  • SAP

      • Назад 9000 5
      • ABAP
      • APO
      • Новичок
      • Основа
      • Bods
      • BI
      • БПЦ
      • CO
      • Назад
      • CRM
      • Crystal Reports
      • КУКИШ
      • HANA
      • HR
      • MM
      • QM
      • Расчет заработной платы
      • Назад
      • PI / PO
      • PP
      • SD
      • SAPUI5
      • Безопасность
      • Solution Manager
      • Successfactors
      • SAP Обучение
  • Web

      • Назад
      • Apache
      • Android
      • AngularJS
      • ASP.Чистая
      • C
      • C #
      • C ++
      • CodeIgniter
      • СУБД
      • Назад
      • Java
      • JavaScript
      • JSP
      • Kotlin
      • M000 M000 js
      • Back
      • Perl
      • PHP
      • PL / SQL
      • PostgreSQL
      • Python
      • ReactJS
      • Ruby & Rails
      • Scala
      • SQL5000
      • SQL000
      • UML
      • VB.Net
      • VBScript
      • Веб-сервисы
      • WPF
  • Необходимо учиться!

      • Назад
      • Учет
      • Алгоритмы
      • Blockchain
      • Бизнес-аналитик
      • Сложение Сайт
      • CCNA
      • Cloud Computing
      • COBOL
      • Compiler Design
      • Embedded Systems
      • Назад
      • Ethical Hacking
      • Excel Учебники
      • Go Программирование
      • IoT
      • ITIL
      • Дженкинс
      • MIS
      • Networking
      • Операционная система
      • Prep
      • Назад
      • PMP
      • Photoshop Управление
      • Проект
      • Отзывы
      • Salesforce
      • SEO
      • Разработка программного обеспечения
      • VBA
  • Big Data

      • Назад
      • AWS
      • BigData
      • Cassandra
      • Cognos
      • Складирование данных
      • 000000000 HBB 000500040005000 HB
      • MongoDB
      • NiFi
      • OBIEE
      • Pentaho
      • Назад
      • Мощность BI
,

Linux: получить информацию о системе

Xah Lee. Дата: . Последнее обновление: .

Найти версию ядра Linux

На терминале введите

uname -a

uname -a

Найти имя дистрибутива Linux и версию

cat / etc / lsb-release

 ~ $ cat / etc / lsb-release
DISTRIB_ID = Ubuntu
DISTRIB_RELEASE = 14,04
DISTRIB_CODENAME = испытанный
DISTRIB_DESCRIPTION = "Ubuntu 14.04.4 LTS "

См. Также: man lsb_release . «Lsb» обозначает стандартную базу Linux. Некоторые дистрибутивы не поддерживают это.

Найти процессор 32 бит или 64 бит

 getconf LONG_BIT 

Это скажет вам, если ваш Linux является 32-битным или 64-битным.

Сколько оперативной памяти установлено

 кошек / процедур / meminfo 
 MemTotal: 5937800 КБ
MemFree: 3344824 кБ
Буферы: 579436 кБ
Кэшированный: 1130528 кБ
SwapCached: 0 кБ
Активный: 1540120 кБ
Неактивно: 850112 кБ
Активный (анон): 607436 кБ
Неактивно (анон): 79140 кБ
Активный (файл): 932684 КБ
Неактивно (файл): 770972 КБ
Неуязвимый: 0 кБ
Размещено: 0 кБ
Высокий итог: 5115592 кБ
HighFree: 3278656 кБ
LowTotal: 822208 кБ
LowFree: 66168 кБ
SwapTotal: 6027260 кБ
SwapFree: 6027260 кБ
Грязный: 72 кБ
Обратная запись: 0 кБ
AnonPages: 680272 кБ
Сопоставлено: 105856 кБ
Шмем: 6304 кБ
Плита: 149900 кБ
SReclaimable: 67808 кБ
SUnreclaim: 82092 кБ
KernelStack: 3168 кБ
PageTables: 7636 кБ
NFS_Unstable: 0 кБ
Отказов: 0 кБ
WritebackTmp: 0 кБ
CommitLimit: 8996160 кБ
Committed_AS: 2692872 КБ
VmallocTotal: 122880 кБ
VmallocUsed: 17248 кБ
VmallocChunk: 65456 кБ
Аппаратные средства повреждены: 0 кБ
AnonHugePages: 0 кБ
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Огромный размер: 2048 кБ
DirectMap4k: 8184 кБ
DirectMap2M: 905216 кБ, 

Найти модель процессора

2 способа.

Вот вывод lscpu:

 лспу

Архитектура: x86_64
Операционные режимы процессора: 32-разрядный, 64-разрядный
Порядок байтов: Little Endian
ЦП: 4
Он-лайн список процессоров: 0-3
Резьба (ы) на ядро: 1
Core (s) на сокет: 4
Разъем (ы): 1
NUMA узел (ы): 1
Идентификатор поставщика: AuthenticAMD
Семейство процессоров: 16
Модель: 5
Название модели: AMD Athlon (tm) II X4 645 Процессор
Степпинг: 3
МГц процессора: 800.000
Максимальная частота процессора: 3100,0000
Минимальная частота процессора: 800,0000
BogoMIPS: 6199,70
Виртуализация: AMD-V
L1d кэш: 64 КБ
Кэш-память L1i: 64 КБ
Кэш-память второго уровня: 512 КБ
NUMA node0 ЦП: 0-3
Флаги: FPU VME-де-псевдоэфедрин TSC MSR пае MCE CX8 APIC Сентябрь MTRR PGE MCA CMOV погладить pse36 clflush MMX fxsr сс sse2 ХТЫ системного вызов ого mmxext fxsr_opt pdpe1gb rdtscp лй 3dnowext 3DNow constant_tsc rep_good nopl nonstop_tsc extd_apicid ПНИ монитор CX16 POPCNT lahf_lm cmp_legacy SVM extapic cr8_legacy ABM SSE4a неуравновешенность 3dnowprefetch osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
~ / web / xahlee_info / linux $ 
 cat / proc / cpuinfo 
 процессор: 0
vendor_id: AuthenticAMD
семейство процессоров: 16
модель: 5
Название модели: AMD Athlon (tm) II X4 645 Процессор
степпинг: 3
процессор МГц: 3098.061
размер кеша: 512 кб
fdiv_bug: нет
hlt_bug: нет
f00f_bug: нет
coma_bug: нет
фпу: да
fpu_exception: да
Уровень процессора: 5
wp: да
флаги: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 fxsr_opt 3dnowext 3dnow up extd_apicid pni monitor cr8_legacy
bogomips: 6196,12
размер clflush: 64
cache_alignment: 64
размеры адресов: 48-битный физический, 48-битный виртуальный
Управление питанием: 

Найти GPU Модель

Тип

lspci -v

и ищите VGA или ATI или NVIDIA.

Команда «lspci» выводит список всех устройств PCI.

пример вывода

 ◆ lspci

00: 00.0 Мост хоста: усовершенствованные микроустройства [AMD] Хост мост RS880
00: 01.0 Мост PCI: усовершенствованные микроустройства [AMD] Мост PCI-PCI RS780 / RS880 (int gfx)
00: 0a.0 Мост PCI: усовершенствованные микроустройства [AMD] RS780 / RS880 мост PCI-PCI (порт PCIE 5)
00: 11.0 Контроллер SATA: Advanced Micro Devices [AMD], новый контроллер SATA ATI SB7x0 / SB8x0 / SB9x0 [режим AHCI]
00: 12.0 USB-контроллер: Advanced Micro Devices [AMD], новый ATI SB7x0 / SB8x0 / SB9x0 USB OHCI0-контроллер
00:12.1 контроллер USB: усовершенствованные микроустройства [AMD], новый контроллер USB OHCI1 ATI SB7x0
00: 12.2 Контроллер USB: Усовершенствованные микроустройства [AMD] USB-контроллер EHCI ATI SB7x0 / SB8x0 / SB9x0
00: 13.0 USB-контроллер: Advanced Micro Devices [AMD], новый ATI SB7x0 / SB8x0 / SB9x0 USB-контроллер OHCI0
00: 13.1 Контроллер USB: усовершенствованные микроустройства [AMD], новый контроллер USB OHCI1 ATI SB7x0
00: 13.2 Контроллер USB: Усовершенствованные микроустройства [AMD] USB-контроллер EHCI ATI SB7x0 / SB8x0 / SB9x0
00: 14.0 SMBus: усовершенствованные микроустройства [AMD], новый контроллер ATI SBx00 SMBus (версия 3c)
00:14.2 Аудиоустройство: усовершенствованные микроустройства [AMD], урожденная ATI SBx00 Azalia (Intel HDA)
00: 14.3 Мост ISA: Усовершенствованные микроустройства [AMD], соответствующий главному контроллеру LPC SBIx7 / SB8x0 / SB9x0
00: 14.4 Мост PCI: усовершенствованные микроустройства [AMD], необходимые для подключения моста ATI SBx00 PCI-PCI
00: 18.0 Мост хоста: конфигурация гипертранспорта процессоров семейства 10h Advanced Micro Devices [AMD]
00: 18.1 Мост хоста: карта адресов процессоров семейства 10h Advanced Micro Devices [AMD]
00: 18.2 Мост хоста: усовершенствованные микро-устройства [AMD], 10-часовой процессор, контроллер DRAM
00:18.Мост 3 хоста: усовершенствованные микро-устройства [AMD] Семейство 10h Разное управление процессором
00: 18.4 Мост хоста: усовершенствованные микро-устройства [AMD], семейство 10h, управление соединением процессоров
01: 05.0 VGA-совместимый контроллер: Advanced Micro Devices [AMD], новая ATI RS880 [Radeon HD 4200]
01: 05.1 Аудиоустройство: усовершенствованные микроустройства [AMD], то есть ATI RS880 HDMI Audio [Radeon HD 4200 Series]
02: 00.0 Контроллер Ethernet: Realtek Semiconductor Co., Ltd. RTL8101E / RTL8102E Контроллер PCI Express Fast Ethernet (версия 05) 

Размер диска и свободное пространство

 df -H 

«-H» предназначен для чтения человеком в метрических единицах.9.)

 df -H

Используемый размер файловой системы. Используется. Используется%.
Удев 3.0G 0 3.0G 0% / dev
tmpfs 600M 9,2M 591M 2% / пробег
/ dev / sda5 465G 141G 301G 32% /
tmpfs 3.0G 415M 2.6G 14% / dev / shm
tmpfs 5.3M 4.1k 5.3M 1% / пробег / блокировка
tmpfs 3.0G 0 3.0G 0% / sys / fs / cgroup
cgmfs 103k 0 103k 0% / run / cgmanager / fs
tmpfs 600M 41k 600M 1% / пробег / пользователь / 1000 

Найти USB-устройства

 Xinput 

(2012-04-28 благодаря Аарону Кокли)

Если у вас есть вопрос, поставьте 5 долларов на patreon и напишите мне.

,
Обсуждение концепций файловых систем Linux на высоком уровне

Эта статья призвана стать дискуссией на высоком уровне о концепциях файловых систем Linux. Он не предназначен для низкоуровневого описания того, как работает конкретный тип файловой системы, такой как EXT4, и не предназначен для обучения командам файловой системы.

Каждый компьютер общего назначения должен хранить данные различных типов на жестком диске (HDD) или в другом аналогичном виде, например на карте памяти USB. Есть несколько причин для этого.Во-первых, ОЗУ теряет свое содержимое при выключении компьютера. Существуют энергонезависимые типы ОЗУ, которые могут поддерживать данные, хранящиеся там после отключения питания (например, флэш-память, которая используется в USB-накопителях и твердотельных накопителях), но флэш-память намного дороже, чем стандартная, энергозависимая память, такая как DDR3 и другие, аналогичные типы.

Вторая причина, по которой данные должны храниться на жестких дисках, заключается в том, что даже стандартное ОЗУ все еще дороже, чем дисковое пространство. Стоимость оперативной памяти и дискового пространства быстро снижалась, но оперативная память по-прежнему лидирует по стоимости на байт.Быстрый расчет стоимости за байт, основанный на затратах на 16 ГБ ОЗУ против 2 ТБ жесткого диска, показывает, что ОЗУ примерно в 71 раз дороже на единицу, чем жесткий диск. Типичная стоимость оперативной памяти сегодня составляет около 0,0000000043743750 за байт.

Для краткого исторического замечания о том, как в перспективе представить стоимость оперативной памяти, в самые первые дни вычислений один тип памяти был основан на точках на экране ЭЛТ. Это было очень дорого, около $ 1,00 за бит !

Определения

Вы можете слышать, как люди говорят о файловых системах разными и запутанными способами.Само слово может иметь несколько значений, и вам, возможно, придется различить правильное значение из контекста обсуждения или документа.

Я попытаюсь определить различные значения слова «файловая система», основываясь на том, как я наблюдал его использование в различных обстоятельствах. Обратите внимание, что, пытаясь соответствовать стандартным «официальным» значениям, я намерен определить термин на основе его различных употреблений. Эти значения будут более подробно рассмотрены в следующих разделах этой статьи.

  1. Вся структура каталогов Linux, начиная с верхнего (/) корневого каталога.
  2. Определенный тип формата хранения данных, например EXT3, EXT4, BTRFS, XFS и т. Д. Linux поддерживает почти 100 типов файловых систем, включая некоторые очень старые, а также некоторые новейшие. Каждый из этих типов файловых систем использует свои собственные структуры метаданных, чтобы определить, как данные хранятся и доступны.
  3. Раздел или логический том, отформатированный с помощью файловой системы определенного типа, которую можно подключить в указанной точке монтирования в файловой системе Linux.

Основные функции файловой системы

Дисковое хранилище — это необходимость, которая несет с собой некоторые интересные и неизбежные детали. Очевидно, файловая система предназначена для обеспечения пространства для энергонезависимого хранения данных; это его конечная функция. Однако есть много других важных функций, которые вытекают из этого требования.

Все файловые системы должны предоставлять пространство имен, то есть методологию именования и организации. Это определяет, как файл может быть назван, в частности длина имени файла и подмножество символов, которые могут использоваться для имен файлов из общего набора доступных символов.Он также определяет логическую структуру данных на диске, например, использование каталогов для организации файлов, а не просто их объединение в одну огромную конгломерацию файлов.

Как только пространство имен определено, необходима структура метаданных, чтобы обеспечить логическую основу для этого пространства имен. Это включает в себя структуры данных, необходимые для поддержки иерархической структуры каталогов; структуры для определения того, какие блоки пространства на диске используются и какие доступны; структуры, которые позволяют поддерживать имена файлов и каталогов; информация о файлах, такая как их размер и время их создания, изменения или последнего доступа; и местоположение или местоположения данных, принадлежащих файлу на диске.Другие метаданные используются для хранения высокоуровневой информации о подразделениях диска, таких как логические тома и разделы. Эти метаданные более высокого уровня и представляемые им структуры содержат информацию, описывающую файловую систему, хранящуюся на диске или разделе, но отделенную от метаданных файловой системы и независимую от них.

Файловым системам

также требуется интерфейс прикладного программирования (API), который обеспечивает доступ к вызовам системных функций, которые управляют объектами файловой системы, такими как файлы и каталоги.API обеспечивают такие задачи, как создание, перемещение и удаление файлов. Он также предоставляет алгоритмы, которые определяют такие вещи, как расположение файла в файловой системе. Такие алгоритмы могут учитывать такие цели, как скорость или минимизация фрагментации диска.

Современные файловые системы также предоставляют модель безопасности, которая представляет собой схему определения прав доступа к файлам и каталогам. Модель безопасности файловой системы Linux помогает гарантировать, что пользователи имеют доступ только к своим собственным файлам, а не к файлам других пользователей или самой операционной системы.

Последний строительный блок — это программное обеспечение, необходимое для реализации всех этих функций. В Linux используется программная реализация, состоящая из двух частей, для повышения эффективности как системы, так и программиста.


Рисунок 1. Программная реализация двухкомпонентной файловой системы Linux.

Первая часть этой двухэлементной реализации — виртуальная файловая система Linux. Эта виртуальная файловая система предоставляет ядру и разработчикам единый набор команд для доступа ко всем типам файловых систем.Программное обеспечение виртуальной файловой системы вызывает конкретный драйвер устройства, необходимый для взаимодействия с различными типами файловых систем. Драйверы устройств для файловой системы являются второй частью реализации. Драйвер устройства интерпретирует стандартный набор команд файловой системы для команд, специфичных для типа файловой системы на разделе или логическом томе.

Структура каталогов

Как обычно очень организованная Дева, мне нравятся вещи, хранящиеся в небольших организованных группах, а не в одном большом ведре.Использование каталогов помогает мне сохранять и затем находить нужные файлы, когда я их ищу. Каталоги также называются папками, потому что их можно рассматривать как папки, в которых файлы хранятся в некоторой физической аналогии с рабочим столом.

В Linux и многих других операционных системах каталоги могут быть структурированы в виде древовидной иерархии. Структура каталогов Linux четко определена и задокументирована в стандарте иерархии файловых систем Linux (FHS). Ссылка на эти каталоги при доступе к ним осуществляется с помощью последовательно более глубоких имен каталогов, связанных косой чертой (/), таких как / var / log и / var / spool / mail.Это так называемые пути.

В следующей таблице приведен очень краткий список стандартных, хорошо известных и определенных каталогов Linux верхнего уровня и их назначения.

Справочник Описание
/ (корневая файловая система) Корневая файловая система — это каталог верхнего уровня файловой системы. Он должен содержать все файлы, необходимые для загрузки системы Linux, до монтирования других файловых систем.Он должен включать все необходимые исполняемые файлы и библиотеки, необходимые для загрузки остальных файловых систем. После загрузки системы все остальные файловые системы монтируются в стандартных, четко определенных точках монтирования в качестве подкаталогов корневой файловой системы.
/ бин Каталог / bin содержит исполняемые файлы пользователя.
/ ботинок Содержит статический загрузчик, исполняемый файл ядра и файлы конфигурации, необходимые для загрузки компьютера с Linux.
/ dev Этот каталог содержит файлы устройств для каждого устройства, подключенного к системе. Это не драйверы устройств, а файлы, которые представляют каждое устройство на компьютере и облегчают доступ к этим устройствам.
/ и т. Д. Содержит файлы конфигурации локальной системы для главного компьютера.
/ дом Домашний каталог для хранения пользовательских файлов. У каждого пользователя есть подкаталог в / home.
/ lib Содержит файлы общей библиотеки, необходимые для загрузки системы.
/ СМИ Место для подключения внешних съемных носителей, таких как флэш-накопители USB, которые могут быть подключены к хосту.
/ мин Временная точка монтирования для обычных файловых систем (например, на несъемных носителях), которая может использоваться, когда администратор восстанавливает или работает с файловой системой.
/ опт Дополнительные файлы, такие как прикладные программы, поставляемые поставщиком, должны быть расположены здесь.
/ корень Это не корневая (/) файловая система. Это домашний каталог для пользователя root.
/ sbin Системные бинарные файлы. Это исполняемые файлы, используемые для системного администрирования.
/ т / м Временный справочник. Используется операционной системой и многими программами для хранения временных файлов. Пользователи также могут временно хранить здесь файлы. Обратите внимание, что файлы, хранящиеся здесь, могут быть удалены в любое время без предварительного уведомления.
/ usr Это общедоступные файлы, доступные только для чтения, включая исполняемые двоичные файлы и библиотеки, файлы man и другие типы документации.
/ вар Файлы переменных данных хранятся здесь. Это может включать в себя такие вещи, как файлы журнала, MySQL и другие файлы базы данных, файлы данных веб-сервера, почтовые ящики и многое другое.
Таблица 1. Верхний уровень иерархии файловой системы Linux.

Каталоги и их подкаталоги, показанные в Таблице 1, вместе с их подкаталогами, имеющими бирюзовый фон, считаются неотъемлемой частью корневой файловой системы.То есть они не могут быть созданы как отдельная файловая система и смонтированы во время запуска. Это потому, что они (в частности, их содержимое) должны присутствовать во время загрузки, чтобы система загрузилась правильно.

Каталоги / media и / mnt являются частью корневой файловой системы, но они никогда не должны содержать никаких данных. Скорее, это просто временные точки монтирования.

Остальные каталоги, те, которые не имеют цвета фона в Таблице 1, не обязательно должны присутствовать во время последовательности загрузки, но будут смонтированы позже, во время последовательности запуска, которая готовит хост к выполнению полезной работы.

Обязательно обратитесь к официальной веб-странице Стандарта иерархии файловых систем Linux (FHS) для получения подробной информации о каждом из этих каталогов и их многочисленных подкаталогах. В Википедии также есть хорошее описание FHS. Этот стандарт должен соблюдаться как можно точнее для обеспечения операционной и функциональной согласованности. Независимо от типов файловых систем, используемых на хосте, эта иерархическая структура каталогов одинакова.

Унифицированная структура каталогов Linux

В некоторых операционных системах, отличных от Linux, если имеется несколько физических жестких дисков или несколько разделов, каждому диску или разделу назначается буква диска.Необходимо знать, на каком жестком диске находится файл или программа, например, C: или D :. Затем вы вводите букву диска в качестве команды, например, D: , чтобы перейти на диск D:, а затем вы используете команду cd , чтобы перейти в правильный каталог, чтобы найти нужный файл. Каждый жесткий диск имеет свое отдельное и полное дерево каталогов.

Файловая система Linux объединяет все физические жесткие диски и разделы в единую структуру каталогов. Все начинается сверху — корневой каталог (/).Все остальные каталоги и их подкаталоги находятся в одном корневом каталоге Linux. Это означает, что существует только одно дерево каталогов для поиска файлов и программ.

Это может работать только потому, что файловая система, такая как / home, / tmp, / var, / opt или / usr, может быть создана на отдельных физических жестких дисках, другом разделе или другом логическом томе из / (root) файловой системы, а затем монтируется на точку монтирования (каталог) как часть корневого дерева файловой системы.Даже съемные диски, такие как флэш-накопитель USB или внешний жесткий диск USB или ESATA, будут подключены к корневой файловой системе и станут неотъемлемой частью этого дерева каталогов.

Одна из веских причин для этого очевидна при обновлении с одной версии дистрибутива Linux на другую или при переходе с одного дистрибутива на другой. В целом, кроме любых утилит обновления, таких как dnf-upgrade в Fedora, целесообразно периодически переформатировать жесткий диск (и), содержащий операционную систему, во время обновления, чтобы удалить все скопления, накопившиеся с течением времени.Если / home является частью корневой файловой системы, она также будет переформатирована и затем должна быть восстановлена ​​из резервной копии. Имея / home в качестве отдельной файловой системы, программа установки будет известна как отдельная файловая система, и ее форматирование можно пропустить. Это также может применяться к / var, где хранятся база данных, почтовые ящики, веб-сайт и другие переменные данные пользователя и системы.

Существуют и другие причины для поддержки определенных частей дерева каталогов Linux в качестве отдельных файловых систем.Например, давным-давно, когда я еще не знал о потенциальных проблемах, связанных с наличием всех необходимых каталогов Linux как части файловой системы / (root), мне удалось заполнить мой домашний каталог большим количеством очень большие файлы. Поскольку ни каталог / home, ни каталог / tmp не были отдельными файловыми системами, а были просто подкаталогами корневой файловой системы, вся корневая файловая система заполнилась. В операционной системе не осталось места для создания временных файлов или для расширения существующих файлов данных.Сначала прикладные программы стали жаловаться на то, что места для сохранения файлов не было, а затем сама ОС начала работать очень странно. Загрузка в однопользовательском режиме и удаление поврежденных файлов в моем домашнем каталоге позволили мне снова начать работу. Затем я переустановил Linux, используя довольно стандартную настройку нескольких файловых систем, и смог предотвратить повторение сбоев системы.

Однажды у меня была ситуация, когда хост Linux продолжал работать, но не позволил пользователю войти в систему, используя рабочий стол с графическим интерфейсом.Я смог войти в систему, используя интерфейс командной строки (CLI) локально, используя одну из виртуальных консолей, и удаленно, используя SSH. Проблема заключалась в том, что файловая система / tmp заполнилась, и некоторые временные файлы, необходимые для рабочего стола с графическим интерфейсом, не могли быть созданы во время входа в систему. Поскольку для входа в CLI не требовалось создавать файлы в / tmp, недостаток места не помешал мне войти в систему с помощью CLI. В этом случае каталог / tmp представлял собой отдельную файловую систему, и в группе томов, в которую входил логический том / tmp, было достаточно свободного места.Я просто расширил логический том / tmp до размера, который позволил мне по-новому взглянуть на объем временного файлового пространства, необходимого на этом хосте, и проблема была решена. Обратите внимание, что это решение не требовало перезагрузки, и как только файловая система / tmp была расширена, пользователь смог войти на рабочий стол.

Другая ситуация произошла, когда я работал администратором лаборатории в одной крупной технологической компании. Один из наших разработчиков установил приложение в неправильном месте (/ var).Приложение зависало, потому что файловая система / var была переполнена, и файлы журнала, которые хранятся в / var / log этой файловой системы, не могли быть добавлены с новыми сообщениями из-за нехватки места. Однако система работала, потому что критические файловые системы / (root) и / tmp не заполнялись. Удаление приложения-нарушителя и его переустановка в файловой системе / opt решило эту проблему.

Типы файловых систем

Linux поддерживает чтение около 100 типов разделов; он может создавать и писать только нескольким из них.Но возможно — и очень часто — монтировать файловые системы разных типов в одной корневой файловой системе. В этом контексте мы говорим о файловых системах в терминах структур и метаданных, необходимых для хранения и управления пользовательскими данными на разделе жесткого диска или логическом томе. Полный список типов разделов файловой системы, распознаваемых командой Linux fdisk , приведен здесь, чтобы вы могли почувствовать высокую степень совместимости Linux с очень многими типами систем.

 0 Пустой 24 NEC DOS 81 Minix / старый Лин бф Солярис
 1 FAT12 27 Скрытая NTFS Win 82 Linux swap / So c1 DRDOS / sec (FAT-
 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS / sec (FAT-
 3 XENIX usr 3c PartitionMagic 84 OS / 2 скрыто или c6 DRDOS / сек (FAT-
 4 FAT16 <32M 40 Venix 80286 85 Linux расширенный c7 Syrinx
 5 Расширенная 41 PPC PReP Boot 86 NTFS том установлен да не-FS данные
 6 FAT16 42 SFS 87 NTFS громкость установлена ​​дБ CP / M / CTOS /.7 HPFS / NTFS / exFAT 4d QNX4.x 88 Открытый текст для Linux Утилита Dell
 8 AIX 4e QNX4.x 2-я часть 8e Linux LVM df BootIt
 9 AIX загрузочный 4f QNX4.x 3-я часть 93 Amoeba e1 DOS access
 Загрузка OS / 2 Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R / O
 b W95 FAT32 51 OnTrack DM6 Aux 9f BSD / OS e4 SpeedStor
 c W95 FAT32 (LBA) 52 CP / M a0 IBM Thinkpad привет выравнивание Rufus
 W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs
 f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT
10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16 /
11 Скрытый FAT12 56 Золотой Лук a8 Дарвин UFS f0 Linux / PA-RISC b
12 Диагностика Compaq 5c Priam Edisk a9 NetBSD f1 SpeedStor
14 Скрытый FAT16 <3 61 SpeedStor и Дарвин загрузочный f4 SpeedStor
16 Скрытый FAT16 63 GNU HURD или Sys af HFS / HFS + f2 DOS вторичный
17 Скрытые HPFS / NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS
18 AST SmartSleep 65 Novell Netware b8 BSDI-подкачка VMware VMKCORE
1b Скрытый W95 FAT3 70 DiskSecure Mult Мастер загрузки bb hid fd Linux raid auto
1c Скрытый W95 FAT3 75 ПК / IX до н.э. Acronis FAT32 L fe LANstep
1e Скрытый W95 FAT1 80 Старый Minix be Solaris загрузки для BBT
 

Основная цель поддержки возможности чтения большого количества типов разделов - обеспечить совместимость и, по крайней мере, некоторую совместимость с файловыми системами других компьютерных систем.Варианты, доступные при создании новой файловой системы с Fedora, показаны в следующем списке.

  • Btrfs
  • cramfs
  • ext2
  • ext3
  • ext4
  • жира
  • GFS2
  • hfsplus
  • миникс
  • msdos
  • NTFS
  • Reiserfs
  • vfat
  • xfs

Другие дистрибутивы поддерживают создание разных типов файловых систем.Например, CentOS 6 поддерживает создание только тех файловых систем, которые выделены жирным шрифтом в приведенном выше списке.

Монтаж

Термин «монтировать» файловую систему в Linux относится к ранним дням вычислений, когда необходимо было физически смонтировать ленту или съемный дисковый накопитель на соответствующем устройстве накопителя. После физического размещения на диске файловая система на диске будет логически монтироваться операционной системой, чтобы сделать содержимое доступным для ОС, прикладных программ и пользователей.

Точка монтирования - это просто каталог, как и любой другой, который создается как часть корневой файловой системы. Так, например, домашняя файловая система смонтирована в каталоге / home. Файловые системы могут быть смонтированы в точках монтирования в других некорневых файловых системах, но это менее распространено.

Корневая файловая система Linux монтируется в корневой каталог (/) в самом начале последовательности загрузки. Другие файловые системы монтируются позже, программами запуска Linux, либо rc под SystemV, либо systemd в новых версиях Linux.Монтирование файловых систем в процессе запуска управляется файлом конфигурации / etc / fstab. Простой способ запомнить, что fstab означает «таблица файловой системы» и представляет собой список файловых систем, которые необходимо смонтировать, назначенные им точки монтирования и любые параметры, которые могут потребоваться для конкретных файловых систем.

Файловые системы

монтируются в существующий каталог / точку монтирования с помощью команды mount . Как правило, любой каталог, используемый в качестве точки монтирования, должен быть пустым и не содержать никаких других файлов.Linux не будет препятствовать пользователям монтировать одну файловую систему поверх уже существующей или в каталоге, содержащем файлы. Если вы смонтируете файловую систему в существующий каталог или файловую систему, исходное содержимое будет скрыто, и будет видно только содержимое только что смонтированной файловой системы.

Заключение

Я надеюсь, что некоторая путаница, связанная с термином файловая система, была устранена в этой статье. Мне потребовалось много времени и очень полезного наставника, чтобы по-настоящему понять и оценить сложность, элегантность и функциональность файловой системы Linux во всех ее значениях.

Если у вас есть вопросы, пожалуйста, добавьте их в комментарии ниже, и я постараюсь ответить на них.

в следующем месяце

Другая важная концепция заключается в том, что для Linux все является файлом. Эта концепция имеет несколько интересных и важных практических приложений для пользователей и системных администраторов. Причина, по которой я упоминаю об этом, заключается в том, что вы можете прочитать мою статью «Все в файле» перед статьей, которую я планирую на следующий месяц, в каталоге / dev.

,

системных вызовов Linux

Файловая система

Файл является самой основной и фундаментальной абстракцией в Linux. Linux следует философии «все в файле». Следовательно, много взаимодействий происходит через системные вызовы файловой системы, такие как чтение и запись в файлы, даже когда рассматриваемый объект не является тем, что вы бы рассматривали в качестве повседневного файла.

Для доступа к файлу сначала необходимо открыть файл. Файлы могут быть открыты для чтения, записи или того и другого. Ссылка на открытый файл осуществляется через уникальный дескриптор, сопоставление метаданных, связанных с открытым файлом, с самим конкретным файлом.Внутри ядра Linux этот дескриптор обрабатывается целым числом (типа C int), называемым дескриптором файла, сокращенно fd. Файловые дескрипторы используются совместно с пользовательским пространством и используются непосредственно пользовательскими программами для доступа к файлам. Большая часть системного программирования Linux состоит из открытия, манипулирования, закрытия и иного использования файловых дескрипторов.

Сеть

Как и большинство других операционных систем на основе Unix, Linux поддерживает TCP / IP в качестве собственного сетевого транспорта. Сетевые системные вызовы - это способ установления связи между компьютерами через различные виды сетевых интерфейсов: проводные и беспроводные устройства, оптоволоконный канал и т. Д.Большинство сетевых операций основаны на интерфейсе сокетов BSD.

Сокеты позволяют процессам на разных компьютерах обмениваться данными через сеть. Сокеты также могут использоваться в качестве средства связи для процессов, расположенных на одном хост-компьютере; например, графический интерфейс X Window System использует сокет, чтобы клиентские программы могли обмениваться данными с X-сервером.

Время

Ядро измеряет течение времени тремя различными способами: время стены (или реальное время), время процесса и монотонное время.Эти три измерения времени могут быть представлены в одном из двух форматов: относительное время и абсолютное время. Управление временем в системе Linux включает в себя несколько задач, только некоторые из которых касаются любого данного процесса: они включают в себя установку и получение текущего времени стены, вычисление истекшего времени, время ожидания в течение заданного периода времени, выполнение высокой точности измерения времени и управление таймерами. Это доступно через системные вызовы времени Linux.

Управление процессами

Процессы - самая фундаментальная абстракция в системе Linux, после файлов.Поскольку объектный код в исполнении - активные, живые, работающие программы - процессы - это больше, чем просто язык ассемблера; они состоят из данных, ресурсов, состояния и виртуализированного компьютера.

Linux выбрал интересный путь, редко встречающийся, и отделил процесс создания нового процесса от процесса загрузки нового двоичного образа. Хотя эти две задачи выполняются в большинстве случаев в тандеме, разделение предоставило большую свободу для экспериментов и эволюции для каждой из задач.Этот путь, по которому ехали меньше, сохранился до наших дней, и хотя большинство операционных систем предлагают один системный вызов для запуска новой программы, Linux требует двух: вилка и exec.

Сигналы

Сигналы - это программные прерывания, которые обеспечивают механизм для обработки асинхронных событий. Эти события могут происходить извне системы - например, когда пользователь генерирует символ прерывания (обычно через Ctrl-C) - или из действий в программе или ядре, например, когда процесс выполняет код, который делится на ноль.В качестве примитивной формы межпроцессного взаимодействия (IPC) один процесс также может отправлять сигнал другому процессу.

Межпроцессное взаимодействие

Разрешение процессам обмениваться информацией и уведомлять друг друга о событиях - одна из самых важных задач операционной системы. Ядро Linux реализует большинство исторических механизмов Unix IPC, включая те, которые определены и стандартизированы как System V и POSIX, так и реализует один или два собственных механизма. Механизмы IPC, поддерживаемые Linux, включают в себя каналы, именованные каналы, семафоры, очереди сообщений, разделяемую память и фьютексы.

Неоднородный доступ к памяти

Мы привыкли думать о памяти компьютера как об однородном общем ресурсе. Независимо от роли аппаратных кешей, мы ожидаем, что время, необходимое ЦП для доступа к области памяти, будет практически одинаковым, независимо от физического адреса расположения и ЦП. К сожалению, это предположение не соответствует действительности.

Linux поддерживает модель неоднородного доступа к памяти (NUMA), в которой время доступа к различным ячейкам памяти из данного ЦП может отличаться.Физическая память системы разделена на несколько узлов. Время, необходимое данному ЦП для доступа к страницам в пределах одного узла, одинаково. Однако это время может не совпадать для двух разных процессоров. Для каждого ЦП ядро ​​пытается минимизировать количество обращений к дорогостоящим узлам, тщательно выбирая, где хранятся структуры данных ядра, на которые ЦПУ чаще всего ссылаются.

Управление ключами Linux

Функция keyrings - это, прежде всего, способ для драйверов сохранять или кэшировать данные безопасности, ключи аутентификации, ключи шифрования и другие данные в ядре.Предоставляются интерфейсы системных вызовов, чтобы программы пользовательского пространства могли управлять этими объектами, а также использовать средство для своих собственных целей. Средство имеет ряд пользователей и способов использования, но не ограничивается теми, которые уже существуют.

Использование этой функции в ядре включает: сетевые файловые системы (DNS), NFS (сопоставление идентификатора пользователя), CIFS (пароль), проверка модуля.

Пользователи используют эту возможность в хранилище ключей Kerberos.

для всей системы

В этом разделе рассматриваются системные вызовы, которые нельзя назначить никаким другим разделам.Такие системные вызовы обычно предоставляют общесистемную информацию о ядре и всей операционной системе. Также они могут изменить типичное поведение Linux и расширить его функциональность за счет загружаемых модулей.

,

Добавить комментарий

Ваш адрес email не будет опубликован.