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

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

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(викификация, оформление)
 
(викификация, оформление)
 
(не показана 1 промежуточная версия 1 участника)
Строка 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
 +
 +
===Устанавливаем Samba===
 +
 +
При наличие хорошего Интернет-соединения, лучшим способом будет
 +
загрузка последней версии исходного кода с сервера Samba Subversion.
 +
Выполните
 +
 +
svn co svn://svnanon.samba.org/samba/branches/SAMBA_4_0 samba4
 +
 +
Эта команда проверит наличие наиболее свежей версии ''Samba'' на web-сайте http://Samba.org. Иногда все работает не совсем так, как описано в нашем журнале, в таком случае обратитесь к файлу '''howto.txt''' в директории '''samba4'''. Вы также можете установить ''Samba'' с нашего диска, но эта версия, скорее
 +
всего, не будет самой новой. Подразумевая, что у вас имеется компилятор ''GCC'' версии 3.4 или более
 +
новый, мы советуем вам скомпилировать Samba следующим образом:
 +
 +
cd samba4/source
 +
./autogen.sh
 +
./configure.developer -C
 +
make pch
 +
make
 +
 +
Программа должна быть собрана без проблем, так что теперь ее нужно установить в систему. Если у вас уже была
 +
''Samba'', то вы, возможно, хотите установить новую версию в определенную
 +
директорию — по умолчанию используется '''/usr/local/samba'''.
 +
Переключитесь в режим суперпользователя и введите команду ''make install''.
 +
 +
===Запущена и готова к работе===
 +
 +
Следующим действием будет то, что разработчики называют «снаряжением» (“provisioning”). Это включает
 +
настройку основной базы данных, которая будет использоваться программой, а также создание конфигурации с указанием файлов, к которым нужен совместный доступ, и прочих параметров. Если вы хотите просто
 +
ознакомиться с системой, настройки не будут слишком сложными. В исходном коде ''Samba'' имеется
 +
скрипт, который создает базовые настройки:
 +
 +
cd source
 +
./setup/provision --
 +
realm=YOURREALM --
 +
domain=YOURDOM --
 +
adminpass=SOMEPASSWORD
 +
 +
Подставьте значения сетевого ресурса (realm) и домена в соответствующие поля, и не забудьте указать пароль!
 +
Если у вас до этого уже была установленная ''Samba'', вы можете повторно использовать файл '''smb.conf''' (скопируйте '''/usr/local/samba/lib/smb.conf'''), или создать свой собственный примерно такого содержания:
 +
 +
[globals]
 +
          netbios name = localhost
 +
          workgroup = YOURDOM
 +
          realm = YOURREALM
 +
          server role = pdc
 +
[test]
 +
          path = /home/share
 +
          read only = no
 +
 +
Имя рабочей группы (Workgoup) должно точно соответствовать ключу '''—domain''', указанному в сценарии '''provision'''. Перед запуском нового файл-сервера вы, возможно, захотите
 +
убедиться, что ОС знает путь ко всем скомпилированным модулям ''Samba''.
 +
Задайте путь к нужным директориям:
 +
 +
export PATH = $PATH:/usr/local/samba/bin:/usr/local/samba/sbin
 +
 +
Эту строку есть смысл добавить в один из стартовых скриптов, чтобы не
 +
писать ее после каждой загрузки ПК.
 +
 +
Теперь вы можете запустить демон ''Samba''. Для тестирования мы рекомендуем следующую команду:
 +
 +
smbd -i -M single -d3
 +
 +
Это следует понимать так: «'''запуск одного процесса smbd без вывода в stdout, с уровнем отладки 3'''». Новая
 +
версия больше не требует наличия запущенного процесса '''nmbd''' из ''Samba 3.x''. Если в системе уже запущены процессы '''smbd''' или '''nmbd''' из старой ''Samba'', их нужно завершить перед запуском ''Samba 4.0''.
 +
 +
Теперь можно проверить работу клиента, подключившись к системе с другого компьютера (даже под
 +
Windows), или локально, средствами самого клиента ''Samba'':
 +
 +
smbclient //localhost/test -Uadministrator %SOMEPASSWORD
 +
 +
Будущее общего доступа к файлам теперь в вашей власти!
 +
 +
===ПРОВЕРЯЕМ ФАЙЛОВУЮ СИСТЕМУ===
 +
 +
В целях безопасности ''Samba 4.0'' использует расширенные атрибуты файлов, поэтому
 +
