30 августа 2012 г.

Порты FreeBSD

Порты FreeBSD

Вместе с FreeBSD в составе базового комплекта системы поставляется богатый набор системных утилит. Однако для выполнения какой-то реальной работы очень скоро возникает необходимость в установке дополнительных приложений сторонних разработчиков. FreeBSD даёт две взаимодополняющих технологии для установки программного обеспечения сторонних разработчиков в вашу систему: Коллекция Портов FreeBSD и бинарные пакеты с программным обеспечением. Любая из этих систем может быть использована для установки самых последних версий ваших любимых приложений с локальных носителей или прямо из сети.
Коллекция Портов - представляет собой в основном набор файлов Makefile, патчей, файлов описаний, и размещается в каталоге /usr/ports.


Порт FreeBSD для приложения является набором файлов, предназначенных для автоматизации процесса компиляции приложения из исходного кода. Файлы, составляющие порт, содержат всю информацию, необходимую для того, чтобы система сделала основную работу за вас. Вы задаёте пару простых команд, и исходный код приложения автоматически загружается, распаковывается, модифицируется, компилируется и устанавливается.


Порты принимают во внимание зависимости. Предположим, что вы хотите установить приложение, которое зависит от некоторой установленной библиотеки. И приложение, и библиотека доступны во FreeBSD в виде портов. Если вы используете систему портов для добавления приложений, то будет обнаружено, что библиотека не была установлена, и сначала будет автоматически выполнена установка библиотеки.

Преимущества портов

  • Пакеты обычно компилируются с консервативными параметрами, потому что они должны работать на максимальном количестве систем. При установке из порта вы можете изменять параметры компиляции для того, чтобы (к примеру) генерировался код, специфичный для процессора Pentium IV или Athlon.
  • Некоторые приложения имеют опции времени компиляции, связанные с тем, что они могут или не могут делать. К примеру, Apache может быть настроен с широким набором различных опций. При построении из порта вы можете не принимать параметры по умолчанию, и задать их самостоятельно.
  • В некоторых случаях для одного и того же приложения будут иметься несколько пакетов для указания конкретных настроек. Например, Ghostscript имеется как пакет ghostscript и как пакет ghostscript-nox11, в зависимости от того, установили вы сервер X11 или нет.
  • Условия лицензирования некоторых дистрибутивов программного обеспечения запрещает распространение в двоичном виде. Они должны распространяться в виде исходного кода.
  • Некоторые не доверяют дистрибутивам в двоичном виде. При использовании исходного кода вы (по крайней мере теоретически) можете прочесть его и попытаться найти потенциальные проблемы самостоятельно.
  • Если у вас есть собственные патчи, вам нужен исходный код для того, чтобы их применять.
  • Некоторым нравится иметь исходный код, чтобы его можно было просматривать и править, заимствовать из него (конечно, при разрешающем это лицензионном соглашении) и тому подобное.

Поиск нужного приложения

Существует несколько способов найти необходимое вам приложение:

1. Если вы знаете точное имя порта, и хотите определить, в какой категории он находится, используйте команду whereis(1). Просто наберите в приглашении ''whereis file'', где file - программа, которую вы хотите установить. И если она имеется в системе, об этом будет сообщено, как показано ниже:

# whereis lsof 
lsof: /usr/ports/sysutils/lsof

Это говорит о том, что lsof (системная утилита) находится в каталоге
/usr/ports/sysutils/lsof.

2. Ещё одним способом поиска некоторого порта является использование встроенной возможности поиска в Коллекции Портов. Чтобы ею воспользоваться, вы должны находиться в каталоге /usr/ports. Очутившись в этом каталоге, выполните команду make search name=program-name, где program-name - это название программы, которую вы хотите найти. Например, если вы ищете lsof:

