Главная » Просмотр файлов » Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки

Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (1077321), страница 20

Файл №1077321 Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки) 20 страницаБруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (1077321) страница 202018-01-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 20)

Авторы не рекомендуют использовать эту опцию.Использование команды sudo вместо su для регистрации в качестве суперпользователяПрограмма sudo, также как и команда su, позволяет выполнять команды от имени и с полномочиями другого пользователя, но более безопасным и информативным способом. Используя sudo, вы получитеполную информацию о том, кто вошел в систему как суперпользователь root, а также много другой полезной информации. Инсталляция и настройка sudo рассматривается далее в отдельной главе.Если вы планируете использовать sudo, удалите SUID-бит из файла /bin/su:[root@drwalbr /]# chmod a-s /bin/suГлава 5.

Оптимизация операционной системыГлава 5Оптимизация операционной системыВ этой главе1. Статические и динамические библиотеки2. Библиотеки Linux Glibc 2.23. Почему Linux-программы распространяются в исходных кодах4. Файл gcc specs5. Удаление комментариев из исполняемых файлов и библиотек6. Оптимизация настроек жесткого диска с IDE-интерфейсом6162Часть 1. Инсталляция операционной системы Linux на сервереЕсли вы следовали нашим рекомендациям, то на сервере установлены пакеты программ для егофункционирования, обеспечения безопасности и компиляции программ. Перед тем как начать установку необходимых служб, необходимо выполнить ряд операций, повышающих быстродействие сервера.Статические и динамические библиотекиВо время компиляции исходных кодов большинства программ на последней стадии осуществляетсясвязь кода программы с кодами Linux-библиотек.

Эти библиотеки поставляются в динамическом и статическом формате и содержат общий системный код, который хранится в одном месте и совместно используется различными программами. Обычно на Linux-системах файлы библиотек находятся в каталогах /lib,/usr/lib и /usr/share. По умолчанию Linux использует динамические библиотеки, а если он не можетнайти их, то статические.При использовании статической библиотеки, компилятор находит фрагменты кода, которые требуются для модулей программы, и копирует их непосредственно в исполняемый файл. При использовании динамических библиотек компилятор вставляет ссылку, в которой указывает на необходимость загрузки определенной библиотеки перед началом выполнения программы.С одной стороны, при статической компоновке программ в случае выявления ошибки в одной из библиотек, влияющей на безопасность системы, система будет потенциально уязвимой до тех пор, пока не будут перекомпилированы все программы, содержащие код соответствующей библиотеки.

С другой стороны,при динамической компоновке программ система потенциально уязвима к атакам, направленным на модификацию библиотечных файлов, а уязвимость системы, вызванная ошибкой в библиотеке, может быть устранена путем ее замены.Другим достоинством статической компоновки является то, что процесс инсталляции программногообеспечения упрощается и может быть осуществлен при отсутствии доступа к библиотечным файлам. Насильно загруженных системах использование статических библиотек негативно влияет на производительность системы, поэтому в этом случае использование динамических библиотек более предпочтительно.Таким образом:• если вы хотите компилировать программу, используя динамические библиотеки, необходимо использовать следующие флаги компилятора:CFLAGS = "-О2-march=i686 -funroll-loops"; export CFLAGS./Configure \• если хотите компилировать, используя статические библиотеки, необходимо использовать следующие флаги компилятора:CFLAGS="-О2 -static -march=i686 -funroll-loops"; export CFLAGS./Configure \--disabled-shared\ЗАМЕЧАНИЕ В Linux статические библиотеки имеют имена вида libc.a, а динамические библиотеки –.libc.so.x.y.z, где x.y.z - номер версии.Библиотеки Linux Glibc 2.2Библиотека Glibc 2.2 пришла на смену libc4 и libc5 и является последней версией GNU библиотеки языка C для Linux.

Она содержит стандартные библиотеки, используемые различными программами. Этот специфический пакет содержит самые важные наборы динамических и статических библиотек, который обеспечивает основные функциональные возможности ядра для запуска программ C. Без них Linuxсистема не смогла бы функционировать.По умолчанию в ASPLinux и во многих других дистрибутивах этот пакет для повышения совместимости устанавливается сконфигурированным для работы c процессором i386. Поэтому для того, чтобы наширекомендации по повышению производительности сервера за счет использования программ, откомпилированных для конкретной версии процессора, оказались наиболее действенными, необходимо установить версию пакета Glibc 2.2 для соответствующего процессора.