перед запуском ''Samba'' вам нужно включить поддержку этих атрибутов. Чтобы проверить,
 +
имеется ли эта поддержка или нет, установите пакет '''attr''' для вашего дистрибутива и введите следующие команды от лица суперпользователя:
 +
 +
touch test.txt
 +
  setfattr -n user.test -v test test.txt
 +
  setfattr -n security.test -v test2 test.txt
 +
  getfattr -d test.txt
 +
  getfattr -n security.test -d test.txt
 +
 +
Вывод команды должен выглядеть так:
 +
 +
# file: test.txt
 +
  user.test=”test”
 +
# file: test.txt
 +
  security.test=”test2”
 +
 +
Любые ошибки типа «Operation not supported» («Операция не поддерживается») означают, что ядро не поддерживает
 +
атрибут '''xattr''' или ваша файловая система не смонтирована должным образом. Если в сообщение об ошибке значится «Operation not permitted» («Операция не разрешена»), удостоверьтесь, что вы запускаете команды от лица root!
 +
 +
==Autopackage==
 +
 +
: Этот универсальный менеджер пакетов заставит программу работать в любом дистрибутиве, так что забудьте про ''RPM, APT, Yum'' и попробуйте его сейчас!
 +
 +
У нас есть дюжина web-браузеров, пара дюжин текстовых редакторов и бесчисленное множество способов установить ПО.
 +
Да, это делают птички, это делают пчелки, и даже специально обученные обезьянки хотят это делать: устанавливать программы. Нам всем нужно устанавливать ПО, но пользователям SUSE предлагается один метод, в Fedora используется другой, а приверженцы Gentoo вообще обходятся компиляцией.
 +
 +
''Autopackage'' позволяет вам установить программу на любом дистрибутиве совершенно
 +
одинаковым способом, поэтому мы считаем, что менеджер пакетов станет стандартным инструментом для многих дистрибутивов в ближайшие годы. В формате ''Autopackage'' выпускается уже довольно много программ, поэтому вы можете воспользоваться им уже сейчас и помахать рукой нерешенным зависимостям!
 +
 +
===''Autopackage'' изменит вашу жизнь: пример ''Abiword''===
 +
 +
# При первой попытке установить файл '''*.package''' происходит инсталляция системы ''Autopackage''. На нашем диске в директории '''Office/''' вы найдете пакет ''Abiword'' с расширение '''.package'''. Можно либо сделать его исполняемым файлом, введя команду ''chmod o+x *.package'', либо просто выполнить как скрипт: ''sh ./abiword-2.4.1.package''.
 +
# Теперь требуется загрузить дополнительный код ''Autopackage'' — собственно менеджер пакетов. Для подтверждения выбора нажмите '''[Enter]''', и программа все сделает за вас. Потребуется соединение с Интернетом, но загрузка отнимет всего несколько минут.
 +
# Чтобы предоставить доступ к ''Autopackage'' всем пользователям компьютера, требуется ввести пароль root. Если вы хотите использовать менеджер пакетов только в свое учетной записи, выберите пункт «'''No password'''» (без пароля). Это никак не влияет на установку ''Abiword'' и затрагивает лишь настройки самого ''Autopackage'' и прав доступа к нему.
 +
# ''Autopackage'' автоматически предлагает пользователям графический интерфейс на основе ''GTK2''. Вам вновь потребуется ввести пароль root (на этот раз для установки ''Abiword'' для всех пользователей) и программа загрузит оставшиеся необходимые пакеты.
 +
# После появления итогового окна со сводкой по установке, вы можете либо ввести команду ''abiword'' в терминале, либо выбрать соответствующий пункт меню, который обычно выглядит как '''Word Processing > Word Processor'''
 +
# Если через неделю вам захочется удалить ''Abiword'', вы также сделаете это без труда с помощью ''Autopackage''. В главном меню найдите раздел '''System Tools (инструменты) > Manage 3rd Party Software''' и откройте графический интерфейс ''Autopackage''. Найдите в списке ''Abiword'' и нажмите кнопку «'''Удалить'''». Если при установке вы вводили пароль, вам потребуется сделать это снова.
 +
 +
==Skippy==
 +
 +
: Забудьте про панель задач с помощью ''Skippy''
 +
 +
В целом, работа старой как мир панели задач всех устраивает, но и у нее есть недостатки: загромождение ценного пространства на экране и слабая индикация состояния программы (всего лишь пиктограмма и немного текста). Для
 +