# cd /usr/ports 
# make search name=lsof 
Port: lsof-4.56.4 
Path: /usr/ports/sysutils/lsof 
Info: Lists information about open files (similar to fstat(1)) 
Maint: obrien@FreeBSD.org 
Index: sysutils 
B-deps: 
R-deps: 

Вам следует обратить особое внимание на строчку
''Path:'', так как в ней указывается, где найти порт.

3. Для выполнения более глубокого поиска вы можете также использовать make search key=string, где string представляет собой некоторый текст, относящийся к искомому порту. При этом будет выполнен поиск в именах портов, комментариях, описаниях и зависимостях, и его можно использовать для поиска портов, связанных с некоторой темой, если вы не знаете названия программы, которую вы ищете.

В обоих этих случаях строка поиска нечувствительна к регистру. Поиск ''LSOF'' приводит к тому же самому результату, что и поиск ''lsof''.

Что содержит порт?

Каждый порт включает:

Makefile. Makefile содержит различные директивы, которые определяют, как приложение должно быть откомпилировано и куда в вашей системе оно должно быть установлено.

Файл distinfo. Этот файл содержит информацию о файлах, которые должны существовать на вашей системе для успешной сборки порта, и их контрольные суммы, для проверки при помощи md5(1) того, что файлы в процессе загрузки не были повреждены.

Каталог files. Этот каталог содержит патчи, использование которых необходимо для компиляции и установки программы в вашей системе FreeBSD. Патчи - это, как правило, маленькие файлы, в которых содержатся изменения, которые нужно внести в какой-то конкретный файл. Они имеют обычный текстовый формат и в основном содержат указания типа ''Удалить строку 10'' или ''Заменить строку 26 на такую ...''. Патчи также называются ''diff-файлами'' или просто ''диффами'', потому что они генерируются программой diff(1)Этот каталог также может содержать другие файлы, используемые для построения порта.

pkg-descr. Это более подробное, зачастую многострочное описание программы.

pkg-plist. Это список всех файлов, которые будут установлены портом. В нем также содержатся указания системе портов на удаление определенных файлов во время удаления порта.

В некоторых портах присутствуют и другие файлы, такие, как pkg-message. Система портов использует эти файлы для обработки особых ситуаций. Если вы хотите узнать более подробно об этих файлах и о портах вообще, то обратитесь к Руководству по созданию портов для FreeBSD.
В порт включаются инструкции относительно того, как выполнять построение из исходного кода, но не сам код. Вы можете получить исходный код с CD-ROM или из Интернет.

Установка портов.

Чтобы начать установку, перейдите в каталог с нужным вам портом: 
# cd /usr/ports/sysutils/lsof

Оказавшись в каталоге lsof, вы увидите структуру порта. Следующим шагом является компиляция, или построение (''build'') порта. Это выполняется простой выдачей команды make install в ответ на приглашение командного процессора. 

# make install 
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. 
>> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
439860 bytes transferred in 18.0 seconds (23.90 kBps) 
===> Extracting for lsof-4.57 
...
[вывод команды при распаковке опущен]
... 
>> Checksum OK for lsof_4.57D.freebsd.tar.gz. 
===> Patching for lsof-4.57 
===> Applying FreeBSD patches for lsof-4.57 
===> Configuring for lsof-4.57 
...
[вывод команды процесса конфигурации опущен] 
... 
===> Building for lsof-4.57 
... 
[вывод команды компиляции опущен] 
... 
===> Installing for lsof-4.57 
... 
[вывод команды процедуры установки опущен] 
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE: 
          This port has installed the following binaries which execute with
          increased privileges. 
#

Как только вы вернулись к приглашению вашей оболочки, вы должны суметь запустить приложение, которое только что установили. Так как lsof является программой, которая запускается с повышенными правами, выдаётся предупреждение о безопасности. Во время построения и установки портов вы должны принимать во внимание все выдаваемые предупреждения.

Удаление установленных портов.

