Начало работы с Linux и Ubuntu. Поиск дополнительного программного обеспечения

  • Блог компании Computer Science Center
  • Идея вводного курса по работе с 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 можно разделить на пять стадий:

    1. Загрузчик.
    2. Запуск и первичная инициализация ядра.
    3. Обнаружение оборудования, загрузка драйверов и подключение файловых систем.
    4. Запуск системных служб (демонов).
    5. Старт графической или консольной пользовательской сессии.

    Мы пройдемся по всем стадиям и узнаем, что происходит во время загрузки типичного дистрибутива Linux, немного отклонившись в сторону BSD, macOS и Android по пути. Во многих случаях это позволит понять, почему процесс загрузки Linux именно такой, какой есть.

    1. Загрузчик

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

    Сегодня загрузкой Linux практически в любом дистрибутиве занимается Grub , изначально разработанный для операционной системы GNU/Hard. Grub гораздо сложнее LILO и фактически сам является полноценной ОС. Он не просто читает конфиг загрузки (обычно это /boot/grub/grub.cfg) прямо с диска, но и позволяет исправить этот конфиг на месте. Grub имеет встроенную командную строку, работает с десятком различных файловых систем и позволяет формировать сложные цепочки загрузки.

    Как только пользователь выбирает нужный пункт меню (либо по истечении тайм-аута), Grub находит связанный с этим пунктом меню образ ядра Linux на диске (обычно это файл /boot/vmlinuz), а также закрепленный за ним образ initramfs (о нем чуть позже), загружает их в память и передает управление ядру.


    Почему vmlinuz?

    Название файла с образом ядра имеет исторические корни. Изначально образ ядра классического UNIX назывался просто unix, но, когда появилась версия ядра для процессоров с защитой памяти, чтобы избежать путаницы, название сменили на vmunix. Буква z вместо x на конце, в свою очередь, означает, что образ сжат с помощью утилиты gzip (алгоритм Deflate, тот же, что в классическом ZIP).

    2. Ядро и initramfs

    Получив управление, ядро начинает первичную инициализацию: запускается подсистема управления памятью, настраивается обработчик прерываний, инициализируются необходимые для дальнейшей работы ядра структуры данных. Когда эта работа будет закончена, ядро распаковывает архив initramfs (обычно он имеет имя вида /boot/initramfs-linux.img и представляет собой архив cpio, сжатый с помощью gzip) в файловую систему в оперативной памяти (tmpfs), делает ее корневой файловой системой и запускает скрипт /init (в различных дистрибутивах имя может отличаться).

    Initramfs включает в себя базовый набор компонентов Linux-дистрибутива: стандартные системные каталоги /bin , /lib , /etc и так далее, простейший командный интерпретатор (обычно ash), набор команд BusyBox, несколько вспомогательных библиотек и набор модулей ядра (драйверов), предназначенных для работы с различными накопителями и файловыми системами.



    Смысл существования initramfs в том, чтобы решить проблему курицы и яйца: загрузить драйверы для подключения реальной корневой файловой системы до того, как она будет подключена. Именно это и происходит, когда система запускает скрипт /init . Он определяет установленные в систему накопители, загружает в ядро драйверы для работы с ними, а затем подключает нужный раздел нужного накопителя (о том, какой именно, ядро узнает благодаря переданному при загрузке параметру root) к корню, перекрывая таким образом содержимое initramfs. Затем скрипт запускает /sbin/init , с которого и начинается следующий шаг загрузки ОС.



    Продолжение доступно только подписчикам

    Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

    Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.

    Еще на этапе предварительного изучения Linux системы (этап: что такое Linux и с какой стороны к нему подойти), пользователь встречает такой термин как Терминал. Кого-то он отпугивает, а у кого-то наоборот появляется желание попробовать

    Иллюстрация linuxformat.com

    Здравствуйте! Я Анатолий Гусляков, модератор сайта Comss.ru. С сегодняшнего дня мы открываем серию интересных тем под общим названием «Вместе изучаем Linux». Темы обсуждений будут в виде статей или сообщений, в которых будут рассматриваться различные материалы по изучению Ubuntu и его производных систем. Материал будет выкладываться не только администрацией ресурса, но и пользователями, желающими поделится своими знаниями (интересны именно личные знания, без копипаста со сторонних ресурсов). Если будут выкладываться объемные темы, предварительно необходимо обговорить с администрацией ресурса, возможно предложенная тема будет выложена в виде отдельной статьи.

    Цель — изучение азов Linux систем. Методика, наверное, не совсем обычная, учителей не будет, вернее, каждый пользователь принимающий участие, и будет являться учителем. Открыто в добродушной и теплой обстановке мы будем делиться своими знаниями. Каждая тема обсуждения (урока) будет заканчиваться практическим закреплением новых знаний на своей системе и комментариями со скриншотами.

    Начнем первое обсуждение!

    Терминал и полезные команды

    Еще на этапе предварительного изучения Linux системы (этап: что такое Linux и с какой стороны к нему подойти), пользователь встречает такой термин как Терминал. Кого-то он отпугивает, а у кого-то наоборот появляется желание попробовать (а почему бы не попробовать себя в роли программиста? 🙂) .

    Что такое Linux

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

    Терминал — графическая программа эмулирующая консоль, говорит нам пользовательская документация с сайта help.ubuntu.ru.

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

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

    Примеры наиболее популярных команд (терминал можно запустить с помощью горячих клавиш: Ctrl+Alt+T):

    (обновление индекса пакетов)

    (непосредственное обновление программ)

    Рассмотрим составляющие команды:

    • sudo — команда запуска с правами администратора (после ее ввода необходимо ввести пароль администратора, сам пароль не виден, но пугаться не стоит, он вводится и затем жмем клавишу enter);
    • apt-get — является мощным инструментом по установке и обновлению пакетов;
    • update — обновление списка пакетов, upgrade — обновление самих пакетов.

    — установка программы;

    — удаление программы;

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

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

    И напоследок несколько интересных команд:

    — команда выводит на экран версию ядра Linux;

    — список активных сетевых соединений;

    — команда хорошего настроения

    Популярные эмуляторы терминала

    Как оказывается есть различные эмуляторы терминала. Каждый их них по-своему интересен.

    Рассмотрим наиболее популярные эмуляторы терминала:

    Guake — ниспадающий терминал, напоминающий консоль из популярной игры Quake. Терминал загружается в память, поэтому вызов терминала происходит быстрее стандартного терминала. Доступен в репозитории Ubuntu, поэтому установить можно из Центра приложений Ubuntu.

    Final term — «умный» эмулятор терминала. Запоминает вводимые команды и при следующем наборе предлагает их в выпадающем меню. Как и большинство эмуляторов терминала, Final term поддерживает работу горячих клавиш, но через редактирование файла настроек. К сожалению, при ознакомлении он завис, но на это есть объяснение, Final term длительное время не выходит из этапа альфа тестирования.

    Переходим к установке. На момент написания данной статьи репозиторий программы не работал, поэтому устанавливать будем из исходников. Дополнительный инструмент Git, который установим для установки Final term нам пригодится в дальнейшем для установки других программ.

    (необходимые довольно популярные инструменты)

    (дополнительные пакеты для GTK)

    (загружаем исходники)

    (переходим в папку finalterm)

    (создаем папку build)

    (переходим в папку build)

    (инструмент для автоматической сборки программы из исходного кода)

    (непосредственно установка)

    Terminator — кроссплатформенный эмулятор терминала, поддерживающий системы Microsoft Windows, Mac OS X, Linux , Unix X11. Удобный эмулятор терминала, позволяет создать горизонтальные и вертикальные вкладки, настроить отображение интерфейса, множество горячих клавиш и подключить дополнительные плагины.

    Установить можно из Центра приложений Ubuntu.

    RXVT (цветной терминал с поддержкой unicode) — очень легковесный эмулятор терминала. Никаких настроек не обнаружил. По минимализму напоминает встроенный XTerm, однако в RXVT удалены некоторые функции, такие как: эмуляция Tektronix 4014 и конфигурирование в инструментальном стиле.

    Доступен в родном репозитории Ubuntu.

    Ну а тем, кто продолжает использовать стандартный Терминал предлагаю его немного украсить рисунком, например пингвином по имени Tux (официальный талисман Linux).

    Всем отличного настроения. До встречи в обсуждениях темы.

    Комментарии и отзывы

    Добавляя комментарий, ознакомьтесь с Правилами сообщества

    В этой статье пойдет речь об освоении ОС Linux. Других UNIX подобных систем, таких как FreeBSD, AIX и Solaris, мы коснемся в следующей статье.

    Прежде всего вам нужно запастись терпением и желанием изучать новое. Нового будет очень много, особенно если ранее вы не сталкивались с консолью. Первое с чего нужно начать — это выбор дистрибутива, и не спешите ставить Ubuntu, толку будет 0, совсем. Я вас уверяю, что поставив его вы не освоите консоль, Ubuntu слишком дружелюбная.

    Пути изучения

    Сложный путь

    Мой опыт изучения начинался с Gentoo — это сложно, муторно, интересно и дает огромный опыт. Если есть много времени и желания изучать как устроены ОС на ядре Linux — в путь. Другой дистрибутив который вам даст опыт — Slackware. Оба изучать смысла нет, стоит остановится на одном. По сложности они схожи, но Gentto сложно ставится и работает с лучшим установщиком программ — Portage, а Slackware — имеет некоторые сложности с нормальными пакетными установщиками.

    Нормальный путь

    В промышленно применении вы вряд ли встретите Gentoo или Slackware, скорее всего вы увидите Red Hat Enterprise Linux, Centos или иногда Debian, реже это будут производные дистрибутивы на rpm пакетах (OpenSuse). Собственно их и нужно по-хорошему изучать.

    Бесполезный путь

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

    Как изучать

    Для начала нужно установить выбранные дистрибутив, желательно на реальное железо. После установки (а если это Gentoo дистрибутив в процессе) сделайте конфигурацию ядра под ваше железо, это даст вам понимание как собирается ядро, и зачем. Вы запомните что делают команды lspci и lsusb, и многие другие. Так же это вам позволит освоить работу в консоли. Лучше всего если у вас будет стоять операционная система на компьютере для каждодневного использования.

    Ошибки

    Коллекционирование материалов

    Не надо этого делать, вы не прочитаете ни одну из скаченных книг. Очень часто люди начиная что то изучать скачивают «100 книг по Linux».

    Как начинающим Линуксойдам начать использовать Linux терминал

    Не повторяйте эту ошибку.

    Курсы

    Нет. Если вы пойдете на курсы за 50000 рублей, то это не значит что вас там чему то научат. Единственное что вы вынесете с них — диплом. И да, всем на него будет пофиг.

    Возможно статья будет наполнятся еще, я пока не знаю.

    Заучивание команд

    Жрет много времени толку мало, если кратко.

    Вывод

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

    Учитесь новому каждый день, это полезно.

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

    Первый этап — загрузка ядра — не зависит от типа операционной системы. Выбор устройства, с которого будет происходить загрузка (жёсткий диск, лазерный диск, дисковод), выполняют подпрограммы из ПЗУ компьютера — BIOS. Поиск ядра системы (возможно, нескольких) и настройку параметров ядра выполняет загрузчик , находящийся на выбранном для загрузки устройстве. Ни то, ни друге не нуждается в дополнительной настройке, пока не возникнет нештатная ситуация. Загрузчик (LInux LOader, LILO) распознаёт несколько способов загрузки и несколько вариантов настройки ядра, поэтому при старте он предлагает выбрать один вариант из нескольких. В меню LILO следует выбрать «linux-up».

    Загрузка системы происходит автоматически на основании параметров, переданных загрузчиком, и информации, полученной при самонастройке. Каждая системная служба при запуске выводит на консоль диагностику («готово»), («пропущено») и («сбой»). Если всё в порядке, все сообщения должны иметь вид. Сообщения возникают в случаях, когда система решает, что данную службу запускать не за чем: например, при попытке загрузить драйвер несуществующего устройства. Сообщение означает, что системную службу запустить по каким-то причинам не удалось.

    Сообщения и не сигнализируют о том, что операционная система «испорчена», скорее — о том, что настройка или окружение компьютера изменились неожиданным для него образом. Например, если система настроена получать сетевой адрес автоматически, однако сервер, выдающий адреса, в сети отсутствует, сетевая служба выдаст сообщение, а система продолжит обычную загрузку. Проконтролировать загрузку системы можно, изучив системные журналы , прежде всего тот, что выдаётся командой dmesg .

    В процессе работы активно несколько виртуальных консолей . Каждая виртуальная консоль доступна по нажатию Alt и функциональной клавиши с номером этой консоли. Так, в ALT Linux после загрузки системы функции системной консоли берёт на себя 12-я виртуальная консоль (Alt F12 ). Если запущена графическая подсистема X11, она занимает седьмую консоль, а для переключения в текстовый режим описанные клавиши нужно нажимать вместе с Ctrl : Ctrl Alt F1 , Ctrl Alt F2 и т. д.

    нельзя выключать, просто лишив компьютер электропитания. Множество информации, которая должна располагаться на диске, система держит в оперативной памяти для повышения быстродействия. Неожиданное выключение питания приводит к потере этой информации. Останавливать систему следует с помощью команды shutdown -h now . При этом сначала будут остановлены системные службы, затем размонтированы файловые системы, а затем (если это возможно) компьютер отключится. Если программное отключение невозможно, на экран выведется соответствующее сообщение, и питание можно отключить кнопкой Power .

    Если компьютер поддерживает протокол работы ACPI, нажатие на кнопку Power приводит не к выключению электропитания, а к передаче системе ACPI-сообщения о том, что кнопка Power была нажата. При получении такого сообщения система выполняет те же действия, что и shutdown . Только в этом случае допустимо выключение кнопкой Power .

    Третий вариант — нажать на клавиатуре Ctrl Alt Del , после чего система пойдёт на перезагрузку (останов и немедленная повторная загрузка). Эти клавиши не имеют никакого собственного действия на систему, такая реакция — свойство ядра, которое можно отключить. Дождавшись начала загрузки (например, меню LILO), вы можете выключить компьютер.

    Останов системы и выключение компьютера

    Включение и выключение компьютера

    В существует ровно один пользователь, права которого существенно выше прав остальных пользователей системы. Он называется («корень»), или суперпользователь . Ему соответствует учётная запись с именем и идентификатором пользователя 0. Для выполнения административных действий следует зарегистрироваться в системе под этим именем. Никаких других работ, кроме администраторских, выполнять от имени пользователя не рекомендуется, так как цена ошибки возрастает в несколько раз.

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

    Для временного выполнения действий с правами существует команда su — . Выполнять эту команду могут только члены группы («штурвал»). Членство в группе определяется содержимым файла. В случаях, когда требуется передать пользователю только часть полномочий, рекомендуется применять пакет sudo.

    Добавить нового пользователя можно при помощи команды useradd входное_имя с необязательными дополнительными параметрами. Результат работы этой команды может быть весьма различен в зависимости от схемы хранения учётных записей. В ALT Linux используется схема TCB, в которой при добавлении новой учётной записи добавляется новая строка в файл, новый подкаталог и файл shadow в нём. Для совместимости с другими схемами может содержать только латинские буквы, цифры и символ подчёркивания. Для задания полного имени пользователя можно использовать ключ.

    Изменить пароль пользователя может либо сам пользователь, либо суперпользователь. Не задавайте пароль, который легко угадать или подобрать! В ALT Linux применена довольно строгая система проверки паролей. Эта схема различает строчные и прописные латинские буквы, цифры, и прочие символы.

    Новичку о Linux. FAQ

    Хороший пароль должен быть не короче восьми символов, содержать символы хотя бы трёх видов, причём большие буквы в начале и цифры в конце в счёт не идут. Так, например, пароль считается слабым, а — сильным.

    Разумеется, в пароль не должны входить английские слова. Однако, если этих слов не меньше трёх и разделены они не только пробелами, пароль — такой, как — также считается сильным. При вводе пароля на экран ничего не выводится. Пример:

    teacher# useradd -c «Аксён Викулович Омметров» axen teacher# passwd axen Enter new password: Re-type new password: passwd: all authentication tokens updated successfully.

    Удалить учётную запись, домашний каталог и почтовый ящик пользователя можно с помощью команды userdel -r входное_имя . Если опустить, домашний каталог и почтовый ящик не удаляются.

    Для изменения параметров существующей учётной записи используйте утилиту usermod . В частности usermod -L входное_имя временно запрещает использование соответствующей учётной записи, а usermod -U входное_имя — отменяет запрет.

    Непосредственной установкой и удалением программных продуктов (пакетов ) в ALT Linux занимается утилита rpm. Однако администратору использовать её неудобно, потому что большинство пакетов не могут нормально работать, если в системе не установлены некоторые другие, поэтому требуется сначала установить их. Те, в свою очередь, могут зависеть ещё от каких-нибудь пакетов, и так далее. Решением этой проблемы занимаются утилиты семейства apt: при установке одного пакета вычисляются также все, от которых он зависит, после чего в систему добавляется набор пакетов, необходимый для работы.

    Кроме того, apt может брать пакеты для установки из нескольких источников. Все источники перечисляются в файле. Для добавления каждого дистрибутивного CD в список источников пользуйтесь командой apt-cdrom add . Поиск в источниках пакета, описание которого содержит определённую подстроку осуществляется командой apt-cache search . Поиск лучше не производить от имени суперпользователя, так как, для совместимости с системными сценариями, пользователю устанавливается только английский язык интерфейса. Для установки пакета в систему служит команда apt-get install имя_пакета . Пример:

    teacher$ apt-cache search CDR cdda2wav — Утилита для копирования треков с Audio CD cdrecord — Консольная утилита для записи CD/DVD k3b — Программа записи CD mkisofs — Утилита для создания образов ISO9660 xcdroast — Графическая программа для создания CD teacher$ su — Password: teacher# apt-get install xcdroast Reading Package Lists… Done Building Dependency Tree… Done The following extra packages will be installed: cdda2wav The following NEW packages will be installed: cdda2wav xcdroast 0 upgraded, 2 newly installed, 0 removed and 1 not upgraded. Need to get 0B/2056kB of archives. After unpacking 4749kB of additional disk space will be used. Do you want to continue? Get:1 cdrom://Junior2.3 ALT/main cdda2wav 5:2.0-alt4 Get:2 cdrom://Junior2.3 ALT/main xcdroast 6:0.98alpha15-alt2 Fetched 2056kB in 0s (11.8MB/s) Committing changes… Preparing… ###################################################### 1: cdda2wav ###################################################### [ 50%] 2: xcdroast ###################################################### Done.

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

    При использовании системы с профилем перед выполнением каких-либо административных действий необходимо остановить использование удалённого с помощью системного сценария /etc/init.d/etcmount stop .

    Установка программных продуктов

    Если в домашних каталогах пользователей (особенно сетевых) накопится слишком много ненужных файлов, места для нужных файлов может не хватить. Информация по заполненности файловых систем выводится командой df (disk free, свободное место на диске). Если поле или содержат нулевое или отрицательное значения, изменять такую файловую систему разрешено только суперпользователю. Рекомендуется выявить, в каком подкаталоге содержится больше всего ненужных данных, и попросить хозяина почистить его (а не то сделать это в приказном порядке, применив права суперпользователя). Для определения размера каталогов можно использовать утилиту df .

    Пример анализа файловой системы:

    teacher$ df Файловая система Разм Исп Дост Исп% смонтирована на /dev/hda1 2,3G 1,5G 728M 67% / /dev/hda3 1,5G 1,4G 48M 96% /home $ su — Password: # du —max-depth=1 /home/chroot/nethome 5.4M /home/chroot/nethome/alex 2.7G /home/chroot/nethome/greedy 4.0M /home/chroot/nethome/netuser 2.7G /home/chroot/nethome # du —max-depth=1 -k /arc/home/george | sort -n | tail -4 25314 /home/chroot/nethome/greedy/Pass 56106 /home/chroot/nethome/greedy/.phoenix 2608536 /home/chroot/nethome/greedy/pictures 2764538 /home/chroot/nethome/greedy

    В приведённом примере явным пожирателем свободного места выступает хозяин каталога (2,7 гигабайта) — скорее всего, пользователь — причём более 2,5 гигабайтов приходится на единственный подкаталог.

    Переполнение файловых систем

    Установленную и работающую на машине систему требуется обновлять только если обновления исправляют недостатки в системе безопасности (т. н. security updates). Кроме того, может потребоваться обновление достаточно старой системы для совместимости с новыми форматами файлов или сетевыми протоколами. Обновление списка пакетов производится с помощью команды apt-get update , а обновление самой системы в соответствии с обновлённым списком — с помощью apt-get dist-upgrade .

    Linux: основы работы в Линукс

    О чем курс

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

    На занятиях будет предложено большое количество практических примеров.

    После прохождения курса LINUX для начинающих, Вы получите следующие знания и умения:

    • Научитесь устанавливать Linux.
    • Изучите команды для работы в консоли с Unix-подобными операционными системами.
    • Научитесь управлять системными службами Linux.
    • Писать небольшие программы (скрипты) на командном интерпретаторе BASH
    • Читать и понимать логи системы, настройка службы логгирования.
    • Запускать WINDOWS приложения в Linux при помощи эмулятора wine

    Знание LINUX помогут Вам создавать и поддерживать высокопроизводительные и надежные сервера. Сервера, которые смогут работать как в локальной сети, так и в Интернете

    У любого пользователя может возникнуть интерес попробовать операционную систему Linux . Так когда-то было и со мной. В интернете куча литературы, но всегда остаётся актуальным вопрос: «С чего начать?». Кто-то видел линукс у друзей, кто-то нашёл видео или читал статьи в интернете, но всё это чаще готовые варианты. А если вы сами хотите установить такую ОС к себе на компьютер, то у вас возникнет куча вопросов. Первый вопрос который меня волновал – выбор дистрибутива…

    Я перерыл кучу литературы, но мнения разделялись, да и разделяются до сих пор. Кто-то обеими руками за Debian , кто-то за Mandriva , RedHat и т.д. В настоящее время существует более 1300 сборок ОС Linux и выбор одной конкретной из них заставляет закоренелого виндузятника глубоко задуматься. Я пробовал ставить разные, но это не всегда удавалось в силу конфликтов оборудования да и просто неопытности. Первый удачно установившийся дистрибутив был OpenSuse 11.1, потомDebian . Загвоздка в том, что у этих дистрибутивов разная файловая структура, программы и прочее. Это ещё сильней запутало меня, но я продолжал эксперименты до тех пор, пока не остановил свой выбор на Ubuntu . О ней и пойдёт речь.

    Я думаю стоит отметить, что Ubuntu основана на дистрибутиве Debian , который в свою очередь является весьма популярным у системных администраторов. Что значит «основана»? Я попробую провести параллель с ОС Windows . Представьте себе обычный лицензионный диск Windows . Представили? А теперь представьте какую-либо сборку, пусть даже пресловутый ZverDVD . Так вот,Ubuntu является «сборкой» Debian ’a , которая имеет обновлённое ядро, патчи (заплатки), собственные программы и репозитории. Позже я расскажу про всё это в отдельности. Я думаю не стоит слишком углубляться в отличия Ubuntu от Debian , добавлю лишь, что дистрибутив этот весьма популярен и новые версии Ubuntu выходят каждые полгода (в апреле и октябре). И всё же, почему Ubuntu ? Да просто она отвечает тем требованиям, которые ставит перед новой ОС начинающий пользователь.

    1. Простота и лёгкость в установке . Я хочу вставить диск, установить, посмотреть и чтобы не было лишних танцев с бубном (хотя при дальнейшей работе без танцев с бубном не обойдётся). Отмечу, что работая в Windows вы можете являться простым пользователем и не заморачиваться как и что работает, а в случае возникновения нечастых проблем или затруднений просто обратиться к знающим и понимающим людям, которые могут вам помочь. В случае с линуксом вам придётся во многом самостоятельно разбираться и самому стать «знающим» человеком. Но не стоит бояться, вы же не за этим сюда пришли. Как бы то ни было вы всегда можете задать вопрос, а мы в свою очередь постараемся вам помочь.
    2. Чтобы всё работало . Установили? Вот вам и рабочий стол и менюшки всякие и программы многие, и браузер, и пакет офисных программ и апплет настройки сети (однако мы будем учиться работать без него и настраивать сеть вручную). Есть даже проигрыватель, но он не умеет по умолчанию воспроизводить многие форматы аудио\видео, я объясню позже почему так и как это решить.
    3. Не хочу ничего потерять. На разделе с ОС Windows много приложений и документов которые я не хочу потерять при установке Linux . Ubuntu предложит вам разделить жёсткий диск на части, сбережёт Windows или любую другую ОС и установит свой загрузчик, который умеет грузить как Windows так и Linux . Современные дистрибутивы Linux , считая Ubuntu имеют замечательную возможность – запуск с диска или флешки без установки на жёсткий диск компьютера. Дистрибутивы, умеющие это делать, называются LiveCD /LiveDVD (сиречь «живой диск»). Я советую перед первой установкой сначала попробовать запустить ОС с установочного диска . Так вы будете точно знать, что конкретный дистрибутив справиться с железом вашего компьютера и не возникнет проблем при установке. Кстати велика вероятность, что при запуске Ubuntu с диска LiveCD вы сможете, вбив настройки сети, пользоваться интернетом и сетью. Вы сможете работать с текстовыми документами и таблицами. Сможете просматривать картинки и прочее-прочее. Просто попробуйте загрузиться с диска. Не стоит забывать что работа с LiveCD это всё-таки не работа в полноценной, установленной на жёсткий диск операционной системе, так что готовьтесь к «тормозам» при чтении с компакт-диска в попытке открыть ту или иную программу.

    Вы всегда можете оставить в комментариях свои замечания и пожелания по доработке, изменению или исправлению статьи. Мы работаем для вас!

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

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

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

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

    С тех пор, такой способ ввода использовался во многих системах, в том числе DOS и OS/2 от Apple, пока не был придуман графический интерфейс. Затем текстовый режим терминала был успешно вытеснен, но его до сих пор продолжают использовать там, где это нужно.

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

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

    Консоль - это физическое оборудование для управления сервером. Когда к серверу нет доступа из сети, для управления им можно использовать только консоль.

    TTY - это файл устройства, который создается ядром и предоставляет доступ к терминалу для программ. Это могут быть файлы /dev/tty для постоянных текстовых терминалов и /dev/pts/* для эмуляторов терминалов. Вы можете выполнить команду или отправить сообщение просто записав данные в этот файл, и также получить результат, прочитав данные из этого файла.

    Эмулятор терминала - это графическая программа, которая предоставляет вам доступ к tty или pts терминалу. Например, Gnome Terminal, Konsole, Terminix, Xterm и многие другие.

    Командная оболочка - устройство tty занимается только передачей и приемом данных, но все эти данные должен еще кто-то обрабатывать, выполнять команды, интерпретировать их синтаксис. Командных оболочек достаточно много, это bash, sh, zsh, ksh и другие, но чаще всего применяется Bash.

    Ну и командная строка - это то место куда вы будете вводить свои команды, приглашение терминала для ввода.

    Теперь, когда мы разобрались что такое терминал Linux и знаем все основные принципы, перейдем к практике работы с ним.

    Как открыть терминал Linux?

    Есть несколько способов получить доступ к терминалу. Ваша система инициализации по умолчанию создает 12 виртуальных терминалов. В одном из них - обычно седьмом, запущена ваша графическая оболочка, но все другие могут быть свободно использованы. Для переключения между терминалами можно использовать сочетания Ctrl+Alt+F1-F12. Для авторизации нужно будет ввести логин и пароль.

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

    Второй способ позволяет открыть виртуальный терминал прямо в графическом интерфейсе с помощью эмулятора терминала. Эмулятор терминала linux работает с файлами в каталоге /dev/pts/* и еще называется псевдотерминалом, потому что не использует tty.

    В Ubuntu вы можете запустить терминал linux нажав сочетание клавиш Ctrl+Alt+T :

    Также его можно найти в меню приложений Dash:

    Как видите, открыть командную строку в linux очень просто.

    Выполнение команд в терминале

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

    Вы можете набрать что-либо и убедиться, что это работает:

    Чтобы выполнить команду достаточно написать ее и нажать Enter.

    Более того, командная оболочка Bash поддерживает автодополнение, поэтому вы можете написать половину команды, нажать TAB и если на такие символы начинается только одна команда, то она будет автоматически дополнена, если же нет, то вы можете нажать два раза TAB, чтобы посмотреть возможные варианты.

    Точно такая же схема работает для путей к файлам и параметров команд:

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

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

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

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

    $ команда опции параметр1 параметр2...

    Опции часто необязательны и уточняют тот или иной аспект работы программы. Они записываются в форме черточка и символ или двойная черточка и слово. Например -o или --output. Приведем пример для команды ls. Без опций и параметров:

    С параметром, указывающим какую папку посмотреть:

    С опцией -l, вывести в виде списка:

    В с опцией и параметром:

    Можно комбинировать две опции:

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

    Выводы

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

    Об авторе

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