Mac’ов OS X Apple предложила более эффектный и несомненно удобный способ переключения
 +
между запущенными приложениями: ''Expose''. Для каждого окна создаются уменьшенные снимкикопии, по которым видно, что из себя представляет каждое запущенное приложение.
 +
Переключение при этом сводится к выбору нужной миниатюры с помощью мыши.
 +
 +
''Skippy'' является аналогом этой системы для Linux и других ОС, использующих X-сервер.
 +
Программу очень просто установить и запустить, причем она будет работать практически в любом оконном менеджере и рабочей среде. ''Skippy'' можно найти на нашем диске или взять с http://thegraveyard.org/skippy.php
 +
 +
===Переходим к установке===
 +
 +
'''Шаг 1'''. Для начала, вам потребуется исходный код программы. Его можно взять с прилагаемого к журналу диска
 +
(директория '''FutureLinux/Skippy'''). Обратите внимание на наличие двух версий: обычный ''Skippy'' и ''Skippy-XD'', обеспечивающий дополнительные эффекты (об этом немного позже). Для начала распакуйте файл
 +
'''skippy-0.5.0.tar.bz2''' на жесткий диск
 +
 +
'''Шаг 2.''' В терминале перейдите в директорию с исходным кодом и скомпилируйте программу:
 +
 +
cd skippy-0.5.0/
 +
make
 +
 +
При условии, что у вас установлены пакеты разработчика ''X'', никаких ошибок возникнуть не должно
 +
 +
'''Шаг 3.''' Запускаем команду ''./ skippy'' и… ничего не происходит! На самом деле, все и должно быть так. Нажмите ['''F11'''] и программа «оживет», отобразив миниатюры открытых в текущий
 +
момент окон, которые можно выбирать мышью. Выглядит это очень красиво: возможно, не так ярко, как
 +
''Expose'', но, тем не менее, достаточно интересно, чтобы удивить людей.
 +
Единственным недостатком можно считать внутреннюю проблему ''X''-сервера, из-за чего после нажатия
 +
['''F11'''] происходит задержка, и окна отрисовываются не сразу. ''Skippy-XD'' отличается тем, что в режиме
 +
реального времени отображает содержимое открытых окон, для чего задействуются расширения
 +
'''XDamage''' и '''XComposite'''. Возможно, таким будет переключение программ в будущем Linux?
 +
 +
[[Изображение:LXF74_techno6.jpg|300px]]
 +
 +
'''Эффект полупрозрачности делает рабочий стол еще более привлекательным'''
 +
 +
==Кое-что еще…==
 +
 +
: Инноваций и усовершенствований готовится достаточно, чтобы сделать 2006-й годом реального взлета Linux….
 +
 +
На подходе новые версии некоторых прикладных
 +
программ. В ''Gimp 2.4'' ожидается появление технологии SIOX, при помощи которой можно будет отделять сложные объекты от неоднородного фона. Версия 1.4 издательской системы ''Scribus'' может
 +
похвастаться поддержкой '''Cairo''' (при запуске скрипта ''configure'' не забудьте про флаг '''—enable-cairo''').
 +
Наконец, ''Gaim'' и ''Inkscape'' показали себя очень неплохо на конкурсе Google’s Summer of Code, где
 +
наиболее активные студенты получили гранты на развитие ПО с открытым исходным кодом. В ''Inkscape'' появилась новая панель '''Whiteboard''', которая позволяет обмениваться документами с друзьями при помощи ''Jabber''. Со своей стороны, ''Gaim'' теперь поддерживает протоколы Apple Bonjour, SIP и позволяет работать с UPnP NAT.
 +
Что бы ВАМ больше всего хотелось увидеть в Новом году? Как вы оцениваете наш обзор?
 +
Пишите нам по знакомым адресам: [mailto:letters@linuxformat.ru letters@linuxformat.ru] и [mailto:lxf.letters@futurenet.co.uk lxf.letters@futurenet.co.uk] '''LXF'''
 +
 +
===Xfce===
 +
 +
''Xfce'', относительно легкое окружение рабочего стола на основе ''GTK'', в версии 4.4 обзаведется
 +
