Журнал LinuxFormat - перейти на главную

LXF74-75:Технологии Linux-2006

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(викификация, оформление)
 
(викификация, оформление)
Строка 268: Строка 268:
  
 
: Переместите ваши данные в 21-й век, используя хранимые процедуры, триггеры, представления и многое другое.
 
: Переместите ваши данные в 21-й век, используя хранимые процедуры, триггеры, представления и многое другое.
 +
 +
''MySQL'' считается наиболее популярной базой данных для Linux. Скорость и универсальность, вместе с одобренной OSI лицензией сделали ее стандартным выбором для любого серьезного применения
 +
Linux, хотя можно обнаружить эту БД и в других местах. Версия 5.0 показывает, к чему стремятся разработчики ''MySQL'' и содержит полезные функции, такие как '''представления''' (views), '''триггеры''' и '''хранимые процедуры'''.
 +
 +
Инсталляция ''MySQL'' проходит совершенно гладко. Если вам нужна установка из исходного кода,
 +
просто следуйте стандартным инструкциям из прилагаемого файла справки.
 +
 +
Зачастую, наилучшим способом опробовать новые возможности является загрузка объемного
 +
бинарного файла с сайта http://www.mysql.com. Для установки БД и настройки таблиц доступа введите
 +
следующие команды (подставляя вместо ''mysql-max'' имя своего архива):
 +
 +
groupadd mysql
 +
useradd -g mysql mysql
 +
cd /usr/local
 +
gunzip < mysql-max-5.0.15-linux-i686-glibc23.tar.gz | tar xvf -
 +
ln -s mysql-max-5.0.15-linux-i686-glibc23 mysql
 +
cd mysql
 +
scripts/mysql_install_db --user=mysql
 +
chown -R root .
 +
chown -R mysql data
 +
chgrp -R mysql .
 +
bin/mysqld_safe --user=mysql &
 +
 +
'''ВНИМАНИЕ!'''
 +
 +
Эти команды не задают никакие пароли и не делают ничего для
 +
обеспечения безопасности, если ваш компьютер доступен по удаленному соединению или является
 +
сервером — это всего лишь быстрая настройка. При более серьезном подходе к вопросам безопасности, стоит обратиться к документации.
 +
 +
===Хранимые процедуры===
 +
 +
Хранимые процедуры и функции являются частью кода ''SQL'', они хранятся внутри БД
 +
и могут быть исполнены по требованию. Основным применением этого подхода
 +
является безопасность, но в работе базы данных есть и другие аспекты, которым
 +
этот принцип пойдет на пользу. Вот небольшой пример:
 +
 +
delimiter //
 +
CREATE PROCEDURE myproc (OUT total INT)
 +
  -> BEGIN
 +
  -> SELECT COUNT(*) INTO total FROM table;
 +
  -> END
 +
  -> //
 +
delimiter ;
 +
CALL myproc(@result);
 +
SELECT @result;
 +
+------+
 +
| @a |
 +
+------+
 +
|3|
 +
+------+
 +
1 row in set (0.00 sec)
 +
 +
Настоящая красота этого решения заключается в том, что необходимые для операции процедуры находятся внутри БД,
 +
так что к ней можно отправлять лишь запросы общего плана. Эта технология часто применяется в банках и других сферах, где важна высокая степень защищенности. Не выставляя наружу истинные запросы к БД,
 +
становится проще обеспечивать стабильность, скорость и защищенность.
 +
 +
===Именованные представления===
 +
 +
Представления впервые появились в ''MySQL 5.x'' и способны существенно упростить многие повторяющиеся операции,
 +
а при аккуратном конструировании они могут быть также обновлены. Вы можете без труда создать представление из любой выборки ''SELECT''. В большинстве случаев они сами могут в дальнейшем использоваться как аргументы операторов ''SELECT'' и ''UPDATE''. Следующий фрагмент показывает работу именованных представлений в
 +
действии:
 +
 +
