На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила трёх "С"
Пожалуйста,
1. Соблюдайте правила Форума.
2. Слушайте советы Модераторов.
(например, http://forum.sources.ru/index.php?act=ST&f=7&t=80382 )
3. Сверяйтесь с учебником по Великому и Могучему
  
> Ползучая оптимизация, или ставить ли новое ядро?
    Долго мучался я над этим вопросом... Вроде, как привыкший уже к M$, и к тому, что надо раз в год (как минимум) устраивать тотальный реинсталл, да и пару экспериментов хотелось произвести... Наэкспериментировался... Наставился... Короче, вот такие вот выводы:

    1. Если ваше ядро хорошо "держит" существующее оборудование, то менять его незачем -- нового там мало чего, а то, что было вам нужно уже работает. Гораздо умнее просто перекомпилировать более новым компилятором с новыми библиотеками и оставить как есть.
    2. Компилятор и библиотеки, а так же сервера, которые "крутятся" у вас на машине лучше все-таки пересобрать заново. Пусть и не все, а именно те, которые бОльшую часть времени в работе. Это даст ускорение (за счет более толковой генерации кода и его оптимизации) и позволит поднять производительность системы в целом. Т.е. сервер XWindows, в случае, если вы проводите основную часть времени в GNOME или KDE, ваш любимый оконный менеджер... Или, скажем, демона BIND или Apache, если это "заточено" под ИНет... Короче, определяйтесь сами.

    Нет, я конечно не спорю -- вполне возможно просто переустановить новые пакеты из нового дистрибутива и на этом угомониться... Можно, но, IMHO, не нужно. Зачем чинить то, что и без починки работает? Такие действия следует, IMHO, предпринимать только в том случае, если есть какие-то новый фичи, без которых вам жизнь просто не мила. Скажем, есть новый девайс, который со старым софтом не работает... Ну, тогда понятно...

    Как это сделать.
    Ну, во-первых, нам будет нужен новый компилятор и библиотеки к нему. Дуем на ftp://ftp.gnu.org/pub/gnu/gcc/.
    Качаем то, что есть самого новенького из компиляторов. На данный момент рекомендую версию 3.2.2. (gcc-3.2.2.tar.gz) Не самый-самый последний, но стабильный.

    3.2.3, насколько я понял, еще в стадии разработки... потерпим...

    Во-вторых. Переходим под рута, распаковвываем это дело. Переходим в полученный каталог. Делаем в нем каталог obj.

    В-третьих. Переходим в obj, стартуем configure. Если чего не ясно по опциям, то милости прошу посмотреть файлы конфигурации. И документации!!!

    В-четвертых. Меня вполне удовлетворило такое вот исполнение:
    ExpandedWrap disabled
      <br># ../configure --prefix=/usr/local/gcc --program-suffix=-3.2 --enable-languages=c,c++,java,objc<br>

    Т.е. мы ему сказали -- каталог, где все это будет храниться -- /usr/local/gcc, в имена результирующих файлов включать # версии (чтоб не путать со старыми файлами), языки -- с, с++, java, objc. Вполне возможна и Ada... Если надо... ;D Любой из поддерживаемых GNU. Определяйтесь сами -- я пишу только то, что сам делал... А делал только то, что мне нужно.

    Далее. Сама процедура make:
    ExpandedWrap disabled
      <br>#make CFLAGS='-O' LIBCFLAGS='-O2' LIBCXXFLAGS='-O2 -fno-implicit-templates' bootstrap<br>


    Здесь можете спокойно пойти покушать, пивнуть какой-нибудь живительной влаги... Надеюсь, у вашего проца хороший кулер... ;D ;D ;D А то как бы не "вспотел"... ;D ;D ;D

    Ну, и последнее... #make install, разумеется...

    Пятое. Теперь самое главное. Ну, получили мы новые компиляторы, библиотеки... А дальше-то что? Теперь, IMHO (по крайней мере этот способ работает 100-пудово), надобно наставить ссылок. Т.е. заменить старые упоминания о сс, gcc, cpp, java, javac, ... на новые.

    Переходим в /usr/bin и аккуратно (удалили старую, поставили сразу же новую -- чтоб не путаться) делаем, скажем, так:
    ExpandedWrap disabled
      <br># ln -s /usr/local/gcc/bin/gcc-3.2 cc<br>


    И так по всем требуемым ссылкам.

    Теперь... Уфффф... последнее...
    В файл /etc/ld.so.config добавляем строку /usr/local/gcc/lib, запускаем ldconfig, после чего в кэше ld.so.cashe будут затянуты новые библотеки...

    That's all, folks! Enjoy!
    Сообщение отредактировано: the_Shadow -
      А как же дыры в безопасности и различные баги, которые как будто бы (я думаю это именно так) исправлены в новых версиях ядра или ПО. Вот например samba - пишут обнаружена уязвимоть, при которой любой пользователь может завладеть правами администратора, решение качайте новую версию, правда ч\з недели две подобная новость опять всплывает.
      Конечно если все работает нормально. то лучше лишний раз это не трогать. но появляются новые возможность, вот например в kernel-2.4.20 появилась поддержка библиотек основных архиваторов :
      Library routines ->zlib decompression support
                          ->zlib compression support
      Конечно без надобности трогать свое ядро нет необходимостти, я вот скомпоновал, оптимальное (базовое) ядро, появится новое устройство или понадобится поддержка новых возможностей, перекомпилирую и все, откатиться всегда успею.
        А это зависит от "контекста" ситуации. Т.е. если ты -- хостер с неким числом клиентов, то оно нужно отлавливать все патчи, исправления, и т. д. и т. п. А если это, как в мем случае -- мой личный ноутбук, на котором я то IRC-сервер тестирую, то с картами вожусь, то чего-то считаю или документы правлю, то тут уже несколько иной вопрос.

        Хотя, IMHO, более реально нужно думать об обновлении чего-либо при появлении новой версии со второй цифрой, изменившейся где-то на 5. Т.е. у тебя версия 1.0.3, а вышлла версия -- 1.5.1, то, IMHO, менять стоит. И то -- аккуратненько... Все-равно успех атаки (в случае попытки взлома) на 80\% состоит не столько из взлома через дыры, сколько из взлома через ошибки конфигурирования/настройки. А это уже другая песня...

        Хотя, конечно, и об обновлениях забывать не стоит...
        Сообщение отредактировано: the_Shadow -
          Главное наверное в меру, т.е. если надо так надо, а если нет то и думать не стоит.
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0792 ]   [ 15 queries used ]   [ Generated: 26.03.23, 21:16 GMT ]