новым файловым менеджером. Разработчики остановили свой выбор на ''Thunar'' (http://thunar.xfce.org), который заменит неуклюжий ''Xffm'', используемый сейчас. ''Xfce'' уже сейчас выглядит
 +
гораздо красивее и удобнее. Текущую версию оболочки можно найти на нашем диске, или загрузить через репозитарий SVN:
 +
 +
svn checkout http://svn.xfce.org/svn/xfce/modules/trunk
 +
 +
===Looking Glass===
 +
 +
Чего больше в трехмерных оконных менеджерах: функциональности или ненужных «наворотов»? Летом 2004 года корпорация Sun запустила свое знаменитое 3D-окружение рабочего стола в качестве открытого проекта Project
 +
Looking Glass. В наши дни небольшое, но активное сообщество развивает свою деятельность
 +
по адресу https://lg3d-core.dev.java.net. Вы тоже можете опробовать LG, записав ISO-образ с нашего DVD на обычный CD-диск.
 +
 +
===Enlightenment===
 +
 +
В конце 90-х, ''Enlightenment'' (известный как просто ''E'') был королем оконных менеджеров.
 +
От его эффектов полупрозрачности и тем оформления непроизвольно открывался рот.
 +
Теперь работа над проектом ведется в несколько другом направлении. Разработчики сосредоточились на создании графического окружения с собственным файловым менеджером. Версия '''DR17''' будет включать в себя новый механизм
 +
отрисовки, новые базовые библиотеки и возможности написания скриптов с поддержкой
 +
VM. Чтобы загрузить текущую версию, зайдитe на сайт http://enlightenment.freedesktop.org
 +
или используйте следующие команды (вместо пароля нажимайте просто ['''Enter''']):
 +
 +
cvs -d:pserver:anonymous@cvs.sourceforge.net:/
 +
cvsroot/enlightenment login
 +
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/
 +
cvsroot/enlightenment co e17

Текущая версия на 08:21, 17 февраля 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

[править] Устанавливаем Samba

При наличие хорошего Интернет-соединения, лучшим способом будет загрузка последней версии исходного кода с сервера Samba Subversion. Выполните

svn co svn://svnanon.samba.org/samba/branches/SAMBA_4_0 samba4

Эта команда проверит наличие наиболее свежей версии Samba на web-сайте http://Samba.org. Иногда все работает не совсем так, как описано в нашем журнале, в таком случае обратитесь к файлу howto.txt в директории samba4. Вы также можете установить Samba с нашего диска, но эта версия, скорее всего, не будет самой новой. Подразумевая, что у вас имеется компилятор GCC версии 3.4 или более новый, мы советуем вам скомпилировать Samba следующим образом:

cd samba4/source
./autogen.sh
./configure.developer -C
make pch
make

Программа должна быть собрана без проблем, так что теперь ее нужно установить в систему. Если у вас уже была Samba, то вы, возможно, хотите установить новую версию в определенную директорию — по умолчанию используется /usr/local/samba. Переключитесь в режим суперпользователя и введите команду make install.

[править] Запущена и готова к работе

Следующим действием будет то, что разработчики называют «снаряжением» (“provisioning”). Это включает настройку основной базы данных, которая будет использоваться программой, а также создание конфигурации с указанием файлов, к которым нужен совместный доступ, и прочих параметров. Если вы хотите просто ознакомиться с системой, настройки не будут слишком сложными. В исходном коде Samba имеется скрипт, который создает базовые настройки:

cd source
./setup/provision --
realm=YOURREALM --
domain=YOURDOM --
adminpass=SOMEPASSWORD

Подставьте значения сетевого ресурса (realm) и домена в соответствующие поля, и не забудьте указать пароль! Если у вас до этого уже была установленная Samba, вы можете повторно использовать файл smb.conf (скопируйте /usr/local/samba/lib/smb.conf), или создать свой собственный примерно такого содержания:

[globals]
         netbios name = localhost
         workgroup = YOURDOM
         realm = YOURREALM
         server role = pdc
[test]
         path = /home/share
         read only = no

Имя рабочей группы (Workgoup) должно точно соответствовать ключу —domain, указанному в сценарии provision. Перед запуском нового файл-сервера вы, возможно, захотите убедиться, что ОС знает путь ко всем скомпилированным модулям Samba. Задайте путь к нужным директориям:

export PATH = $PATH:/usr/local/samba/bin:/usr/local/samba/sbin

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

Теперь вы можете запустить демон Samba. Для тестирования мы рекомендуем следующую команду:

smbd -i -M single -d3

Это следует понимать так: «запуск одного процесса smbd без вывода в stdout, с уровнем отладки 3». Новая версия больше не требует наличия запущенного процесса nmbd из Samba 3.x. Если в системе уже запущены процессы smbd или nmbd из старой Samba, их нужно завершить перед запуском Samba 4.0.

Теперь можно проверить работу клиента, подключившись к системе с другого компьютера (даже под Windows), или локально, средствами самого клиента Samba:

smbclient //localhost/test -Uadministrator %SOMEPASSWORD

Будущее общего доступа к файлам теперь в вашей власти!

[править] ПРОВЕРЯЕМ ФАЙЛОВУЮ СИСТЕМУ

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

touch test.txt
 setfattr -n user.test -v test test.txt
 setfattr -n security.test -v test2 test.txt
 getfattr -d test.txt
 getfattr -n security.test -d test.txt

Вывод команды должен выглядеть так:

# file: test.txt
 user.test=”test”
# file: test.txt
 security.test=”test2”

Любые ошибки типа «Operation not supported» («Операция не поддерживается») означают, что ядро не поддерживает атрибут xattr или ваша файловая система не смонтирована должным образом. Если в сообщение об ошибке значится «Operation not permitted» («Операция не разрешена»), удостоверьтесь, что вы запускаете команды от лица root!

[править] Autopackage

Этот универсальный менеджер пакетов заставит программу работать в любом дистрибутиве, так что забудьте про RPM, APT, Yum и попробуйте его сейчас!

У нас есть дюжина web-браузеров, пара дюжин текстовых редакторов и бесчисленное множество способов установить ПО. Да, это делают птички, это делают пчелки, и даже специально обученные обезьянки хотят это делать: устанавливать программы. Нам всем нужно устанавливать ПО, но пользователям SUSE предлагается один метод, в Fedora используется другой, а приверженцы Gentoo вообще обходятся компиляцией.

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

[править] Autopackage изменит вашу жизнь: пример Abiword

  1. При первой попытке установить файл *.package происходит инсталляция системы Autopackage. На нашем диске в директории Office/ вы найдете пакет Abiword с расширение .package. Можно либо сделать его исполняемым файлом, введя команду chmod o+x *.package, либо просто выполнить как скрипт: sh ./abiword-2.4.1.package.
  2. Теперь требуется загрузить дополнительный код Autopackage — собственно менеджер пакетов. Для подтверждения выбора нажмите [Enter], и программа все сделает за вас. Потребуется соединение с Интернетом, но загрузка отнимет всего несколько минут.
  3. Чтобы предоставить доступ к Autopackage всем пользователям компьютера, требуется ввести пароль root. Если вы хотите использовать менеджер пакетов только в свое учетной записи, выберите пункт «No password» (без пароля). Это никак не влияет на установку Abiword и затрагивает лишь настройки самого Autopackage и прав доступа к нему.
  4. Autopackage автоматически предлагает пользователям графический интерфейс на основе GTK2. Вам вновь потребуется ввести пароль root (на этот раз для установки Abiword для всех пользователей) и программа загрузит оставшиеся необходимые пакеты.
  5. После появления итогового окна со сводкой по установке, вы можете либо ввести команду abiword в терминале, либо выбрать соответствующий пункт меню, который обычно выглядит как Word Processing > Word Processor
  6. Если через неделю вам захочется удалить Abiword, вы также сделаете это без труда с помощью Autopackage. В главном меню найдите раздел System Tools (инструменты) > Manage 3rd Party Software и откройте графический интерфейс Autopackage. Найдите в списке Abiword и нажмите кнопку «Удалить». Если при установке вы вводили пароль, вам потребуется сделать это снова.

[править] Skippy

Забудьте про панель задач с помощью Skippy

В целом, работа старой как мир панели задач всех устраивает, но и у нее есть недостатки: загромождение ценного пространства на экране и слабая индикация состояния программы (всего лишь пиктограмма и немного текста). Для Mac’ов OS X Apple предложила более эффектный и несомненно удобный способ переключения между запущенными приложениями: Expose. Для каждого окна создаются уменьшенные снимкикопии, по которым видно, что из себя представляет каждое запущенное приложение. Переключение при этом сводится к выбору нужной миниатюры с помощью мыши.

Skippy является аналогом этой системы для Linux и других ОС, использующих X-сервер. Программу очень просто установить и запустить, причем она будет работать практически в любом оконном менеджере и рабочей среде. Skippy можно найти на нашем диске или взять с http://thegraveyard.org/skippy.php

[править] Переходим к установке

Шаг 1. Для начала, вам потребуется исходный код программы. Его можно взять с прилагаемого к журналу диска (директория FutureLinux/Skippy). Обратите внимание на наличие двух версий: обычный Skippy и Skippy-XD, обеспечивающий дополнительные эффекты (об этом немного позже). Для начала распакуйте файл skippy-0.5.0.tar.bz2 на жесткий диск

Шаг 2. В терминале перейдите в директорию с исходным кодом и скомпилируйте программу:

cd skippy-0.5.0/
make

При условии, что у вас установлены пакеты разработчика X, никаких ошибок возникнуть не должно

Шаг 3. Запускаем команду ./ skippy и… ничего не происходит! На самом деле, все и должно быть так. Нажмите [F11] и программа «оживет», отобразив миниатюры открытых в текущий момент окон, которые можно выбирать мышью. Выглядит это очень красиво: возможно, не так ярко, как Expose, но, тем не менее, достаточно интересно, чтобы удивить людей. Единственным недостатком можно считать внутреннюю проблему X-сервера, из-за чего после нажатия [F11] происходит задержка, и окна отрисовываются не сразу. Skippy-XD отличается тем, что в режиме реального времени отображает содержимое открытых окон, для чего задействуются расширения XDamage и XComposite. Возможно, таким будет переключение программ в будущем Linux?

LXF74 techno6.jpg

Эффект полупрозрачности делает рабочий стол еще более привлекательным

[править] Кое-что еще…

Инноваций и усовершенствований готовится достаточно, чтобы сделать 2006-й годом реального взлета Linux….

На подходе новые версии некоторых прикладных программ. В Gimp 2.4 ожидается появление технологии SIOX, при помощи которой можно будет отделять сложные объекты от неоднородного фона. Версия 1.4 издательской системы Scribus может похвастаться поддержкой Cairo (при запуске скрипта configure не забудьте про флаг —enable-cairo). Наконец, Gaim и Inkscape показали себя очень неплохо на конкурсе Google’s Summer of Code, где наиболее активные студенты получили гранты на развитие ПО с открытым исходным кодом. В Inkscape появилась новая панель Whiteboard, которая позволяет обмениваться документами с друзьями при помощи Jabber. Со своей стороны, Gaim теперь поддерживает протоколы Apple Bonjour, SIP и позволяет работать с UPnP NAT. Что бы ВАМ больше всего хотелось увидеть в Новом году? Как вы оцениваете наш обзор? Пишите нам по знакомым адресам: letters@linuxformat.ru и lxf.letters@futurenet.co.uk LXF

[править] Xfce

Xfce, относительно легкое окружение рабочего стола на основе GTK, в версии 4.4 обзаведется новым файловым менеджером. Разработчики остановили свой выбор на Thunar (http://thunar.xfce.org), который заменит неуклюжий Xffm, используемый сейчас. Xfce уже сейчас выглядит гораздо красивее и удобнее. Текущую версию оболочки можно найти на нашем диске, или загрузить через репозитарий SVN:

svn checkout http://svn.xfce.org/svn/xfce/modules/trunk

[править] Looking Glass

Чего больше в трехмерных оконных менеджерах: функциональности или ненужных «наворотов»? Летом 2004 года корпорация Sun запустила свое знаменитое 3D-окружение рабочего стола в качестве открытого проекта Project Looking Glass. В наши дни небольшое, но активное сообщество развивает свою деятельность по адресу https://lg3d-core.dev.java.net. Вы тоже можете опробовать LG, записав ISO-образ с нашего DVD на обычный CD-диск.

[править] Enlightenment

В конце 90-х, Enlightenment (известный как просто E) был королем оконных менеджеров. От его эффектов полупрозрачности и тем оформления непроизвольно открывался рот. Теперь работа над проектом ведется в несколько другом направлении. Разработчики сосредоточились на создании графического окружения с собственным файловым менеджером. Версия DR17 будет включать в себя новый механизм отрисовки, новые базовые библиотеки и возможности написания скриптов с поддержкой VM. Чтобы загрузить текущую версию, зайдитe на сайт http://enlightenment.freedesktop.org или используйте следующие команды (вместо пароля нажимайте просто [Enter]):

cvs -d:pserver:anonymous@cvs.sourceforge.net:/
cvsroot/enlightenment login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/
cvsroot/enlightenment co e17
Персональные инструменты
купить
подписаться
Яндекс.Метрика