Мы удалим порт из нашего предыдущего примера (а это была программа lsof, если вы обратили внимание). Как и при установке портов, первым делом вы должны перейти в каталог с портом, /usr/ports/sysutils/lsof. После смены каталога вы готовы к удалению lsof. Это делается командой make deinstall:

# cd /usr/ports/sysutils/lsof 
# make deinstall 
===> Deinstalling for lsof-4.57 

Это было достаточно легко. Вы удалили
lsof из вашей системы. Если вам захочется переустановить эту программу, то это можно будет сделать, выдав команду make reinstall из каталога /usr/ports/sysutils/lsof.

23 августа 2012 г.

Установка и русификация Tortoise SVN


Установка и русификация Tortoise SVN

TortoiseSVN — это бесплатный Windows-клиент с открытыми исходным кодом для системы управления версиями Apache™ Subversion®. То есть TortoiseSVN управляет файлами и директориями во времени. Файлы хранятся в центральном хранилище. Хранилище больше похоже на обычный файловый сервер, кроме того он запоминает каждое изменение когда-либо сделанное в ваших файлах и директориях. Это позволяет вам восстановить старые версии ваших файлов и проверить историю изменений — как, когда и кто изменял ваши данные. Вот почему многие думают о Subversion, и вообще о системах управления версиями, как о своего рода «машине времени».
TortoiseSVN работает под операционной системой Windows XP (c Service Pack 3) или выше, и доступен как в 32-битной, так и в 64-битной версии. Установщик для 64-битной Windows также включает 32-битную часть. Что означает что вы не должны устанавливать 32-битную версию отдельно чтобы контекстное меню и оверлей TortoiseSVN работало в 32-битных приложениях.


Где получить Tortoise SVN?


Для скачивания Tortoise SVN необходимо перейти на официальный сайт проекта расположенный по адресу http://tortoisesvn.net/downloads.html. На главной странице доступны две ссылки для  32-х и 64-х битной версии продукта (рис 1):
Рисунок 1

Нажимаем на необходимую ссылку (зависит от разрядности вашей платформы) и нас перенаправляет на сайт http://sourceforge.net (рис 2)
Рисунок 2
Дожидаемся окончания отсчета таймера (красная стрелка) и перед вами появится стандартный диалог сохранения файла. Укажите путь куда вы хотите сохранить установочный файл и нажмите ОК. Если диалог для сохранения не появился попробуйте повторить попытку выбрав другое зеркало для скачивания (синяя стрелка).
После окончания загрузки у вас на жестком диске будет лежать исполняемый файл TortoiseSVN.


Установка Tortoise SVN.


Запустите двойным щелчком исполняемый файл, который вы только что скачали. Перед вами должно появиться следующее окно (рис 3). Здесь разработчики приветствуют вас и предлагают начать установку нажав на кнопку Next. Чтож так и сделаем, жмем Next.
Рисунок 3

На следующем шаге приводится текст лицензионного соглашения, его необходимо прочитать и принять если вы желаете пользоваться программой или отклонить если оно вас не устраивает и вы хотите отменить установку (рис 4). Если все вас устраивает ставим переключатель на пункт I accept the terms in the License Agreement и нажимаем Next.
Рисунок 4

На следующем шаге (рис 5) у нас имеется возможность отключить ненужные нам компоненты. Получить описание каждого компонента можно нажав на его название и увидев справа в блоке Feature Description краткую характеристику. Выставляем нужные настройки и нажимаем Next.
Рисунок 5

На следующем шаге (рис 6) нам сообщают что все готово к установке и если вы вдруг что то забыли настроить или еще раз хотите проверить свои настройки но можете нажать Back. А для установки необходимо нажать Install, что мы и делаем.
Рисунок 6

Начинается процесс установки (рис 7).
Рисунок 7

После окончания установки вы увидите финишное окно (рис 8). Здесь разработчики говорят что установка закончена и вы можете начать пользоваться Tortoise SVN нажав на кнопку Finish. Также вы можете поддержать разработчиков нажав на кнопке Donate!.
Рисунок 8

