
Сегодня я хочу поделиться результатом эксперимента, который провожу с апреля этого года. Именно в тогда я решил перейти на операционную систему linux ubuntu.
Поясню почему я решил после 15 лет использования windows сменить её на linux. Windows была для меня удобной системой вплоть до windows 7.
Windows 8, по моему мнению, это просто издевательство над пользователем. Далее вышла обновленная до 8.1 система которая несколько улучшила ситуацию но в целом ничего не изменила. И вот уже было объявлено о выходе windows 10.
Привыкать каждый год к новому интерфейсу и новым выкрутасам microsoft желания у меня нет. А в январе 2015 года microsoft прекратила поддержку windows 7. В связи с этим я решил в качестве основной системы попробовать linux.
С выбором дистрибутива долго не мучился. Взял один из самых популярных не сегодня — Ubuntu. Просто потому, что если дистрибутив популярен то и руководств, how to и прочих инструкций по нему написано достаточно много, что сильно упрощает решение проблем.
Что такое дистрибутив можно прочитать в википедии — здесь . Я буду рассматривать использование этой ос исключительно с точки зрения обычного пользователя. Без углубленного изучения до уровня администратора.
Помимо дистрибутива нужно выбрать себе окружение рабочего стола(среда рабочего стола — desktop environment).
В linux в отличии от windows можно выбрать разные оболочки. Подробности, что это такое читаем на той же Среда рабочего стола. Я выбрал в качестве рабочего окружения XFCE. Во первых он не требователен к ресурсам компьютера и во вторых близок к интерфейсу классического windows. Также мне понравилась среда KDE очень функциональная и удобная особенно после перехода с windows.
Итак с дистрибутивом и средой рабочего стола определились. Далее нужно провести ревизию программного обеспечения. Понять какой используемый софт есть под линукс для чего нужно будет искать альтернативу а какой придется запускать из под эмулятора. Про эмулятор читаем всё в той же вики слой совместимости с Windows API.
Здесь нужно отметить, что если вы работаете в каком то специфическим программным обеспечением (особенно плохо с мультимедийными приложениями) или железом для которого нет драйверов под linux а отказаться от их использования нет возможности то переходить на линкус не нужно иначе вместо удовольствия от работы получите одни проблемы. Для меня было серьезной потерей отказ от Total Commander. К сожалению достойной замены ему в линукс не нашлось.
Немного о слежке.
С выходом windows 10 майкрософт отрыто объявили о слежке за пользователями. Не то, что бы её раньше не было просто теперь об этом сообщается открыто. Немного доказательств. Помимо лицензионного соглашения.
Журнал «Хакер» провел эксперимент который подробно описал в №9 (200) (сентябрь 2015). И генпрокуратура тоже проводила расследование. Резюмирую отмечу, что слежку признали но сочли, что это не несет опасности.
Основные моменты в Linux которые хотелось бы отметить
- Установка приложений в linux осуществляется из так называемых репозиториев. Это в целом удобней но нужно привыкнуть. Что это такое читаем — репозиторий убунту
- Совместимость с Windows. Здесь всё очень не однозначно. Большинство стандартов вполне совместимо. Во всяком случае у меня не возникло каких то сложностей связанных с этим.
- Файловая система. Совершенно другая. Диска «С» и т.п. здесь нет! Структура более логична но требуется время, что бы привыкнуть.
Система каталогов
Файловая система в линукс отличается от windows прежде всего тем, что в ос от майкрософт системные папки лежать отдельно а в линукс все идет от корневого каталога который обозначается слешом «/» и далее идет древовидная структура.
hier — описание иерархии файловой системы linux:
- / — корневая папка или root directory. В ней находятся все остальные каталоги включая домашние директории пользователя root (/root) и обычных пользователей (/home/user)
- /bin (от слова binary) — здесь находятся двоичные исполняемые файлы со всеми основными командами (cat, ls, tail, ps).
- /boot — каталог загрузки системы. Здесь находятся файлы загрузчика в подпапке /boot/grub, ядра системы — vmlinuz и образ initrd.
- /dev (devices) — каталог для портов и устройств. Драйвера и программы обмениваются информацией напрямую. Здесь же находятся и виртуальные устройства таки как /dev/null — получает информацию и никуда не отправляет и /dev/random — для генерации случайных чисел.
- /etc (etcetera) — очень важная папка здесь находятся системные конфигурационные файлы для настройки и управления системой.
- /home — папка предназначена по умолчанию для расположения домашних каталогов пользователей. Например для пользователя Василий создается папка /home/vasiliy.
- /lib (library) — здесь хранятся библиотеки нужные для работы исполняемым файлам находящимся в каталогах bin и sbin.
- /media — каталог для монтирования всех подключаемых внешних накопителей, например, USB-флешки, cd-rom и т.д..
- /mnt (mount) — папка для временного монтирования файловых систем.
- /opt (optional applications) — содержит подкаталоги для дополнительного программного обеспечения. Например, для проприетарного софта который не поддерживает иерархию файловой системы linux или дополнительные программы устанавливаемые не из репозитория.
- /proc (proccess) — каталог содержащий файлы с информацией о системе и процессах.
- /root — домашний каталог пользователя root.
- /run — каталог для стандартного расположения файлов необходимых во время работы системы таких как сокеты, pid процессов и т.д.
- /tmp (temp) — папка по умолчанию для временных файлов.
- /srv (server) — содержит данные о серверах и сервисах которые продоставляет система, например, веб-сервер apache.
- /usr (user applications) — содержит приложения и утилиты пользователей системы.
- /var (variable) — папка для постоянно меняющейся информации. Например здесь лежат логи системы (/var/log), бэкапы, кеши и т.д. Если на машине установлен веб-сервер то файлы находятся здесь в каталоге /var/www.
Вот так все выглядит если не вдаваться в подробности.
Права на файлы и пользователи в Linux
Linux, изначально создавался как многопользовательская система. Поэтому разграничение файлов и профилей пользователей здесь устроено очень хорошо. В linux есть главный пользователь системы – root. У него полные права администратора. Он может делать все, создавать и удалять учетные записи пользователей, менять глобальные настройки системы.
Но работать под ним не рекомендуется так как можно случайно удалить важные конфигурационные файлы или даже всю систему сразу. Поэтому для повседневного использования а также для работы некоторых приложений создаются дополнительные пользователи с необходимым набором прав и привилегий.
Чтобы не было необходимости для настройки системы каждый раз входить в учетную запись администратора была создана утилита sudo (Substitute User and do, дословно «подменить пользователя и выполнить»). Пользователя предварительно необходимо добавить в группу sudo (подробнее здесь)
Для файлов в linux есть набор правил которые определяют какому пользователю и/или группе разрешены действия с файлом.
- r (read) — разрешение на чтение файла;
- w (write) — разрешение на запись в файл;
- x (execute) — разрешение на запуск файла;
- — (прочерк) — разрешение не установлено.
В линукс все считается файлом в том числе и каталоги поэтом те же права распространяются и на них.
Как уже говорилось выше в системе может быть несколько пользователей. Они разделены на категории:
- Владелец – обозначается латинской буквой u (user). Пользователь создавший файл или назначенный владельцем. Владельцем может быть не только пользователь но и сама система либо приложение
- Группа – обозначается латинской буквой g (group). Несколько пользователей объединенных в группу и связанная с данным файлом. Обычно список всех групп хранится в файле /etc/group.
- Другие – обозначается латинской буквой – o (other). Все остальные не относящиеся к владельцу объекта или группам пользователей.
Разрешения доступа к файлу записываются в строку из девяти символов:
| 1 | rwxrwxrwx |
Первые три символа отражают разрешения для владельца файла. Вторые для группы владельца или пользователей в неё входящие. Последние три для всех остальных. Порядок для разрешения всегда одинаков — «чтение, запись, запуск» (rwx).
Например. Рассмотрим файл с разрешением:
| 1 | rwxrw-r-- |
Как видим, владельцу доступен весь набор, то есть может его читать, изменять и запускать. Члены его группы могут его читать и изменять но не запускать. А всем остальным файл доступен только для чтения.
Если данный пример рассматривать применительно к каталогу то пользователи группы не смогут также запускать файлы находящиеся в этой папке. А для всех других пользователей доступ будет только в режиме для чтения (read only).
Посмотреть какие права выставлены для папок и файлов можно с помощью консольной программы ls с ключом -l (латинская L в нижнем регистре).
Для изменения прав на файлы и папки используется команда chmod (Change Mode). Рассмотренные выше набор правил (rwx) имеет также цифровые значения.
- 0 — никаких прав;
- 1 – только выполнение или запуск;
- 2 — только запись;
- 3 — выполнение и запись;
- 4 — только чтение;
- 5 — чтение и выполнение;
- 6 — чтение и запись;
- 7 — чтение запись и выполнение.
Например. Команда chmod 755 file.txt присвоит файлу file.txt значение rwxr-xr-x (владелец сможет редактировать а любой пользователь сможет его читать и запускать для исполнения).
Специальные права доступа к файлам в linux
В linux есть дополнительные специальные разрешения рассмотрим их кратко:
- SUID – этот бит устанавливается, чтобы во время запуска приложения был подставлен id создателя файла. Такое иногда требуется, например, чтобы запустить программу от имения суперпользователя не прибегая к повышению привилегий текущего пользователя.
- SGID – это аналог SUID но работает для группы. То есть пользователь использующий файл или папку считается членом группы с которой связан файл а не тех групп к которым принадлежит данный пользователь. Например. Этот бит применяется для организации общих папок для групп пользователей.
- Sticky-bit – этот атрбут применяется только к папкам для организации общих каталогов с целью предотвратить удаление файлов созданных другими пользователями. То есть пользователи смогут удалить только файлы созданные ими а файлы добавленные другими пользователя удалить будет нельзя.
Резюме.
За все время эксперимента я сделал вывод, что для меня эта система вполне подходит. Работает быстро, стабильно. И в ней нет свойственного windows загромождения системы. Когда со временем она начинает тормозить. Все необходимые для работы программы мне удалось подобрать. Но, необходимо понять. Что это другая система не похожая на windows.
Сейчас появилось много операционных систем Российского производства но бесплатных для самозанятых и индивидуальных предпринимателей среди не много а если точнее я лично знаю это Simply Linux. Я написал специально статью как установить Simply Linux так что читайте если заинтересовались.
Если не готовы или просто нет желания изучать новое и думать своей головой то лучше ничего не менять. Потому, что придется столкнуться и с проблемами и с необходимостью самостоятельного изучения вопроса по которому возможно ещё нет готовых решений.
В следующих статьях планирую продолжать тему перехода на линкус. Подписывайтесь на новости, что бы не пропустить.













