среда, 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'],
    }
}

понедельник, 1 апреля 2013 г.

[ANDROID] "Переносим" данные из внутренней памяти телефона на флеш-карту

1. Определитесь где у вас на (флешке) будут храниться перенесенные данные и создайте для них папку. Например Bind
2. Создайте в только что созданной папке еще одну папку с именем gameloft
3. Перенесите в нее содержимое папки /mnt/sdcard/gameloft/games
4. Скачайте с маркета бесплатное приложение Script Manager
5. Решите где у вас будет лежать скрипт ==> Создайте папку Scripts.
6. Запустите Script Manager и перейдите в эту папку.
7. Создайте новый скрипт (меню-(+)) и назовите его bind.sh
8. Щелкните по свежесозданному файлу и в появившемся меню нажмите:
Звездочку - это добавит наш скрипт в избранное.
Черепок - запуск скрипта с root привилегиями.
Шестеренку - добавит скрипт в автозагрузку.
Далее жмем кнопку Edit и открываем скрипт любимым текстовым редактором.
9. Настало время для самого сложного
Структура команды:
mount -o bind </что/хотите/смонтировать> </куда/хотите/смонтировать>
Исходя из этого у нас получается:
mount -o bind /mnt/sdcard2/bind/gameloft /mnt/sdcard/gameloft/games
иными словами мы говорим системе что содержимое папки /sdcard/gameloft/games находится в папке /sdcard2/bind/gameloft

10. В открытом файле  пишем:
#!/system/bin/sh
mount -o bind /mnt/sdcard2/bind/gameloft /mnt/sdcard/gameloft/games

exit 0


#!/system/bin/sh
##Cashe gameloft
mount -o bind /mnt/sdcard2/bind/gameloft /mnt/sdcard/gameloft/games
##Cashe Spectral Souls
mount -o bind /mnt/sdcard2/bind/hyperdevbox /mnt/sdcard/hyperdevbox
##Maps 2GIS
mount -o bind /mnt/sdcard2/bind/2gisMobile /mnt/sdcard/2gisMobile
exit 0

11. Сохраняем файл и закрываем текстовый редактор.
12. Жмем кнопку Run и идем в папку /gameloft/games
Если кэши в ней видны, значит вы все сделали правильно, можно запустить и проверить игру.
При следующей перезагрузке скрипт выполнится автоматически.

По аналогии переносим другие данные просто дописывая в этот скрипт.