mysql> CREATE TABLE part (id INT, quantity
 +
mysql> INSERT INTO part VALUES(1,20),(2,14),(3,12),(4,17);
 +
mysql> CREATE TABLE prices (id INT, price DECIMAL(10,2));
 +
mysql> INSERT INTO prices VALUES(1,1.99),(2,14.45),(3,12.99),(4,9.99);
 +
mysql> CREATE VIEW view1 AS SELECT * FROM part LEFT JOIN prices USING (id);
 +
mysql> SELECT * FROM view1;
 +
+------+----------+-------+
 +
| id | quantity | price |
 +
+------+----------+-------+
 +
| 1 | 20 | 1.99 |
 +
| 2 | 14 | 14.45 |
 +
| 3 | 12 | 12.99 |
 +
| 4 | 17 | 9.99 |
 +
+------+----------+-------+
 +
4 rows in set (0.00 sec)
 +
mysql> CREATE VIEW view2 AS SELECT id, quantity, price, quantity*price AS value FROM view1;
 +
mysql> SELECT * FROM view2;
 +
+------+----------+-------+--------+
 +
| id | quantity | price | value |
 +
+------+----------+-------+--------+
 +
| 1 | 20 | 1.99 | 39.80 |
 +
| 2 | 14 | 14.45 | 202.30 |
 +
| 3 | 12 | 12.99 | 155.88 |
 +
| 4 | 17 | 9.99 | 169.83 |
 +
+------+----------+-------+--------+
 +
4 rows in set (0.00 sec)
 +
 +
Создав две отдельные таблицы и заполнив их значениями, мы организовали представление, назвав его '''John'''.
 +
Выборка из него позволяет получить доступ к объединенным данным двух таблиц.
 +
Представления могут служить основой для других представлений. В следующем примере мы возьмем за основу
 +
уже созданное представление и дополнительно вычислим для него столбец
 +
с новыми данными.
 +
 +
===Триггеры===
 +
 +
Триггеры могут быть очень полезными в БД, где записи добавляются постепенно или
 +
их регулярно изменяют. Они оказываются особенно полезными при вычислении
 +
статистики. Представьте себе БД, которая хранит информацию о путешествии. Каждая
 +
запись содержит данные и пройденном расстоянии, но вам может потребоваться
 +
и суммарная дистанция. Вычисление суммарного расстояния каждый раз
 +
заново может утомить, в то время как триггер позволяет узнавать общее
 +
расстояние во время добавления каждой новой записи.
 +
 +
mysql> CREATE TABLE journey (distance DECIMAL(10,4));
 +
Query OK, 0 rows affected (0.01 sec)
 +
mysql> CREATE TRIGGER totaldist
 +
AFTER INSERT ON journey
 +
  -> FOR EACH ROW SET @sum = @sum
 +
+ NEW.distance;
 +
Query OK, 0 rows affected (0.00 sec)
 +
mysql> SET @sum = 0
 +
  -> ;
 +
Query OK, 0 rows affected (0.00 sec)
 +
mysql> INSERT INTO journey VALUES (23.1234),(21.1234),(122.4512),(0.4618),(12.3418);
 +
Query OK, 5 rows affected (0.00 sec)
 +
Records: 5 Duplicates: 0 Warnings: 0
 +
mysql> SELECT @sum AS ‘Total distance’;
 +
+-----------------+
 +
| Total distance |
 +
+-----------------+
 +
| 179.5016 |
 +
+-----------------+
 +
1 row in set (0.00 sec)
 +
 +
Конечно, существует множество других сложных действий, которые можно реализовать с помощью
 +
триггеров! Данный выпуск поддерживает множество давно желанных возможностей, которые должны стать
 +
популярными среди пользователей. Что мешает почитать документацию и узнать об остальных замечательных
 +
особенностях ''MySQL''?
 +
 +
===СТОИТ ПОПРОБОВАТЬ В MYSQL 5.0.15===
 +
 +
* Тип данных '''BIT'''
 +
* Курсоры
 +
* Схемы
 +
* Точные вычисления
 +
* Способы хранения '''ARCHIVE''' и '''FEDERATED'''
 +
* Транзакции '''XA'''
 +
* Повышенная производительность
 +
 +
==Samba 4.0==
 +
 +
: Будущее совместного доступа к файлам
 +
 +
''Samba'' — наиболее известное сетевое ПО для совместного доступа к файла м и принтерам. ''Samba'' работает не просто с Linux, она позволяет обмениваться файлами с компьютерами под управлением
 +
Windows или Mac OS. На самом деле, пользователи Windows могут даже не знать, что сервер их сети
 +
работает не под Windows; некоторые даже утверждают, что протокол CIF лучше реализован в ''Samba'',
 +
чем в самой Windows. Тем не менее, CIF разрабатывается в Microsoft и постоянно развивается. ''Samba 4.0'' представляет собой полностью переработанное ПО,
 +
в котором реализованы новые возможности и удалены устаревшие
 +
части. Несмотря на то, что код программы до сих пор интенсивно тестируется, ''Samba 4.0'' уже достаточно
 +
стабильна и вы вполне можете познакомиться с ней уже сейчас.
 +
 +
===Больше возможностей c атрибутами xattr===
 +
 +
Одно из наиболее заметных изменений в новой версии — это задание файлам дополнительных атрибутов в целях повышения безопасности. Поэтому вам, возможно, не стоит устанавливать ''Samba'', если у
 +
вас нет:
 +
 +
* Ядра версии 2.6.х
 +
* Файловой системы с поддержкой расширений '''xattr''' (например, ext3)
 +
* Смонтированной файловой системы с поддержкой '''xattr'''
 +
 +
Как правило, вам нужно всего лишь проверить конфигурацию вашего ядра и при необходимости пересобрать его следующим образом:
 +
 +
CONFIG_EXT3_FS_XATTR=y
 +
CONFIG_EXT3FS_
 +
SECURITY=y_
 +
 +
Затем удостоверьтесь, что у вас есть хотя бы один смонтированный
 +
раздел, использующий '''xattr'''. Для файловой системы ext3 запись в '''/etc/fstab''' будет выглядеть примерно
 +
так:
 +
 +
/dev/sda1 /home/share ext3 user_xattr 1 1

Версия 17:22, 16 февраля 2009

Содержание

Технологии Linux-2006

В новом году Linux ждет большое будущее как на серверах, так и на домашних компьютерах. И это не просто пустые обещания. Откуда мы это знаем? Просто Майк Сондерс, Ник Вейтч и Пол Хадсон собственными глазами видели программы будущего — они скачали, установили и даже успели ими попользоваться, и теперь спешат поделиться своим опытом с вами.

Что будущее приготовило для Linux? Какое важное событие должно произойти? К счастью, для того, чтобы предсказать будущее ОС, нам не обязательно гадать на пингвиньих картах Таро — мы можем сами скачать и протестировать программы из будущего. В этом и заключается одно из замечательных свойств мира Open Source, где у каждого есть возможность использовать еще не выпущенные программы. При этом вам не нужно записываться в ряды бета-тестеров с ограниченными правами или выискивать альфа-версии ПО. Вместо этого можно воспользоваться находящимися в разработке новыми программами и посмотреть, что с ними происходит.

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

Кому же решать, что станет открытием в этот раз? Что заставляет поставщиков Linux включать в свои дистрибутивы новые дерзкие проекты? Вы, пользователи. Масса интересных возможностей и инноваций реализуется в открытом ПО за многие годы, но большая их часть канула бы в лету, не будь они действительно полезными. С другой стороны (к примеру), если в KDE появляются новые возможности, которые всем приходятся по вкусу, то и пользователи GNOME просят своих разработчиков внедрить эти возможности в свою оболочку.

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

SeaMonkey

Новый интернет-комбайн от Mozilla.

Внутри Firefox, снаружи Netscape: Mozilla возвращается к истокам и теперь находится на стадии добавления новых возможностей. До того, как Firefox отпочковался от Mozilla, тестировавшие каждый новый релиз добровольцы с трудом успевали за новыми возможностями браузера: основанный на XUL интерфейс, встроенный инспектор DOM, байесовский спам-фильтр, поиск по мере набора текста и многое другое. Конечно, хорошо, что у нас есть Firefox, но он больше ориентирован на простоту использования, чем на функциональность, а простота — это далеко не всегда то, что нужно продвинутым пользователям.

Так как развитие классического браузера Mozilla прекратилось на версии 1.8, его код был перенесен в новый проект, объединивший браузер, почтовый клиент и HTML-редактор в новой оболочке. Приятно, что многие новинки из Firefox 1.5 уже входят в состав SeaMonkey: миниатюры изображений во вкладках, быстрый возврат к предыдущей странице, поддержка SVG-графики и другое. Тем не менее, у SeaMonkey есть и свои собственные уникальные функции: например, проверка орфографии «на лету», знакомая всем со времен появления текстовых процессоров. Новый браузер способен сохранять результаты поиска среди писем, отлавливать попытки мошенничества через e-mail и при этом по-прежнему выглядеть одинаково на всех платформах.

Пакет программ SeaMonkey находится на нашем диске в виде инсталлятора уже скомпилированной версии. После установки запустите браузер командой /usr/local/seamonkey/seamonkey, и вы сможете переключаться между почтой, HTML-редактором и Chatzilla с помощью иконок в левой нижней части окна. Программа мало отличается от традиционной Mozilla — разве что анимированным значком в верхнем правом углу, поэтому вы можете спокойно использовать SeaMonkey вместо Firefox.

LXF74 techno1.jpg

SeaMonkey в духе настоящего Netscape отказывается проигрывать Flash-анимации (под заголовком сайта) до тех пор, пока вы не покопаетесь в недрах программы.

Sunbird

Симпатичный календарь уверенно идет в гору.

В пакете приложений Mozilla Suite всегда не хватало хорошего планировщика — даже в Thunderbird нет нужных инструментов. Sunbird — это полностью новый проект Mozilla Foundation, использующий библиотеки Mozilla для организации личного расписания, отметок о важных событиях и возможности делиться своими планами с друзьями и сотрудниками. Так же, как Firefox и Thunderbird, Sunbird предлагает действительно опрятный интерфейс, способный отбить лавры у Evolution. Опять же подобно Firefox, мы уверены, что Sunbird (или Thunderbird, если в долгосрочной перспективе эти две программы сольются воедино) станет лучшим приложением в своем классе и даст движению Open Source еще одного чемпиона.

Так же, как и SeaMonkey, Sunbird находится на нашем диске в уже готовом виде, так что вам остается лишь распаковать архив и запустить исполняемый файл sunbird. Окно приложения по умолчанию показывает календарь на текущий месяц, но вы можете перемещаться во времени, выбирая нужные месяцы в верхней части окна. Новое событие добавляется либо двойным щелчком по дню месяца, либо через меню File (Файл). Разобравшись с диалоговым окном по добавлению нового события (там не очень много настроек!), вы найдете работу с задачами простой, так как обе функции используют одно и то же окно.

Созданные вами задачи и события отображаются слева и немного выше от календаря. По умолчанию, Sunbird показывает все события месяца, но это можно изменить посредством быстрого фильтра (Quick Filter). Программа также показывает все задачи, включая и уже выполненные, однако, опять же, вы всегда можете расчистить окно, включив фильтр «Скрывать завершенные задачи» (Hide Completed Tasks).

Sunbird, открой личико!

LXF74 techno2.jpg

  1. Для быстрого перехода между днями используйте календарь месяца.
  2. Здесь показаны текущие задачи, находящиеся в процессе выполнения.
  3. Свой календарь – свой вкус. Здесь можно переключить режим отображения.
  4. Отфильтруйте события с помощью ключевых слов, которые встречаются в заголовках.
  5. По умолчанию здесь отображаются все события, а также время их начала и завершения.
  6. Самая важная информация находится здесь. Текущий день выделен темно-синим цветом.

KDE 3.5

Новое измерение вашего рабочего стола…

Рискуя разжечь религиозные войны, мы втянем головы в плечи и скажем, что KDE, наверное, является самым популярным окружением рабочего стола для Linux. Но пусть KDE и является средой по умолчанию для таких «тяжеловесов», как Mandriva и SUSE, многие опросы и голосования пользователей показывают, что он лишь ненамного обгоняет своего главного конкурента — GNOME. Последний (и в смысле времени выхода, и в смысле линейки 3.x) релиз, KDE 3.5 — это, скорее, эволюционный, а не революционный выпуск, содержащий множество мелких исправлений и усовершенствований, но все же радующий нас новыми волнующими возможностями (cм. «Стоит попробовать в KDE 3.5»).

К счастью для опытных пользователей KDE, компиляция и установка новых версий практически всегда идет гладко. Всего несколько шагов, и вы сможете первыми узнать и использовать новые возможности своего рабочего стола. Вы можете установить последнюю версию KDE в определенную директорию, не рискуя потерять текущую версию. Сейчас мы расскажем, как скомпилировать KDE 3.5, и быстро пройдемся по основным новым возможностям. Мы воспользуемся великолепным инструментом Konstruct, который проделает всю грязную работу, а мы будем лишь изредка вводить команды и в конце получим приятный и красивый рабочий стол.

Стоит попробовать в KDE 3.5

  • В стандартную установку теперь входит SuperKaramba и ряд интерактивных апплетов для нее.
  • Диалог «Добавить апплет».
  • Движок KHTML прошел тест совместимости Acid2.
  • Возможность заблокировать системную панель (kicker).
  • Улучшенная блокировка всплывающих окон в Konqueror.
  • Уведомление о подключении съемных устройств.
  • Выбор поисковых систем в Konqueror.

Полный список можно найти здесь: http://developer.kde.org/development-versions/kde-3.5-features.html.

Как скомпилировать KDE 3.5

  1. Скопируйте файл konstruct-stable.tar.bz2 из директории FutureLinux/KDE нашего диска и распакуйте его в свой домашний каталог, после чего в нем появится директория konstruct. Внутри нее находится ряд поддиректорий, которые позволяют вам за один прием скомпилировать как отдельные компоненты, так и всю среду целиком. Konstruct дает возможность собрать не только базовые компоненты KDE, но и отдельные приложения для этого рабочего стола.
  2. Теперь нужно отредактировать файл gar.conf.mk, находящийся в директории konstruct/ (любым текстовым редактором). Большинство настроек подробно откомментировано. Вам также может понадобиться задать переменной HAVE_QT_3_3_INSTALLED значение “true” в случае, если у вас уже установлены пакеты qt и qt-devel. Обратите внимание на параметр GARCHIVEDIR, указывающий расположение исходных текстов KDE (по умолчанию они скачиваются из Сети, но вы можете скопировать исходные тексты с нашего диска в директорию, на которую ссылается GARCHIVEDIR).
  3. Приступаем к делу. В терминале переходим в директорию konstruct/meta/kde и проверяем содержимое файла Makefile. Вовсе не обязательно его менять, но если, к примеру, вам не нужен набор программ kdemultimedia, вы можете убрать соответствующую запись в строке LIBDEPS. Когда все изменения сделаны, запустите команду make install, откиньтесь на спинку кресла и подождите. Konstruct загрузит исходные тексты из Интернета, либо воспользуется локальными источниками, которые вы указали ему в п.2.
  4. Время, необходимое для компиляции, зависит от количества выбранных вами компонентов — полная установка может занять несколько часов. По ее окончании KDE вместе с исходниками окажется в подкаталоге kde3.5/ вашей домашней директории. Почитайте Readme, чтобы научиться запускать новую версию — для корректного ее функционирования вам потребуется настроить переменные KDEDIR и LD_LIBRARY_PATH, воспользовавшись сессией «Failsafe terminal», предлагаемой большинством дистрибутивов. Затем в командной строке наберите startkde.

Новые бриллианты KDE

LXF74 techno3.jpg

  • SuperKaramba позволяет размещать на рабочем столе разнообразные и яркие мини-приложения. Эти программы могут быть системными мониторами, оболочками к музыкальным проигрывателям или индикаторами сводок погоды.
  • Новые декорации окон — тема Smooth Blend, теперь входит в состав kdeartwork. В большом количестве встречаются привлекательные градиенты и анимированные кнопки с подсветкой.
  • Еще одно долгожданное нововведение в Konqueror: фильтр рекламы (adblock). Укажите ему раздражающие вас сайты, имена файлов и директорий, и браузер будет блокировать эту рекламу
  • Переключатель рабочих столов теперь отображает уменьшенную копию обоев.
  • Kicker, системная панель KDE, теперь предоставляет симпатичное окно Add Applet для быстрого добавления мини-программ.
  • Konqueror теперь соответствует требованиям теста Acid2, который проверяет браузеры на совместимость со стандартами отображения сайтов.

Gnome 2.14

Возможности мультимедиа бесконечны, а Evolution... эволюционирует!

Опытные хакеры из команды GNOME уже успели рассказать нашему журналу о грядущем релизе 2.14. Поэтому мы были рады вовремя подоспевшей версии 2.13.3, позволившей нам самим попробовать новые технологии в GNOME. Версия 2.13.3 является первым промежуточным звеном на пути к выпуску 2.14, который планируется на март 2006 года. Скомпилировать GNOME не так просто, так как в него входит очень много разнообразных пакетов с исходным кодом, но, как и в KDE, вы можете воспользоваться несколькими утилитами, облегчающими процесс сборки. Следуйте нашим инструкциям, чтобы увидеть новый GNOME на своем ПК.

LXF74 techno4.jpg

Evolution стал гораздо лучше. На заднем плане: GNOMEры обсуждают способы избавления от излишнего «веса».

Установка при помощи Garnome

Garnome (http://cipherfunk.org/garnome) позволяет вам скомпилировать и установить в систему определенную версию GNOME, которая не будет конфликтовать с предыдущей версией оболочки (фактически, Garnome и Konstruct являются вариантами одного и того же инструмента — системы «портов» GAR, — прим. ред.). Имейте в виду, что программе потребуется загрузить исходные тексты GNOME из Интернета, поэтому вам необходимо иметь настроенное соединение.

Шаг 1. Распакуйте файл garnome-2.13.3.tar.bz2 с нашего диска, и в образовавшейся директории garnome-2.13.3/ вы увидите несколько необычно названных поддиректорий, определяющих состав компонентов, которые вы хотите собрать из исходных текстов.

Шаг 2. Откройте файл gar.conf.mk и прочитайте комментарии к его параметрам. В большинстве случаев ничего менять не нужно, разве что можно выставить флаги оптимизации компилятора GCC.

Шаг 3. Просмотрите директорию bootstrap/ на предмет наличия необходимых системных утилит, таких как Autoconf. Лучше всего установить их из пакетов вашего дистрибутива. Если же вы не уверены, то просто перейдите с помощью cd в директории компонентов, которых у вас может не быть и выполните команду make install. Сомневаетесь? Попробуйте выполнить шаг 4 — возможно, все пройдет гладко.

Шаг 4. Собираем GNOME! В главной директории Garnome перейдите в каталог desktop/ и введите команду make paranoid-install. В норме она загрузит из Интернета, скомпилирует и установит множество компонентов GNOME, после чего в вашей домашней директории появится свежая среда GNOME. В файле Readme рассказано о скрипте, который поможет вам.

СТОИТ ПОПРОБОВАТЬ В GNOME 2.13.1

  • Улучшенный поиск в Nautilus (нажмите клавишу [/]
  • Rhythmbox поддерживает обмен музыкой с iTunes
  • Встроенные напоминания Evolution Memos
  • Программа просмотра системных журналов стала гораздо быстрее
  • Просмотр сохраненных паролей через браузер Epiphany
  • Новая игра Gaps в составе набора gnome-games
  • Форматирование дискет в Nautilus

ТАКЖЕ ПЛАНИРУЕТСЯ В ВЕРСИИ 2.14

  • Уменьшение расхода памяти
  • Поддержка технологии Zeroconf - Bonjour
  • Ре-дизайн GnomeMeeting
  • Ускорение процесса входа в систему

X.org 7.0

Не дождетесь новой версии «иксов»? Не беда: тени и прозрачность можно использовать уже сейчас!

С тех пор, как X.org по лицензионным соображениям отделился от проекта XFree86, разработчики графического интерфейса для Linux сделали достаточно работы, которую нельзя было бы выполнить в довольно закрытой системе разработки XFree86. Одно из нововведений — модульность, являющаяся отличительным свойством седьмой версии X.org, которая уже на подходе.

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

У X.org 7.0 есть и множество других «продвинутых» возможностей. Наиболее значительными являются следующие: обновленные драйверы для NVIDIA, ATI, Savage и SIS; улучшенная поддержка ProPolice (система безопасности); новые фильтры градиента и свертывания в расширении Render; сотни мелких исправлений и усовершенствований.

Что особенно важно для настольных систем, новый X.org станет платформой для развития других технологий (таких, как композитное расширение или векторная библиотека Cairo).

Ставим версию 7.0

Шаг 1. Скопируйте и распакуйте файл x-7pre-src.tar.bz2 с нашего диска (директория FutureLinux/X.org), затем перейдите в директорию src/.

Шаг 2. Необходимо связать исходный код старой монолитной версии к новому модульному коду. Введите

 util/modular/symlink.sh ~/xorg/src/xc.

Вместо xorg нужно указать путь к распакованным ранее исходным текстам новой версии.

Шаг 3. Скопируйте файлы xorg-macros.m4 и xorgversion.m4 из директории util/macros в /usr/share/aclocal. Затем снова вернитесь к исходному коду и введите следующие команды:

сd proto/X11 && ./autogen.sh –prefix=/tmp/modular
make install && make distcheck
cd ../../
PATH=/tmp/modular/bin:$PATH ./util/modular/build.sh /tmp/modular

Сборка модульного сервера X.org из исходных текстов может быть непростым делом, так как новая структура исходных текстов может создать проблемы в некоторых дистрибутивах, но ведь всегда полезно приобрести новый опыт. Следующие версии популярных дистрибутивов, скорее всего, будут включать X.org 7.0 по умолчанию.

Делаем красиво

LXF74 techno5.jpg

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


Время от времени на страницах LXF можно обнаружить экранные снимки, содержащие так много «наворотов» и украшательств, что голова идет кругом. Многие оконные менеджеры и графические оболочки предлагают свои, встроенные средства для создания привлекательного и яркого интерфейса (например, полупрозрачные меню в KDE), однако новая взрослеющая технология X позволяет применять подобные эффекты практически ко всему. Это стало возможным благодаря расширению Composite, лежащему в основе графической системы. Композитный слой отрисовывает тени, прозрачные меню и окна, а также создает другие, менее яркие эффекты, которые способны в одно мгновение преобразить ваш рабочий стол. Несмотря на то, что расширение Composite включается в состав X-сервера во многих дистрибутивах, вы вряд ли где-нибудь найдете его включенным по умолчанию. Причина состоит в том, что поставщики Linux не хотят слишком рисковать и жертвовать стабильностью в угоду пышному декору. Тем не менее, Composite используется все чаще, так что мы покажем, как его включить.

Шаг 1. Для начала нужно убедиться, что ваш X-сервер поддерживает Composite. В качестве суперпользователя отредактируйте файл xorg.conf (обычно /etc/X11/xorg.conf) и добавьте в любое место следующий раздел:

Section “Extensions”
Option “Composite” “true”
EndSection

Шаг 2. Сохраните файл, закройте все программы и перезапустите X-сервер ([Ctrl]+[Alt]+[BckSp] или перезагрузка компьютера). В своем рабочем окружении введите команду xdpyinfo | grep Composite и убедитесь, что расширение задействовано. Вы должны увидеть строку с несколькими пробелами в начале. Если этого не происходит, читайте системный журнал X в директории /var/log.

Шаг 3. Пришло время установить xcompmgr. Этот инструмент позволяет управлять композитными эффектами. Большинство дистрибутивов не устанавливают его по умолчанию, но вы можете найти его в репозитарии вашего поставщика. Если не получается, загрузите xcompmgr с сайта http://freedesktop.org/xapps/release или возьмите с нашего диска. Для поддержки прозрачности вам также понадобится утилита transset.

Шаг 4. Введите в терминале xcompmgr -c и оцените результат: окна на рабочем столе отбрасывают мягкие тени! Это несколько замед лит работу X-сервера, но на достаточно современном компьютере вы не должны заметить снижения скорости. Xcompmgr имеет множество ключей и параметров, которые вы можете найти на страницах справочного руководства (man xcompmgr). Также, попробуйте включить transset (если вы его установили). После этого щелчок на окне автоматически сделает его полупрозрачным.

MySQL 5.0.15

Переместите ваши данные в 21-й век, используя хранимые процедуры, триггеры, представления и многое другое.

MySQL считается наиболее популярной базой данных для Linux. Скорость и универсальность, вместе с одобренной OSI лицензией сделали ее стандартным выбором для любого серьезного применения Linux, хотя можно обнаружить эту БД и в других местах. Версия 5.0 показывает, к чему стремятся разработчики MySQL и содержит полезные функции, такие как представления (views), триггеры и хранимые процедуры.

Инсталляция MySQL проходит совершенно гладко. Если вам нужна установка из исходного кода, просто следуйте стандартным инструкциям из прилагаемого файла справки.

Зачастую, наилучшим способом опробовать новые возможности является загрузка объемного бинарного файла с сайта http://www.mysql.com. Для установки БД и настройки таблиц доступа введите следующие команды (подставляя вместо mysql-max имя своего архива):

groupadd mysql
useradd -g mysql mysql
cd /usr/local
gunzip < mysql-max-5.0.15-linux-i686-glibc23.tar.gz | tar xvf - 
ln -s mysql-max-5.0.15-linux-i686-glibc23 mysql
cd mysql
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .
bin/mysqld_safe --user=mysql &

ВНИМАНИЕ!

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

Хранимые процедуры

Хранимые процедуры и функции являются частью кода SQL, они хранятся внутри БД и могут быть исполнены по требованию. Основным применением этого подхода является безопасность, но в работе базы данных есть и другие аспекты, которым этот принцип пойдет на пользу. Вот небольшой пример:

delimiter //
CREATE PROCEDURE myproc (OUT total INT)
 -> BEGIN
 -> SELECT COUNT(*) INTO total FROM table;
 -> END
 -> //
delimiter ;
CALL myproc(@result);
SELECT @result;
+------+
| @a |
+------+
|3|
+------+
1 row in set (0.00 sec)

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

Именованные представления

Представления впервые появились в MySQL 5.x и способны существенно упростить многие повторяющиеся операции, а при аккуратном конструировании они могут быть также обновлены. Вы можете без труда создать представление из любой выборки SELECT. В большинстве случаев они сами могут в дальнейшем использоваться как аргументы операторов SELECT и UPDATE. Следующий фрагмент показывает работу именованных представлений в действии:

mysql> CREATE TABLE part (id INT, quantity
mysql> INSERT INTO part VALUES(1,20),(2,14),(3,12),(4,17);
mysql> CREATE TABLE prices (id INT, price DECIMAL(10,2));
mysql> INSERT INTO prices VALUES(1,1.99),(2,14.45),(3,12.99),(4,9.99);
mysql> CREATE VIEW view1 AS SELECT * FROM part LEFT JOIN prices USING (id);
mysql> SELECT * FROM view1;
+------+----------+-------+
| id | quantity | price |
+------+----------+-------+
| 1 | 20 | 1.99 |
| 2 | 14 | 14.45 |
| 3 | 12 | 12.99 |
| 4 | 17 | 9.99 |
+------+----------+-------+
4 rows in set (0.00 sec)
mysql> CREATE VIEW view2 AS SELECT id, quantity, price, quantity*price AS value FROM view1;
mysql> SELECT * FROM view2;
+------+----------+-------+--------+
| id | quantity | price | value |
+------+----------+-------+--------+
| 1 | 20 | 1.99 | 39.80 |
| 2 | 14 | 14.45 | 202.30 |
| 3 | 12 | 12.99 | 155.88 |
| 4 | 17 | 9.99 | 169.83 |
+------+----------+-------+--------+
4 rows in set (0.00 sec)

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

Триггеры

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

mysql> CREATE TABLE journey (distance DECIMAL(10,4));
Query OK, 0 rows affected (0.01 sec)
mysql> CREATE TRIGGER totaldist
AFTER INSERT ON journey
 -> FOR EACH ROW SET @sum = @sum
+ NEW.distance;
Query OK, 0 rows affected (0.00 sec)
mysql> SET @sum = 0
 -> ;
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO journey VALUES (23.1234),(21.1234),(122.4512),(0.4618),(12.3418);
Query OK, 5 rows affected (0.00 sec)

Records: 5 Duplicates: 0 Warnings: 0

mysql> SELECT @sum AS ‘Total distance’;
+-----------------+
| Total distance |
+-----------------+
| 179.5016 |
+-----------------+
1 row in set (0.00 sec)

Конечно, существует множество других сложных действий, которые можно реализовать с помощью триггеров! Данный выпуск поддерживает множество давно желанных возможностей, которые должны стать популярными среди пользователей. Что мешает почитать документацию и узнать об остальных замечательных особенностях MySQL?

СТОИТ ПОПРОБОВАТЬ В MYSQL 5.0.15

  • Тип данных BIT
  • Курсоры
  • Схемы
  • Точные вычисления
  • Способы хранения ARCHIVE и FEDERATED
  • Транзакции XA
  • Повышенная производительность

Samba 4.0

Будущее совместного доступа к файлам

Samba — наиболее известное сетевое ПО для совместного доступа к файла м и принтерам. Samba работает не просто с Linux, она позволяет обмениваться файлами с компьютерами под управлением Windows или Mac OS. На самом деле, пользователи Windows могут даже не знать, что сервер их сети работает не под Windows; некоторые даже утверждают, что протокол CIF лучше реализован в Samba, чем в самой Windows. Тем не менее, CIF разрабатывается в Microsoft и постоянно развивается. Samba 4.0 представляет собой полностью переработанное ПО, в котором реализованы новые возможности и удалены устаревшие части. Несмотря на то, что код программы до сих пор интенсивно тестируется, Samba 4.0 уже достаточно стабильна и вы вполне можете познакомиться с ней уже сейчас.

Больше возможностей c атрибутами xattr

Одно из наиболее заметных изменений в новой версии — это задание файлам дополнительных атрибутов в целях повышения безопасности. Поэтому вам, возможно, не стоит устанавливать Samba, если у вас нет:

  • Ядра версии 2.6.х
  • Файловой системы с поддержкой расширений xattr (например, ext3)
  • Смонтированной файловой системы с поддержкой xattr

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

CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3FS_
SECURITY=y_

Затем удостоверьтесь, что у вас есть хотя бы один смонтированный раздел, использующий xattr. Для файловой системы ext3 запись в /etc/fstab будет выглядеть примерно так:

/dev/sda1 /home/share ext3 user_xattr 1 1
Персональные инструменты
купить
подписаться
Яндекс.Метрика