Если использовать файл, устанавливаемый поумолчанию, часть кода программы, использующая код библиотек, не будет оптимизирована для работы сверсией процессора, отличной от i386.Почему Linux-программы распространяются в исходных кодахПервоначально Linux был разработан как операционная система, предназначенная для работы на различных платформах. Поэтому наиболее простым способом распространения программного обеспечения является распространение исходного кода программы и последующая ее компиляция. Создатели программного обеспечения не всегда могут знать, на какой версии процессора (i386,i486, Pentium и т.

д.) будут выпол-Глава 5. Оптимизация операционной системы63няться их коды. Поэтому для обеспечения межплатформенной совместимости предварительно откомпилированное программное обеспечение поставляется в версии для процессора i386 и, естественно, не учитываются дополнительные особенности более современных процессоров, например, набор команд MMX или 3DNow! Естественно, при использовании предварительно откомпилированного программного обеспечения неможет быть достигнута максимальная производительность системы, если вы, конечно, не используете процессор i386.Опции компилятора, грамотное использование которых позволяет получить исполняемые файлы, оптимизированы для заданной архитектуры центрального процессора.

Описание опций, используемых прикомпиляции исходных кодов программ применительно к различным процессорам, приведено ниже. Первыйпараметр, который необходимо установить – это тип центрального процессора. Это делается с помощьюфлага "-march=cpu_type" (архитектура процессора). Например, "-march=i686" или "-march=k6" позволяет компилятору выбирать соответствующий вариант оптимизации для конкретного процессора.Вы можете установить значение флага "-O" от 1 до 3, указав компилятору степень оптимизации.

Значение "-O3" позволяет создавать исполняемые файлы, имеющие максимальное быстродействие.Следующим этапом является установка флага "-f" , который может принимать значение "funroll-loops" и "-fomit-frame-pointer".ЗАМЕЧАНИЕ Компиляция с опцией выключателя "-fomit-frame-pointer" будет использовать стек для обращения к переменным. К сожалению, отладка программ при установке этой опции, как правило, невозможна.Также, обратите внимание, что во флаге "O3" первым символом является заглавная буква "O".Учитывая вышеизложенное, мы предлагаем компилировать программное обеспечение со следующими флагами:CFLAGS = "-O2-march=i686 -funroll-loops"Мы не используем флаги "-O3" и "-fomit-frame-pointer", так как они не всегда хорошо работают при компиляции некоторого программного обеспечения.Файл gcc specsФайл /usr/lib/gcc-lib/i386-asplinux-linux/2.96/specs содержит набор установокдля компилятора gcc и будет использован нами для задания параметров компиляции.Шаг 1Проверьте версию компилятора, установленную на вашей системе:[root@drwalbr /]# gcc -vReading specs from /usr/lib/gcc-lib/i386-asplinux/2.96/specsgcc version 2.96 20000731 (ASPLinux 7.3 2.96-112)Шаг 2i686 или PentiumPro, Pentium II, Pentium III и Athlon откройте файлДля процессоров/usr/lib/gcc-lib/i386-redhat-linux/2.96/specs.В ниже приведенном фрагменте:*cpp_cpu_default:-D__tune_i386__*cpp_cpu:-Acpu(i386) -Amachine(i386) %{!ansi:-Di386} -D__i386 -D__i386__%{march=i386:%{!mcpu*:-D__tune_i386__ }}%{march=i486:-D__i486 -D__i486__%{!mcpu*:-D__tune_i486__ }}%{march=pentium|march=i586:-D__pentium D__pentium__%{!mcpu*:-D__tune_pentium__}}%{march=pentiumpro|march=i686:-D__pentiumpro -D__pentiumpro__%{!mcpu*:-D__tune_pentiumpro__ }}%{march=k6:-D__k6 -D__k6__ %{!mcpu*:D__tune_k6__ }}%{march=athlon:-D__athlon -D__athlon__ %{!mcpu*:D__tune_athlon__ }}%{m386|mcpu=i386:-D__tune_i386__ }%{m486|mcpu=i486:D__tune_i486__ }%{mpentium|mcpu=pentium|mcpu=i586:-D__tune_pentium__}%{mpentiumpro|mcpu=pentiumpro|mcpu=i686:-D__tune_pentiumpro__}%{mcpu=k6:-D__tune_k6__ }%{mcpu=athlon:-D__tune_athlon__}%{!march*:%{!mcpu*:%{!m386:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}}}*cc1_cpu:%{!mcpu*: %{m386:-mcpu=i386} %{m486:-mcpu=i486} %{mpentium:-mcpu=pentium}%{mpentiumpro:-mcpu=pentiumpro}}64Часть 1.