На этом установка клиента TortoiseSVN закончена.

Русификация TortoiseSVN.


Для получения файла перевода необходимо перейти на сайт проекта http://tortoisesvn.net/downloads.html и найти раздел Language Pasks (рис 9)

Рисунок 9

Напротив русского языка находится несколько ссылок:

  1. русификатор для 32-х битной версии
  2. русификатор для 64-х битной версии
  3. руководство по TortoiseSVN в PDF формате
  4. руководство по TortoiseMerge в PDF формате


Нажимаем на ссылку русификатора удовлетворяющего нашим требованиям (должен совпадать с установленной версией TortoiseSVN) и нас опять перенаправляет на сайт http://sourceforge.net. Действия по скачиванию абсолютно идентичны описанным выше.

После загрузки русификатора к себе на компьютер запустим двойным щелчком исполняемый файл. Перед нами появится диалог установки русского пакета (рис 10). Тут уже все по русски, так что читаем и жмем Далее.
Рисунок 10

Программа установки начинает копирование файлов на наш компьютер (рис 11).
Рисунок 11

После завершения установки появится окно (рис 12) в котором необходимо нажать кнопку Готово.
Рисунок 12

Нажимаем правой кнопкой на в любом пустом месте рабочего стола и в контекстном меню выбираем TortoiseSVN->Settings (рис 13).
Рисунок 13

В настройка во вкладке General в разделе TortoiseSVN->Language выбираем русский (Россия) (рис 14). Сохраняем изменения и получаем русскую версию TortoiseSVN.
Рисунок 14

Для стабильной работы необходимо перезагрузить компьютер! Теперь все готово к работе.



22 августа 2012 г.


Хитрости WINDOWS XP

Пролистывание или несколько колонок?


Если в папке Programs (Программы) содержится слишком много элементов и все они не умещаются на экране, система предлагает воспользоваться одним из двух вариантов. 



  1.  По умолчанию система предлагает пользователю «пролистать» элементы меню, для этого необходимо щелкнуть на специальной стрелочке в нижней части меню. При этом в меню появятся недостающие элементы.
  2.  Существует альтернативный режим, в котором содержимое меню отображается в нескольких колонках. Это может оказаться очень неудобно.
Ни один из вариантов не является идеальным, однако у каждого из них есть свои преимущества. Если вы предпочитаете, чтобы содержимое меню отображалось в нескольких колонках, откройте Control Panel (Панель управления) -> Taskbar and Start Menu (Панель задач и меню «Пуск») -> Start Menu (Меню «Пуск») -> Customize (Настроить). Если вы используете классическое главное меню, в списке Advanced Start menu options (Дополнительные параметры меню «Пуск») сбросьте флажок Scroll Programs (Использовать прокрутку для меню «Программы»). Если вы используете главное меню в стиле ХР, перейдите на вкладку Advanced (Дополнительно) и в списке Start menu items (Элементы меню «Пуск») сбросьте флажок Scroll Programs (Использовать прокрутку для меню «Программы»).

Страничка юмора

Страничка юмора


Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали..

************** 

В жизни есть только три вещи, от которых некуда деться, это смерть, налоги и желание иметь более быстрый процессор!!!

************** 

Программист - самый трудолюбивый работник на фирме. До обеда и пашню засеял, и город построил, и воинов нанял.


**************

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

**************
- Зачем компьютеры пищат, когда нажимаешь сразу много клавиш?
- Чтобы будить уснувших на клавиатуре программистов!


**************

Что делать, когда сломался комп:
1. Если вы user - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид что так было задумано.



************** 
"Если эта надпись уменьшается - ваш монитор уносят!"



************** 


Новость: 
Недавно проходила конференция по борьбе со спамом. Приглашения были разосланы 100 000 000 пользователей.

************** 


