Лабораторная работа №овка операционной системы Linux
Лабораторная работа №4.Установка операционной системы Linux
Цель работы: Приобрести опыт установки операционной системы Linux.
План проведения занятия:
1. Закрепить знания о работе с программой VirtualBox.
2. Создать виртуальную машину исходя из предоставленной информации о минимальных аппаратных требований предлагаемой к установке и изучению операционной системы (ОС).
3. Установить ОС на виртуальный компьютер. Разобрать процесс установки ОС на этапы.
4. Познакомиться с основными группами программ входящих в состав ОС.
5. Подготовить отчет и сдать преподавателю в соответствии с графиком.
Аппаратная часть: персональный компьютер, сетевой или локальный принтер. Программная часть: программа VirtualBox, установочный диск либо образ диска с ОС
Linux Ubuntu 9, текстовый процессор Microsoft Word.
Краткие теоретические сведения:
Linux (полное название GNU/Linux, произносится «гну слэш линукс́ ») — общее название UNIX-подобных операционных систем на основе одноимённого ядра и собранных для него библиотек и системных программ, разработанных в рамках проекта GNU.
GNU/Linux работает на PC-совместимых системах семейства Intel x86, а также на IA64, AMD64, PowerPC, ARM и многих других.
К операционной системе GNU/Linux также часто относят программы, дополняющие эту операционную систему, и прикладные программы, делающие её полноценной многофункциональной операционной средой.
В отличие от большинства других операционных систем, GNU/Linux не имеет единой «официальной» комплектации. Вместо этого GNU/Linux поставляется в большом количестве так называемых дистрибутивов, в которых программы GNU соединяются с ядром Linux и другими программами.
Дистрибутив — это не просто набор программ, а ряд решений для разных задач пользователей, объединённых едиными системами установки, управления и обновления пакетов, настройки и поддержки.
Самые распространённые в мире дистрибутивы:
• Ubuntu — быстро завоевавший популярность дистрибутив, ориентированный на лёгкость в освоении и использовании.
• openSUSE — бесплатно распространяемая версия дистрибутива SuSE, принадлежащая компании Novell. Отличается удобством в настройке и обслуживании благодаря использованию утилиты YaST.
• Fedora — поддерживается сообществом и корпорацией RedHat, предшествует выпускам коммерческой версии RHEL.
• Debian GNU/Linux — международный дистрибутив, разрабатываемый обширным сообществом разработчиков в некоммерческих целях. Послужил основой для создания множества других дистрибутивов. Отличается строгим подходом к включению несвободного ПО.
• Mandriva — французско-бразильский дистрибутив, объединение бывших Mandrake и Conectiva.
• Archlinux — ориентированный на применение самых последних версий программ и постоянно обновляемый, поддерживающий одинаково как бинарную, так и
установку из исходных кодов и построенный на философии простоты KISS, этот дистрибутив ориентирован на компетентных пользователей, которые хотят иметь всю силу и модифицируемость Linux, но не в жертву времени обслуживания.
Помимо перечисленных, существует множество других дистрибутивов, как базирующихся на перечисленных, так и созданных с нуля и зачастую предназначенных для выполнения ограниченного количества задач.
В отличие от Microsoft Windows (Windows NT), Mac OS (Mac OS X) и коммерческих
UNIX-подобных систем, GNU/Linux не имеет географического центра разработки. Нет и организации, которая владела бы этой системой; нет даже единого координационного центра. Программы для Linux — результат работы тысяч проектов. Некоторые из этих проектов централизованы, некоторые сосредоточены в фирмах. Многие проекты объединяют хакеров со всего света, которые знакомы только по переписке. Создать свой проект или присоединиться к уже существующему может любой и, в случае успеха, результаты работы станут, известны миллионам пользователей. Пользователи принимают участие в тестировании свободных программ, общаются с разработчиками напрямую, что позволяет быстро находить и исправлять ошибки и реализовывать новые возможности.
История развития UNIX-систем. GNU/Linux является UNIX-совместимой, однако основывается на собственном исходном коде
Именно такая гибкая и динамичная система разработки, невозможная для проектов с закрытым кодом, определяет исключительную экономическую эффективность GNU/Linux. Низкая стоимость свободных разработок, отлаженные механизмы тестирования и распространения, привлечение людей из разных стран, обладающих разным видением проблем, защита кода лицензией GPL — всё это стало причиной успеха свободных программ.
Конечно, такая высокая эффективность разработки не могла не заинтересовать крупные фирмы, которые стали открывать свои проекты. Так появились Mozilla, OpenOffice.org, свободный клон Interbase (Borland).
Системные требования OC Linux Ubuntu 9:
• Процессор: 1 GHz, 32-разрядный;
• Оперативная память: 256 Mb (32-bit)
• Свободное дисковое пространство: 2 Гбайт HDD + 256 Мбайт для swap.
• Видеоадаптер: 64 MB памяти;
• Устройство чтения DVD-дисков.
В процессе установки не забываем регистрировать основные этапы установки в тетради.
1. Создадим виртуальную машину руководствуясь инструкциями лабораторной работы 1, учитываем тип операционной системы, а также минимальные системные требования.
2. Загружаем предлагаемый образ для установки Linux Ubuntu и выбираем язык установки (рис. 24):
Рис. 24. Выбор языка установки
Рис. 25. Меню установки:
3. Выбираем пункт «Установить Ubuntu» (рис. 25). И после непродолжительного ожидания увидим приветствие с предложением начать установку:
Рис. 26. Подготовка к установке
4. Нажимаем кнопку «Forward» («Далее»), и увидим меню, в котором можно выбрать часовой пояс (рис. 27):
Рис. 27. Настройка часового пояса
5. Нажимаем кнопку «Forward» («Далее»), и увидим меню выбора раскладки клавиатуры (рис. 28):
Рис. 28. Настройка раскладки клавиатуры
6. Нажимаем кнопку «Forward» («Далее»), и увидим меню подготовки разделов жесткого диска к установке Ubuntu (рис. 29).
Рис. 29. Подготовка дискового пространсва
7. Выбираем пункт «Использовать весь диск». Пункт «Указать разделы вручную (расширенно)» выполняется только по указанию преподавателя, иначе нажимать не следует.
8. Нажимаем «Forward» («Далее») и видим меню для идентификации будущего пользователя ОС. Необходимо задать имя (Коля, Вася, Маша и т.п.). А также используемое при входе. Во избежание проблем с утратой логина и пароля всем студента задать:
o имя используемое для входа в систему (login) – user
o пароль чтобы держать запись в сохранности (password) – 123456
На вопрос о том, что пароль слишком простой и надо его сменить ответить отрицательно.
o имя компьютера в сети уточнить у преподавателя.
Рис. 30. Меню идентификации будущего пользователя
9. После заполнения всех пунктов меню идентификации, нажимаем «Forward» («Далее»), и видим окно со сводной информацией о будущей ОС.
Рис. 31. Сводка к установке системы
10. Окно со сводкой о будущей системе представлено — последняя возможность отменить установку или внести какие-то изменения (рис. 31). Нажимаем кнопку «Установить». И в следующем возникшем окне нажимаем «Перезагрузить».
11. Инструкцией предполагается извлечение физического диск, но так как мы работаем с образом, нам необходимо его извлечь, для этого, во время перезагрузки, в верхнем меню окна программы VirtualBox находим пункт «Устройства», и в появившемся меню пункт «Отключить CD/DVD-ROM» (рис. 32). Затем нажмите сочетание клавиш Ctrl+R – перезагрузка виртуальной машины.
Рис. 32. Меню отключения CD/DVD-ROM
12. И после небольшого диалога с вводом имени пользователя и пароля (имя пишется без заглавных букв) мы увидим ОС Linux Ubuntu с подключенным рабочим столом
Рис. 33. ОС Linux Ubuntu с подключенным рабочим столом GNOME.
13. Установите дополнения к гостевой ОС (см. лаб. 1). После монтирования нового носителя (смотри на рабочем столе), найдите на нем файл avtoran.sh, запустите его двойным кликом и в появившемся диалоговом окне нажмите запустить через терминал, далее процесс будет автоматизирован.
14. Подготовить отчет о выполнении лабораторной работы, описать основные этапы установки ОС. Сдать отчет преподавателю в соответствии с графиком.
1. Что такое Linux?
2. Что такое дистрибутив?
3. Перечислите основные дистрибутивы Linux. Объясните в чем их отличие.
4. Какую файловую систему использует для работы установленный Вами дистрибутив?
5. Перечислите основные этапы установки операционной системы.
Лабораторная работа №5. Терминал и командная оболочка операционной системы
Цель работы: Приобрести опыт работы с командной строкой ОС Linux, изучить основные команды (рабочая станция, рабочий директорий, пользователи, дата, календарь, список процессов, завершение работы)
План проведения занятия:
Ознакомиться с краткими теоретическими сведениями.
Приобрести навыки работы в терминале Linux. Научиться создавать новых пользователей при помощи терминала Linux, задавать несложные команды.
Подготовить отчет для преподавателя о выполнении лабораторной работы и представить его в соответствии с графиком.
Аппаратная часть: персональный компьютер, сетевой или локальный принтер. Программная часть: операционная система Linux Ubuntu, текстовый процессор Microsoft Word.
Краткие теоретические сведения:
Стандартные команды в Linux отличаются от команд DOS и Windows — обычно они короче. При работе с командной строкой как обычно мигающий курсор обозначает позицию ввода текста, командная строка начинается с текущего пути и имени компьютера, за которым следует символ $, % или #. Последний означает, что команды будут выполняться от имени суперпользователя root. Символ
означает путь к текущей домашней директории пользователя.
Большинство команд в Linux, не требующих вывода информации пользователю, в случае успешного завершения вообще ничего не выводят на экран. Выводятся только ошибки и предупреждения в случае нарушения нормального выполнения команды. Т.е. в Linux действует общий принцип «молчит, значит работает».
В любом терминале Linux стрелками вверх/вниз на клавиатуре можно листать историю команд, которая сохраняется между сеансами работы и различается для разных пользователей и хостов. Набранное частично команда или имя файла или каталога в текущей директории может быть автоматически дописано клавишей TAB. Если найдено более одного варианта и однозначно продолжить команду по TAB невозможно, то выводятся все подходящие варианты.
При работе в графической среде удобны эмуляторы терминала. Как правило они поддерживают закладки — несколько терминалов в одном окне, поддерживают цветовые схемы. Наиболее распространены эмуляторы терминала Gnome Terminal, Konsole, XFCE Terminal.
Терминал — эмулятор консоли. Именно в терминале мы будем работать с CLI (интерфейсом командной строки). Терминал часто также называют консолью или шеллом (от англ. shell — оболочка). В будущем для объяснения я буду использовать все три эти понятия, главное не забывайте что они синонимы.
Многие пользователи и в особенности администраторы серверов под Linux в работе используют именно консоль, а не графическую оболочку, это связано с тем, что настройка и конфигурация Linux в основном заключается, в редактировании текстовых конфигурационных файлов. Даже если вы являетесь простым пользователем ОС Linux, большинство инструкций по настройке написаны с использованием консоли и знать основные команды жизненно необходимо.
Стоит обратить внимание на системные каталоги ОС в которых находятся файлы, необходимые для управления и сопровождения системы, а также стандартные программы. Их имена, расположение и содержание почти одинаковы почти во всех ОС Linux, поэтому эти каталоги называют также стандартными. Впрочем, на данный момент эпитет «стандартные» отражает скорее благие пожелания, чем действительность: иерархия каталогов одинакова только для дистрибутивов, связанных единством происхождения, а исторически сложившиеся различия создают опасность несовместимости разных дистрибутивов.
Подключение и конфигурация устройств в операционной системе Linux. Установка программ и компонентов в операционной системе Linux
Цель работы: Получить навыки подключения и конфигурирования устройств, установки программ и компонентов в ОС Linux.
- Краткие теоретические сведения
Linux не является операционной системой, в полной мере поддерживающей технологию самоконфигурирования Plug-and-Play (PnP). Но в состав Linux входят средства, обеспечивающие обнаружение и распознавание устройств, подключенных к системе. Это противоречие (по крайней мере, с первого взгляда) требует пояснений.
Plug and Play представляет собой технологию самоконфигурирования, призванную автоматически обнаруживать и конфигурировать подсоединенные к компьютеру устройства. Полностью соответствующая требованиям РпР система включает четыре разновидности компонентов: PnP BIOS, материнская плата РnР, PnP-устройства, и операционная система РnР.
Большинство современных BIOS и устройств удовлетворяют требованиям самоконфигурирования Plug and Play. Если у вас к тому же и материнская плата РпР, то BIOS установит каналы, порты и адреса для таких устройств, как накопители, мышь и клавиатура. Это конфигурирование завершается еще до начала загрузки операционной системы. Linux может использовать эти каналы для обнаружения и распознавания аппаратуры компьютера с разной степенью достоверности. Успех распознавания в частности зависит от типа устройства.
Технология самоконфигурирования Plug and Play устанавливает связь между устройствами и базовыми компонентами компьютера, такими как процессор и оперативная память. Устройства компьютера обмениваются, используя различные каналы, адреса и порты:
— IRQ (Запросы прерываний). Устройства могут использовать IRQ-порты запросов прерываний, чтобы получить доступ к процессору.
— I/O (Ввод-вывод). Для обмена между отдельными компонентами компьютера необходимо место в адресном пространстве. Это место определяется адресами ввода-вывода (I/O).
— DMA (Прямой доступ к памяти). Некоторые устройства могут обмениваться с памятью посредством каналов прямого доступа (DMA), минуя процессор.
Типы используемых устройствами каналов, адресов и портов зависят от типов устройств и способа подключения этих устройств к компьютеру. Если у вас возникают сложности с такими устройствами, как модем или акустический адаптер, то вполне вероятной причиной может служить попытка системы Linux использовать несоответствующие данному устройству IRQ-порт, I/O-адрес или DMA-канал.
Многие периферийные устройства, используемые в устаревших моделях компьютеров, построены в расчете на работу через шину Industry Standard Architecture (ISA).
Технология самоконфигурирования Plug-and-Play ISA появилась в 1993 году, поэтому большинство ISA-устройств вполне удовлетворяет стандартам РпР. К сожалению, РпР ISA-устройства часто не располагают каналами, подходящими для операционной системы, поэтому процедуру указания каналов, портов и адресов для них приходится выполнять вручную.
Интерфейсный стандарт Peripheral Component Interconnect (PCI) был разработан, в частности, с целью преодоления ограничений стандарта ISA. Шина PCI обладает большим быстродействием, и PCI-устройства могут совместно использовать отдельные IRQ-каналы. Некоторые РпР BIOS в своих настроечных меню предусматривают возможность задания IRQ, I/O и DMA-каналов для отдельных PCI-устройств.
Внешние устройства зачастую проще конфигурировать, поскольку собственных специальных каналов у них нет. Внешние устройства, такие как модемы или принтеры, обычно подключаются к специальному физическому порту. Речь идет о параллельном или последовательном порте, для которого все необходимые каналы уже выделены. Именно эти каналы и используются внешним устройством.
Исключением из этого правила являются внешние устройства с интерфейсом USB.
Шина Universal Serial Bus (USB) не является в полном смысле внешним интерфейсом компьютера. Каждый USB-хаб теоретически может обслуживать до 127 отдельных периферийных устройств. USB поддерживает технологию самоконфигурирования Plug and Play и "подключение на лету", т. е. возможность подсоединять устройства к компьютеру (и отсоединять их от него) без выключения компьютера. Операционная система автоматически распознает новую конфигурацию.
К сожалению, система Linux корректно поддерживает не все разновидности USB-устройств, Хотя некоторые версии системы Linux поддерживают широкий спектр разновидностей USB-устройств, в него не входят, например, сетевые USB-карты. Linux плохо работает с пассивными USB-хабами и не поддерживает загрузку с USB-накопителей на дискетах. Но работу над проблемой поддержки USB-устройств в среде системы Linux продолжают многие разработчики.
Модемы относятся к тому типу периферийных устройств, установка которых в Linux не составляет никакого труда. Обычно, Linux использует Plug-and-Play характеристики модема, чтобы, автоматически его сконфигурировать. Как правило, для установки внешнего модема достаточно подключить его к свободному последовательному порту, установка встроенного — немного сложнее.
Linux поддерживает не все встроенные модемы. Если вы уже приобрели такой модем, попробуйте его установить, если же только собираетесь приобретать, не поскупитесь потратиться на внешний. Если вам придется все же приобретать встроенный модем, постарайтесь, чтобы это не был так называемый "win modem", для которого требуется специальное программное обеспечение Windows.
Большинство последних дистрибутивов Linux поддерживают USB-мышь и USB-клавиатуру. В значительной мере такая поддержка была реализована в разных Linux-дистрибутивах даже до появления ядра Linux Kernel 2.4. Оба устройства описаны в гл. 12 и идентифицируются как интерфейсные USB-устройства для обмена с человеком: USB Human Interface Devices (HID).
Ядро Linux, начиная с версии 2 .2.7, поддерживает USB-устроиства. для надежного оо-служивания USB необходимо ядро версии 2.2.18 или 2.4.2 либо более позднее.
Как правило, установочная программа системы Linux автоматически распознает USB-мышь и/или клавиатуру. Но иногда возникают трудности, поэтому полезно разобраться в том, как USB поддерживает мышь и клавиатуру.
Для начала выполните проверку сообщений ядра с помощью команды dmesg | less. Просмотрите сообщения и попытайтесь найти информацию, касающуюся загрузки USB или USB-устройств. Если ничего похожего нет, попытайтесь разобраться с изменениями в файле /proc/bus/ usb/devices. Время и дату последних изменений можно получить командой ls -l /proc/bus/ usb/devices.
Если по-прежнему ничего, касающегося вашего USB-оборудования, вы не нашли, то, вероятно, необходимые программы не входят в ядро. Можно либо скомпилировать их в состав ядра, либо добавить соответствующие модули. Для USB также необходима файловая система USB-устройств, которую можно смонтировать с помощью следующей команды (из режима корневого пользователя):
# mount -t usbdevfs none /proc/bus/usb
Если все установлено корректно, то USB обеспечивает поддержку нескольких манипуляторов мышь. Linux может сконфигурировать все USB-мыши с помощью одного драйвера /dev/ input/ mice. Если ваш дистрибутив Linux не распознал USB-мышь (или несколько мышей) в рамках описанной ранее процедуры, внесите необходимые изменения в ядро Linux. Если для этого вы хотите добавить модули, убедитесь в том, что среди прочих используется и модуль mousedev. о.
Если указанный драйвер мыши не существует, его необходимо создать. Создайте при необходимости каталог /dev/input, затем создайте узловое USB-устройство с помощью следующей команды:
# mknod /dev/input/mice с 13 63
Если вы предполагаете использовать USB-мышь или несколько мышей с X Window, то вам придется добавить конфигурационные данные об этих устройствах в соответствующий конфигурационный файл XF86Config. Для стандартной USB-мыши можно добавить следующий раздел InputDevice:
Section "InputDevice"
Identifier "USB Mice"
Необходимо также связать это новое устройство ввода с экраном. Если USB-мышь — единственная мышь системы, то она рассматривается как базовое устройство позиционирования, которое можно описать с помощью следующей строки в разделе ServerLayout:
InputDevice "USB Mice" "CorePointer"
Если используется также обычная (не-USB) мышь, необходима еще одна строка Input-Device:
InputDevice "USB Mice" "SendCoreEvents"
Описанные примеры ориентированы на XFree86 версии 4.0. В вашей системе синтаксис добавляемых строк может отличаться в зависимости от версии X Windows и дистрибутива.
Необходимость в установке новых программных пакетов под LINUX возникает в двух основных случаях:
— когда появляется новая версия одного из уже установленных у вас пакетов;
— когда возникает желание или необходимость использовать какой-то пакет, еще не установленный в системе.
Во втором случае это может быть один из пакетов, имеющихся на вашем установочном диске, но не установленный в процессе инсталляции. Однако чаще всего новое ПО вы будете находить в Интернете, тем более, что значительная часть этого ПО бесплатна. Как бы то ни было, но рано или поздно вы все равно окажетесь перед необходимостью установить новый пакет.
Для дистрибутивов существует две основных формы распространения ПО: в исходных текстах и в виде исполняемых модулей. В первом случае пакет ПО обычно поставляется в виде tar-gz архива, во втором случае — в виде пакета (но это не обязательно, исполняемые модули также могут распространяться в виде tar-gz-архива).
Проще всего установить ПО, представленное в виде пакета, содержащего исполняемые файлы. Отметим только, что для инсталляции новых пакетов вы должны войти в систему как пользователь root.
Если пакеты с необходимым вам программным обеспечением нужно еще поискать (и не всегда можно найти), то tar-gz-архив любого ПО для Linux найдется в Интернете непременно. В некоторых случаях такие архивы содержат исполняемые модули приложений. Тогда установка приложения лишь немного сложнее, чем в случае установки из пакета: необходимо просто развернуть архив с помощью программ gunzip и tar, перейти в созданный каталог и можно уже запускать полученное приложение. Но чаще всего приложения поставляются в исходных текстах, т. е. в виде программы на языке Си. Установить их в этом случае немного сложнее, хотя и тут нет ничего невозможного даже для начинающего пользователя. Давайте рассмотрим, как это делается.
Начать стоит с того, что операционная система UNIX родилась на свет одновременно с языком программирования C (Си). Более того, язык C был создан специально для разработки этой ОС, значительная часть UNIX была написана на языке С. ОС Linux тоже написана на Си. Поэтому, а также в соответствии с принципом свободного распространения исходных кодов, многие приложения для Linux распространяются в виде текстов на С (а в последнее время — и на С++). Естественно, что для установки и запуска такого приложения на исполнение, его необходимо предварительно скомпилировать. Для выполнения процедур компиляции обычно используется программа gcc (хотя существуют и некоторые альтернативные разработки).
GNU-компилятор с языка С gcc, содержит в себе 4 основных компонента, соответствующие четырем этапам преобразования исходного кода в исполняемую программу.
Первый компонент — это препроцессор, который модифицирует исходный код программы перед компиляцией в соответствии с командами препроцессора, содержащимися в С-программе. В соответствии с этими командами выполняются простые подстановки текста. Второй — собственно компилятор, который обрабатывает исходный код и преобразует его в код на языке ассемблера. Третий компонент — ассемблер, который генерирует объектный код. И, наконец, четвертый компонент — компоновщик, который собирает исполняемый файл из файлов объектного кода.
Непосредственно процесс инсталляции пакета состоит из следующих шагов:
- Перейти (с помощью команды cd) в каталог, содержащий исходные коды устанавливаемого пакета.
- Выполнить команду ./configure, которая осуществляет конфигурирование пакета в соответствии с вашей системой. Процесс выполнения этой команды занимает довольно длительное время, причем команда выдает на экран сообщения о том, какие именно особенности системы испытываются.
- Выполнить команду make, для того, чтобы скомпилировать пакет.
- После этого можно выполнить (это шаг не является обязательным) команду make check, которая вызывает запуск процедур самотестирования, которые поставляются с пакетом.
- Выполнить команду make install для установки программ, а также файлов данных и документации.
- Заключительный этап состоит в выполнении команды make clean, которая удаляет промежуточные объектные и двоичные файлы из каталога с исходными кодами. Для удаления временных файлов, которые создала команда configure (после чего пакет можно компилировать для другого типа компьютеров), надо выполнить команду make distclean.
В большинстве случаев выполнение этой последовательности команд достаточно для установки нового пакета.
Основная проблема, с которой приходится сталкиваться при инсталляции программ из исходных кодов, связана с конфликтами версий: для вновь устанавливаемого пакета требуются новые версии каких-то системных утилит, которые пока еще не установлены в вашей системе. Более того, часто возникает целая цепочка (или даже дерево): для программы нужна какая-то новая версия утилиты, для последней нужно обновить еще какие-то утилиты, и т. д.. Но, если вы не очень давно устанавливали (или обновляли) дистрибутив, то таких проблем не возникает, и обновление пакета пройдет без затруднений.
Установка и использование G++ в Ubuntu
Добавить в избранное
Главное меню » Ubuntu » Установка и использование G++ в Ubuntu
Эта статья представляет собой подробное руководство по установке и использованию компилятора G++ в системе Ubuntu 20.04 LTS. Вы можете достичь этой цели, установив в вашей системе некоторые инструменты разработки, называемые пакетами, необходимыми для сборки.
Установка g++ в системе Ubuntu 20.04
Выполните указанные ниже шаги для установки g++ в системе Ubuntu:
Шаг 1. Установите build-Essentials
Официальный репозиторий Ubuntu по умолчанию содержит ряд инструментов или пакетов разработки. Эти инструменты вы можете установить напрямую, установив в вашей системе метапакет Ubuntu с именем «build-essential», который включает важные библиотеки разработки, отладчик GNU и коллекции компиляторов, необходимые для компиляции приложений C/C ++. Следовательно, перед установкой любого компилятора необходимо установить в системе необходимые компоненты. Введите следующую команду терминала для установки средств разработки:
Вышеупомянутый мета-пакет автоматически устанавливает количество пакетов, включая G++, gcc и make.
Шаг 2. Проверьте версию компилятора G++
После установки всех пакетов разработки введите следующую команду, чтобы проверить установленную версию компилятора G++:
Установите несколько версий компилятора G++ в Ubuntu 20.04
Сначала установите инструменты разработки, необходимые для сборки, а затем используйте следующую команду для установки нескольких компиляторов G++:
Вышеупомянутая команда будет завершена через несколько минут после установки всех версий компилятора G++ в вашей системе Ubuntu.
Создайте список альтернатив G++ с помощью инструментов альтернативных обновлений
Инструмент альтернативы обновлений используется для создания списка альтернатив компиляторам G++. Используя приведенные ниже команды, пользователь может создать список из нескольких альтернатив G++ в системе Ubuntu:
Теперь отобразите список альтернатив G++ в вашей системе Ubuntu, используя следующую команду update-alternatives:
Проверьте доступную версию G++ в списке, который будет отображаться на терминале, следующим образом:
Выберите версию компилятора G++, которую вы хотите использовать в качестве компилятора по умолчанию для разработки программного обеспечения. Нажмите Enter, чтобы сохранить текущий выбор по умолчанию, или выберите номер из списка альтернатив G++.
Например, чтобы использовать версию G++ – 9, установленную по умолчанию, введите число «4». Следовательно, эта версия будет установлена по умолчанию. Точно так же, если вы хотите переключиться на другую версию G++, повторите процесс настройки и выберите желаемую версию G++ из альтернатив.
Установка компилятора G++ и gcc одной командой
Большинство пользователей Linux хотят установить несколько альтернатив компиляторам gcc и G++ в одной системе. В этом случае вы также можете установить компиляторы gcc и G++, используя всего одну команду в вашей системе Ubuntu.
Выполните ту же процедуру для настройки альтернатив компилятора gcc. Используйте команду update-alternatives, чтобы создать список компиляторов gcc.
После этого выберите версию gcc по умолчанию или альтернативу с помощью команды config gcc, которая также упоминается выше.
Как использовать G++ в Ubuntu 20.04?
Компилировать программу на C ++ с использованием G++ довольно просто. Создадим и выполним исходный код программы на c ++.
Например, чтобы отобразить сообщение «Здравствуйте, добро пожаловать в блог AndreyEx!» создайте следующий исходный код в текстовом файле:
Теперь сохраните приведенный выше исходный код и переименуйте файл в «welcome.cc». Вы можете присвоить этому файлу любое имя с расширением .cc.
Скомпилируйте приведенный выше исходный код с помощью компилятора G++, выполнив следующую команду:
Приведенная выше команда создает двоичный файл с именем «welcome» в текущем каталоге, в котором вы запускаете команду. Запустите исполняемую программу приветствия с помощью следующей команды:
Следующее сообщение должно отобразиться на терминале после выполнения указанной выше команды:
Заключение
Об установке G++ в системе Ubuntu 20.04 мы узнали из этой статьи. Мы продемонстрировали, как одновременно устанавливать разные версии компилятора G++ в системе Ubuntu. Кроме того, мы также объяснили, как скомпилировать программу с помощью компилятора G++. Надеюсь, всей приведенной выше информации о G++ достаточно для вашего понимания. Посетите компиляторы GNU C, чтобы получить более подробную информацию о компиляторах Gcc или C. Отправьте нам свой отзыв об этой статье в комментариях.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Сравнение Microsoft Windows и GNU/Linux
Сравнение Microsoft Windows и GNU/Linux (двух надсемейств операционных систем) — популярная тема обсуждения среди пользователей компьютеров. Windows NT — самая распространённая из операционных систем для настольных компьютеров, GNU/Linux — наиболее популярная операционная система из свободного программного обеспечения (хотя различные её варианты могут включать проприетарные компоненты [1] ).
Содержание
Обзор
Обе операционные системы предназначены как для персональных систем, так и для web-серверов, вычислительных кластеров и т. п.
Windows NT удалось завоевать первенство на настольных и персональных системах (около 90 % настольных компьютеров) [2] тогда как GNU/Linux популярна на web-серверах, вычислительных кластерах и в суперкомпьютерах (50-80 %) [3] .
Эти системы разнятся в лежащей в основе их философии, стоимости, простоте использования, удобстве и стабильности. При их сравнении приходится принимать во внимание корни, исторические факторы и способ распространения.
Характеристики двух систем
Трудности в сравнении
Windows и Linux трудно сравнивать на равных из-за следующих факторов:
- Linux — это не определенная ос, их более 500 [4] , среди них есть те, которые отличаются друг от друга глобально, а некоторые совсем чуть-чуть [5] , кроме того почти на каждую из них существует до 100 remix[6] , все это из-за открытого исходного кода и GNU.
- Словом Linux могут обозначаться разные понятия. В некоторых случаях это просто ядро операционной системы, в других случаях — полноценные операционные системы в дистрибутиве с графическим интерфейсом (см. GNU/Linux).
- Оба порядка систем поставляются в различных конфигурациях. Особенно GNU/Linux, для которой существует огромное количество вариантов, некоторые из них предназначены для узкого круга задач.
- Цена и широта технической поддержки различаются у разных поставщиков, а также в зависимости от версии и дистрибутива [7] .
- Производители оборудования могут устанавливать дополнительное ПО с операционной системой, которое делает доступные функции системы разнообразнее. Иногда они даже спонсируют продавца, снижая цену продукта для пользователя.
- Данные, полученные от маркетинговых подразделений, и результаты тестирования могут расходиться.
- Microsoft распространяет Windows под разными лицензиями (как правило, закрытыми). Дистрибутивы Linux, со своей стороны, могут содержать проприетарные компоненты [1] .
По стоимости владения
В 2004 г. компания Microsoft запустила маркетинговую кампанию под названием «Get the Facts» [8] , призванную обозначить преимущества Windows перед Linux. Было заявлено, что совокупная стоимость владения для Windows ниже, чем для продуктов с открытым кодом [9] .
Выводы, сделанные Microsoft, оспаривают другие авторитетные организации, например, компания Novell и английский IT-сайт The Register [10] . Некоторые полагают, что неточности в частности обусловлены тем, что в отчёте примешаны цифры по UNIX и Solaris [11] , а кроме того, подсчитана стоимость профессиональной поддержки Linux (профессиональная поддержка может потребоваться при производстве ПО, но не при использовании системы).
Государственное агентство Великобритании по рекламе в 2004 г. предупредило Microsoft, что формулировка «стоимость владения Linux в 10 раз выше, чем стоимость владения Windows Server 2003» не соответствует истине [12] , так как серверное оборудование, выбранное для Linux в исследовании, было чрезмерно дорогим.
По популярности на настольных компьютерах
Windows | GNU/Linux | Примечания | |
---|---|---|---|
Доля при продаже компьютеров (OEM) | Предустанавливается почти на все продаваемые настольные системы | Предустанавливается на небольшое количество продаваемых систем. Например, Ubuntu на компьютеры Dell и System76, SUSE Linux на компьютерах марки Lenovo ThinkPads [13] , MSI [14] . В последнее время появилось несколько моделей ноутбуков, поставляющихся с Linux. [15] | Во Франции против соглашения Microsoft с поставщиками компьютеров об установке исключительно Windows ведется судебное дело. [16] |
Оконные менеджеры/графическая среда | Изначально только системный оконный менеджер. Для изменения его работы требуется подмена системных файлов (uxtheme.dll), что прямо нарушает лицензионное соглашение, или использование программ независимых поставщиков. Графическая оболочка необходима для работы подавляющего большинства программ, и её отказ ведет к нарушению их функционирования. Существует ряд программ, которые работают без использования графической оболочки, но служат они преимущественно для технического обслуживания системы (например, восстановления работоспособности). Удалённое управление с помощью Remote Desktop Protocol [17] , telnet [18] , WMI [19] и других инструментов. Возможна установка сторонней среды рабочего стола, к примеру KDE [20] , но и в этом случае библиотеки встроенного оконного менеджера загружаются в оперативную память, значительно снижая быстродействие системы. | Среды рабочего стола: GNOME, KDE, Enlightenment, Xfce и другие. Множество оконных менеджеров: Openbox, Fluxbox, и другие, в том числе и композитные менеджеры окон Beryl, Compiz или Compiz Fusion. Графическая оболочка не критична для работы операционной системы, она может переключаться в текстовый режим. Удалённое управление осуществляется, обычно, через SSH, VNC и XDMCP. Используются «виртуальные терминалы», что позволяет избежать перезагрузки системы в случае отказа одного из терминалов. | Разные среды рабочего стола предлагают разные способы управления компьютером, что позволяет пользователю выбрать полностью отвечающий его потребностям. Иногда это вызывает неудобства при переходе с одной на другую, но на практике большинство пользователей используют GNOME, KDE или похожие среды. |
Системная консоль/командная строка | Командная строка существует, но обладает ограниченной функциональностью (например, нет возможности также полно настроить сеть как с помощью графических инструментов). Базируется на MS-DOS, наследуя её скромные возможности, мало изменившиеся с 1990-х годов. Разработан также мощный командный процессор Windows PowerShell, реализующий некоторые возможности командной строки UNIX, основанный на .NET . Доступна независимая коллекция инструментов командной строки Cygwin и набор программ от Microsoft SUA. Начиная с Windows 98 в поставку входит мощный инструмент для автоматизации задач — Windows Script Host, возможности которого значительно превосходят встроенную командную строку. Функции по восстановлению или настройке могут выполняться из командной строки. | Командная строка также является неотъемлемой частью системы. Во многих ОС функции настройки системы реализованы при помощи графического интерфейса (иногда — работающего незаметно для пользователя с системой с помощью командной строки), но из‑за различия между вариантами не знакомые с конкретным дистрибутивом пользователи часто дают новичкам инструкции, ориентированные на командную строку. Командная строка позволяет опытному пользователю полностью перенастроить все функции ОС. Существует множество утилит для выполнения специализированных функций, тесно интегрированных с системными и прикладными программами. Функции по восстановлению или настройке могут выполняться из командной строки. Специальный слой абстракции «фреймбуффер» позволяет расширить функциональность «текстовых» терминалов до функциональности графического режима. |
Точно подсчитать количество пользователей затруднительно, так как почти все копии Linux не требуют регистрации, а Windows NT существует во множестве не авторизованных или незарегистрированных копий. Приведенные данные основаны на идентификационных откликах web-браузеров, поэтому цифры весьма приблизительны: разные сайты привлекают разные аудитории, а браузеры не всегда точно передают данные об операционной системе.
Исследование, опубликованное Relecantive AG в 2003 г., заключило, что «готовность Linux к использованию на настольной системе не ниже, чем Windows XP» [21] .
По инсталляции
- От 6 минут до часа и более, в зависимости от объёма устанавливаемого программного обеспечения, поставляемого с дистрибутивом. В среднем составляет 6─30 минут для распространенных дистрибутивов, таких, как openSUSE[29] или Ubuntu.
- Компиляция полной системы из исходных кодов может быть выполнена, в зависимости от мощности процессора, за несколько часов или за несколько дней.
Из‑за отсутствия поддержки Linux в загрузчике Windows в случае установки Windows и Linux на одной машине проще сначала установить Windows, а затем Linux. Существуют дополнительные загрузчики операционных систем по выбору.
Установка GNU/Linux когда-то была затруднительной для среднего пользователя. [33] В настоящее время почти все дистрибутивы содержат упрощенную процедуру установки и демонстрационный диск (Live CD), который дает возможность загрузить систему прямо с CD или DVD и пользоваться ей не устанавливая на жесткий диск.
Установщик Windows тоже включает в себя программу-помощника (wizard), как и дистрибутивы Linux.
По удобству использования и наличию особых режимов
Они сосредоточены вокруг единообразия и удобства использования, а в последних версиях — еще и на защищенности данных пользователя. Программы сторонних разработчиков могут следовать этим руководствам, а могут разрабатывать свои собственные, или же не следовать никаким руководствам вообще.
Таким образом достигается последовательность интерфейсов, но при этом сохраняется и гибкость, позволяющая настраивать интерфейс в соответствии с пожеланиями пользователя. Наиболее популярные дистрибутивы сочетают это с высокой защищенностью (Ubuntu, SuSE, Fedora, Mandriva). Между программами, написанными для KDE и Gnome могут быть различия, но они не слишком существенны. Другие графические оболочки обладают меньшей графической мощью и, как правило, специализируются на минималистском оформлении (WindowMaker, Fluxbox/Openbox/Blackbox). Некоторым из них удается совместить минимализм с удобством и красотой (Enlightenment/E17, Xfce). Некоторые оболочки рассчитаны на применение главным образом мыши (Fluxbox, Xfce), другие — только клавиатуры (Ratpoison).
По поддержке игр
Для Microsoft Windows постоянно выпускается огромное количество игр разных жанров. Распространяются в большинстве своём за оплату, но есть и бесплатные казуальные игры. Большое количество игр также объясняется тем, что Windows — наиболее популярная операционная система на настольных компьютерах. Для написания трёхмерных игр для Windows обычно используются API DirectX и XNA (реже OpenGL).
Для GNU/Linux существует намного меньше игр. Основной причиной является то, что эта система мало распространена на домашних компьютерах, кроме того разработчики игр указывают на низкую надёжность и производительность драйверов [39] . В большинстве своём это также свободное программное обеспечение, однако и здесь встречаются проприетарные игры (в основном это игры, портированные из Windows). Наиболее популярными жанрами здесь являются казуальные игры, шутеры от первого лица (в основном они написаны на свободных движках Quake, например Tremulous, Nexuiz, Urban Terror, или же это портированные из Windows игры), а также стратегии. Для написания трёхмерных игр здесь используется только интерфейс OpenGL, так как DirectX является проприетарным ПО и официально существует только в версиях для платформ microsoft (Windows, Xbox, Zune и других). Проекты Wine и Cedega предоставляют реализацию DirectX в связке с реализацией среды Win32 API с довольно хорошей, но не идеальной, совместимостью.
По безопасности
Открытость и кроссплатформенность — определяют операционные системы, основанные на ядре Linux, как непригодные для масштабной жизнедеятельности вредоносных программных кодов. Только под GNU/Linux количество вирусов исчисляется несколькими десятками (обычно разработанными в учебных целях), так как открытость ядра позволила закрыть большинство уязвимостей в ядре системы. Число вредоносных программ, включая вирусы, трояны и прочие вредоносные программы, написанных под Linux, выросло в последние годы, и более чем удвоилось в течение 2005 от 422 до 863, [40] однако открытая модель разработки приводит к тому, что большинство данных программ в настоящее время неработоспособно — уязвимости, которыми они пользовались, закрыты.
Для Microsoft Windows создано очень большое число вирусов и деструктивных программ (их количество исчисляется сотнями тысяч). Для борьбы с ними используется специальное программное обеспечение — антивирусы. Вирусы бывают разных видов: от сравнительно безобидных не приносящих особого вреда пользователю, до деструктивных, которые изменяют настройки системы, либо уничтожают пользовательские или системные файлы. В линейке Windows NT всегда присутствовало чёткое разделение пользовательских прав. Тем не менее, большинство пользователей домашних компьютеров всегда использует права администратора, что негативно сказывается на защищённости системы. С появлением Windows Vista, эта проблема была решена при помощи комплекса технологий User Account Control: теперь Windows в явном виде запрашивает подтверждение действий, требующих прав администратора, даже если пользователь является администратором. Однако администратор не может получить системные привилегии, которые получают некоторые вирусы благодаря уязвимостям Windows, соответственно бывает невозможно вручную нейтрализовать действие вируса, который не видят антивирусные программы, но действие которого может проследить администратор.
detector