Инсталляция операционной системы Linux на сервересделайте следующие исправления:*cpp_cpu_default:-D__tune_i686__*cpp_cpu:-Acpu(i386) -Amachine(i386) %{!ansi:-Di386} -D__i386 -D__i386__%{march=i386:%{!mcpu*:-D__tune_i386__ }}%{march=i486:-D__i486 -D__i486__%{!mcpu*:-D__tune_i486__ }}%{march=pentium|march=i586:-D__pentium D__pentium__%{!mcpu*:-D__tune_pentium__}}%{march=pentiumpro|march=i686:-D__pentiumpro -D__pentiumpro__%{!mcpu*:-D__tune_pentiumpro__ }}%{march=k6:-D__k6 -D__k6__ %{!mcpu*:D__tune_k6__ }}%{march=athlon:-D__athlon -D__athlon__ %{!mcpu*:D__tune_athlon__ }}%{m386|mcpu=i386:-D__tune_i386__ }%{m486|mcpu=i486:D__tune_i486__ }%{mpentium|mcpu=pentium|mcpu=i586:-D__tune_pentium__}%{mpentiumpro|mcpu=pentiumpro|mcpu=i686:-D__tune_pentiumpro__}%{mcpu=k6:-D__tune_k6__ }%{mcpu=athlon:-D__tune_athlon__}%{!march*:%{!mcpu*:%{!m386:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}}}*cc1_cpu:%{!mcpu*: -O2 –march=i686 –funroll-loops %{m386:-mcpu=i386} %{m486:mcpu=i486} %{mpentium:-mcpu=pentium} %{mpentiumpro:-mcpu=pentiumpro}}ЗАМЕЧАНИЕ Мы используем флаг "-O2" (большая буква "O" два), а не "-02" (ноль два).Для процессоров i586 и Pentium откройтеlinux/2.96/specs.

В ниже приведенном фрагменте:*cpp_cpu_default:-D__tune_i386__файл/usr/lib/gcc-lib/i386-redhat-*cpp_cpu:-Acpu(i386) -Amachine(i386) %{!ansi:-Di386} -D__i386 -D__i386__%{march=i386:%{!mcpu*:-D__tune_i386__ }}%{march=i486:-D__i486 -D__i486__%{!mcpu*:-D__tune_i486__ }}%{march=pentium|march=i586:-D__pentium D__pentium__%{!mcpu*:-D__tune_pentium__}}%{march=pentiumpro|march=i686:-D__pentiumpro -D__pentiumpro__%{!mcpu*:-D__tune_pentiumpro__ }}%{march=k6:-D__k6 -D__k6__ %{!mcpu*:D__tune_k6__ }}%{march=athlon:-D__athlon -D__athlon__ %{!mcpu*:D__tune_athlon__ }}%{m386|mcpu=i386:-D__tune_i386__ }%{m486|mcpu=i486:D__tune_i486__ }%{mpentium|mcpu=pentium|mcpu=i586:-D__tune_pentium__}%{mpentiumpro|mcpu=pentiumpro|mcpu=i686:-D__tune_pentiumpro__}%{mcpu=k6:-D__tune_k6__ }%{mcpu=athlon:-D__tune_athlon__}%{!march*:%{!mcpu*:%{!m386:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}}}*cc1_cpu:%{!mcpu*: %{m386:-mcpu=i386} %{m486:-mcpu=i486} %{mpentium:-mcpu=pentium}%{mpentiumpro:-mcpu=pentiumpro}}сделайте следующие исправления:*cpp_cpu_default:-D__tune_i586__*cpp_cpu:-Acpu(i386) -Amachine(i386) %{!ansi:-Di386} -D__i386 -D__i386__%{march=i386:%{!mcpu*:-D__tune_i386__ }}%{march=i486:-D__i486 -D__i486__%{!mcpu*:-D__tune_i486__ }}%{march=pentium|march=i586:-D__pentium D__pentium__%{!mcpu*:-D__tune_pentium__}}%{march=pentiumpro|march=i686:-D__pentiumpro -D__pentiumpro__%{!mcpu*:-D__tune_pentiumpro__ }}%{march=k6:-D__k6 -D__k6__ %{!mcpu*:D__tune_k6__ }}%{march=athlon:-D__athlon -D__athlon__ %{!mcpu*:D__tune_athlon__ }}%{m386|mcpu=i386:-D__tune_i386__ }%{m486|mcpu=i486:D__tune_i486__ }%{mpentium|mcpu=pentium|mcpu=i586:-D__tune_pentium__}%{mpentiumpro|mcpu=pentiumpro|mcpu=i686:-D__tune_pentiumpro__}%{mcpu=k6:-D__tune_k6__ }%{mcpu=athlon:-D__tune_athlon__}%{!march*:%{!mcpu*:%{!m386:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}}}Глава 5.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6289
Авторов
на СтудИзбе
315
Средний доход
с одного платного файла
Обучение Подробнее