Программер идет по улице и видит красивую девушку:
- Девушка, у вас есть е-майл?
- Hет... А что?
- Жаль... так бы познакомились.















20 августа 2012 г.

Настройка Eclipse для работы с Subversion по протоколу svn+ssh в Windows.

Настройка Eclipse для работы с Subversion по протоколу svn+ssh в Windows.


Проблема:

При попытке подключения к репозиторию SVN по ssh Eclipse выкидывал ошибку "svn: Can't create tunnel: The system cannot find the file specified.". Поэтому возникла необходимость разобраться и настроить среду Eclipse для работы с репозиториями SVN по SSH в операционной системе Windows. 

Исходные данные:

Решение:

1. Установка плагина для Eclipse:

В интернете множество статей как это сделать, но все же лучше обо всем по порядку.
Запускаем Eclipse и переходим по следующему пути : Help -> Install New Software... (рис 1).
Рисунок 1



Далее мы попадаем в диалог установки новых модулей для Eclips. Нажимаем кнопку Add для добавления нового репозитория (рис 2).
Рисунок 2

В диалоге Add Repository (рис 3) делаем настройки:
Рисунок 3

В поле Name указываем название какое в голову придет, а в Location прописываем следующий путь:  http://subclipse.tigris.org/update_1.8.x  нажимаем OK.

На экране появится следующий диалог Install, в котором отмечаем пункты для установки (рис 4) и жмем Next.
В репозитории содержится  два раздела

  1. Subclipse - плагин Subversion  для Eclipse 3.2 и выше.
  2. SVNKit - SVNKit библиотека поддержки Subversion 1.7.x API

Subclipse содержит следующие доступные для установки пакеты:

CollabNet Merge Сlient - клиент CollabNet предназначен для выполнения слияний веток, ревизий и так далее в проекте Subversion в среде Eclipse, предоставляет очень широкие возможности.
Subclipse (Required) - собственно сам плагин обеспечивающий работу Eclipse c системой управления версиями Subversion. Как вы заметили из названия required - обязательный компонент.
Subclipse Integration for Mylyn 3.x (Optional) - предоставляет функции интеграции между Subclipse и Mylyn - подсистемой отслеживания ошибок и управления заданиями среды разработки Eclipse. Дополнительно можно посмотреть здесь. Устанавливается по желанию, но мне она очень нравится и я её устанавливаю. В следующих постах поговорим об это подробнее.
Subversion Client Adapter (Required) - Subversion клиент-адаптер обеспечивает общий интерфейс для функциональности клиента Subversion (required - обязательно для установки).
Subversion JavaHL Native Library Adapter - Subversion клиент-адаптер для использования системы Subversion с родной библиотекой JavaHL.
Subversion Revision Graph - модуль позволяет строить граф ревизий вашего проекта.

SVNKit содержит следующие доступные для установки пакеты:

JNA Library - JNA (Java Native Access) позволяет программам на Java получать удобный и простой доступ к внешним системным библиотекам
Subversion Client Adapter (not required) - Subversion клиент-адаптер для использования с чистой Java SVNKit библиотекой.
SVNKit Library - SVNKit является чистой Java Subversion клиентской библиотекой, которая может быть использована через собственный API или выступать в качестве прозрачной замены родного JavaHL.



Таким образом для начальной работы (подключиться к SVN репозиторию и делать коммиты) достаточно установить только обязательные компоненты - Subclipse (Required), Subversion Client Adapter (Required) и возможно понадобится Subversion JavaHL Native Library Adapter. Остальное можно ставить, а можно нет это зависит от ваших потребностей при работе с SVN.
Рисунок 4

Смотрим сводную информацию о выбранных пакетах и жмем Next (рис 5).
Рисунок 5

Соглашаемся с лицензионным соглашением и начинаем установку нажатием на кнопку Finish (рис 6).
Рисунок 6

