четверг, 29 августа 2013 г.

[RPM] Встроенные макросы

Built-in macros

RPM includes a host of built-in macros, including the following useful directories:
%_prefix /usr
%_exec_prefix %{_prefix}
%_bindir %{_exec_prefix}/bin
%_sbindir %{_exec_prefix}/sbin
%_libexecdir %{_exec_prefix}/libexec
%_datadir %{_prefix}/share
%_sysconfdir %{_prefix}/etc
%_sharedstatedir %{_prefix}/com
%_localstatedir %{_prefix}/var
%_libdir %{_exec_prefix}/lib
%_includedir %{_prefix}/include
%_oldincludedir /usr/include
%_infodir %{_prefix}/info
%_mandir %{_prefix}/man
The example directories shown above come from the standard RPM macro file, /usr/lib/rpm/macros, instead of the Red Hat-specific file, /usr/lib/rpm/redhat/macros, which holds:
%_prefix /usr
%_sysconfdir /etc
%_localstatedir /var
%_infodir /usr/share/info
%_mandir /usr/share/man
%_initrddir %{_sysconfdir}/rc.d/init.d
%_defaultdocdir %{_usr}/share/doc

[DEBIAN] Устанавливаем локаль ru_RU.UTF8

apt-get install locales - на все вопросы вносим Y. vi /etc/environment - открываем файл на редактирование и удаляем из него любые записи и вносим одну: LANG="ru_RU.UTF-8"
Помощь по использованию vi находится здесь: Vi или откройте файл через WinSCP
Редактируем файл /etc/locale.gen тем же vi: vi /etc/locale.gen - В списке находим ru_RU.UTF-8 UTF-8 и удаляем значек # перед записью. Сохраняем файл.
locale-gen - запускаем команду для генерации локали. Пример ниже:
root@test:~# locale-gen
Generating locales (this might take a while)...
ru_RU.UTF-8... done
Generation complete.
Перезаходим на сервер. В клиенте, который Вы используете для связи с сервером делаем следующее (большинство людей использует Putty: SSH):
После того как Вы вошли на сервер, кликните на верхнюю часть окна Putty правой кнопкой мыши, выше черного. Выберите Change Settings -> Window - Translation -> из списка выберите UTF-8 и нажмите Apply внизу.
Теперь Вы сможете видеть русский язык в окне связи с сервером при выполнении различных команд.

четверг, 30 мая 2013 г.

How do I find what dependencies a rpm file has?

RPM is a Package Manager for popular distribution such as Red Hat, Suse and many others. It is a powerful command line package management system for installing uninstalling, verifying, querying, and updating Linux computer software packages.
You can finding out what dependencies a rpm file has i.e. it will tell you what you need to install package with following command:
rpm -qpR {.rpm-file}
rpm -qR {package-name}


Otherwise you can try to install it end will get error message if some of the deps wouldnot be installed.
rpm -ivh {.rpm-file}

Цинизм в IT: Как собирать RPM под CentOS 5?

Цинизм в IT: Как собирать RPM под CentOS 5?

среда, 10 апреля 2013 г.

Ставим Puppet в CentOS 6

Как ни забавно, но столкнулся со странной проблемой при установке сабжа. Скорее это по моему недосмотру, но все же. Суть -- вылетало с ошибкой при попытке установки ruby-libs.
Пофиксилось командой yum clean all, очень рекомендую ее сделать перед установкой паппета.

Далее, в репе нет puppet, поэтому нам надо добавить репу с паппетом:
rpm -ivh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-6.noarch.rpm

Далее просто yum install puppet чтобы установить клиент, ну и yum install puppet-master , чтобы установить сервер.


вторник, 9 апреля 2013 г.

[PUPPET] Ставим пакеты из backports

Возникла необходимость поставить пакет из бекпортов через apt-get с помощью паппета.
Для этого необходимо проделать примерно следующее (кусок манифеста из рабочего проекта)

class collectd {
# directories and filenames setup
    $apt_sources_dir = '/etc/apt/sources.list.d'
    $apt_sources_file = 'backports.list'

    file { "{$apt_sources_dir}/{$apt_sources_file}":
        ensure    => file,
        content    => 'deb http://backports.debian.org/debian-backports squeeze-backports main',
    }
#
    exec { "apt-get update":
        command => "/usr/bin/apt-get update",
        onlyif => "/bin/sh -c '[ ! -f /var/cache/apt/pkgcache.bin ] || /usr/bin/find /etc/apt/* -cnewer /var/cache/apt/pkgcache.bin | /bin/grep . > /dev/null'",
    }
# installing package
    package { "collectd-core/squeeze-backports":
        ensure => "latest",
        require => Exec['apt-get update'],
    }
}