Устраиваемся поудобнее и смотрим как качаются и устанавливаются наши плагины (рис 7).
Рисунок 7
После установки Eclipse попросит перезагрузиться нажимаем Yes (рис 8).
Рисунок 8

На этом установка плагина закончена. Чтобы проверить данный факт необходимо открыть Help -> Install New Software... (рис 1) и ищем ссылку What is already installed? (можно посмотреть на рис. 2). Нажимаем на нее и видим диалог с установленными дополнениями Eclipse (рис 9).
Рисунок 9

2. Настройка Eclipse

Для начала укажем Eclipse наш приватный ключ. Для этого идем в меню Window->Preferences. В появившемся диалоге выбираем General->Network Connections->SSH2 вкладка General (рис 10). Нажимаем Add Private Key... и выбираем ваш приватный ключ.
Рисунок 10

Следующим шагом нам необходимо настроить интерфейс SVN через который мы будем обращаться к репозиториям. Переходим по следующему пути Team->SVN и в выпадающем списке Client в секции SVN interface выбираем JavaHL (JNI) (рис 11) и сохраняем изменения.
Рисунок 11

Теперь можно проверить что мы получили для работы с SVN в Eclipse. В Eclipse переходим в меню Window->Open Perspective->Other.. и видим окно как на рисунке 12.

Рисунок 12
Выбираем SVN Repository Exploring и наш Eclipse преобразуется в нечто похожее на мой изображенный на рисунке 13. Скрыть/отобразить дополнительные панели можно в меню Window->Show View->.. Вот здесь и будет происходить управление нашим проектом.
Рисунок 13

3. Настройка Windows

Теперь необходимо указать нашей системе каким образом она будет работать с ключами. Для этого нам необходимо создать новую системную переменную. Нажимаем на ярлыке "Мой компьютер" правую кнопку мыши и выбираем пункт "Свойства", в появившемся окне переходим на вкладку "Дополнительно". Нажимаем кнопку "Переменные среды" (рис 14).
Рисунок 14

Перед вами появится переменные среды вашей системы, для добавления новой переменной необходимо нажать кнопку "Создать" (рис 15)
Рисунок 15

В появившемся окне необходимо ввести следующие данные:
Имя переменной: SVN_SSH
Значение переменной: C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe

Значение переменной должно содержать путь к исполняемому файлу TortoisePlink.exe, который входит в TortoiseSVN. Самое главное здесь это слеши "\ \". Это очень важно, иначе не будет работать. (рис 16)
Рисунок 16

4. Подключение к репозиторию SVN

Все предварительные настройки мы закончили и теперь можно переходить непосредственно к работе с проектом, расположенном в Subversion. Итак запускаем Eclipse и создаем новый проект  File->New->Other... (рис 17).
Рисунок 17
В появившемся диалоге выбираем тип проекта SVN->Checkout projects from SVN жмем Next (рис 18).
Рисунок 18
Выбираем создать новый путь к репозиторию Create a new repository location и жмем кнопку Next (рис 19)
Рисунок 19
На следующем экране вставляем Url путь к вашему репозиторию и нажимаем кнопку Next (рис 20).
Рисунок 20
Eclipse пытается соединиться с вашим репозиторием и если вы все указали верно то отобразится структура каталогов вашего репозитория (рис 21).
Рисунок 21
Жмем Next и на следующем шаге вводим имя нашего проекта в поле Project Name. При желании можно указать ревизию, которую следует скачивать (рис 22).
Рисунок 22
Eclipse спросит вас какое рабочее пространство использовать для данного проекта (рис 23). Выбираем свое или используем по умолчанию.
Рисунок 23
Нажимаем кнопку Finish и наблюдаем как Eclipse выкачивает ваш проект из репозитория (рис 24).
Рисунок 24
В  результате наш Eclipse примет следующий вид в перспективе SVN Repository Exploring (рис 25) и в перспективе Java (рис 26).
Рисунок 25

Рисунок 26
На это настройка закончена и можно приступать к работе над проектом.