Skip to content


Работаем с iPod в Linux

Рецепт для тех, кто хочет использовать свой iPod как нормальный MP3-плеер и как обычную флешку без всяких там извращений типа ITunes и прочего.

  1. Качаем утилиту gnupod.
  2. Распаковываем архив, делаем традиционные "configure" и "make install". При этом, возможно, придется установить некоторые модули Perl. В моем случае это были такие (ставились yum-ом):
    • perl-IO-Compress-Base
    • perl-Compress-Raw-Zlib
    • perl-IO-Compress-Zlib
    • perl-Compress-Zlib
    • perl-HTML-Tagset
    • perl-HTML-Parser
    • perl-libwww-perl
    • perl-XML-Parser
    • perl-Unicode-String
    • perl-MP3-Info
  3. Подключаем iPod, монтируем его куда-нибудь:
    /bin/mount -t vfat /dev/sdc /mnt/ipod
  4. Запускаем скрипт инициализации:
    gnupod_INIT.pl -m /mnt/ipod
  5. Добавляем нужные треки на iPod, к примеру, из директории ~/mytracks:
    find ~/mytracks -name "*.mp3" | sort | gnupod_addsong.pl -m /mnt/ipod -

    (обратите внимание на дефис в конце команды – это заставляет скрипт считывать имена файлов из стандартного ввода). Использование команды sort необязательно, но бывает весьма полезно для аудиокниг, поскольку там важен порядок следования файлов.

  6. Создаем базу данных треков на iPod-е:
    mktunes.pl -m /mnt/ipod
  7. Отмонтируем ipod и можем слушать закачанный музон :)

P.S. Работа gnupod проверялась на модели плеера iPod Shuffle, для других моделей тоже должно работать всё аналогично.

Posted in *nix.

Tagged with , , .


Порядок настройки свежеустановленной Linux

Здесь описан порядок начальной настройки свежеустановленной операционной системы (на примере RedHat-подобных дистрибутивов, таких как Fedora, CentOS и т.п).

  1. Проверить, что рутовый пароль достаточно сложный, если нет – сделать его таковым.
  2. Настроить сетевые интерфейсы, шлюз, DNS-сервера.
  3. Отключить ipv6, если не планируется его использовать. Для этого в директории /etc/modprobe.d создать файл disableipv6.conf следующего содержания:
    install ipv6 /bin/true
  4. Включить magic key чтобы можно было с клавиатуры делать Sync (Alt-PrintScreen-S) и перегружать машину (Alt-PrintScreen-B) в случае проблем. Для этого в файле /etc/sysctl.conf проверяем наличие строки
    kernel.sysrq = 1
    и говорим

    sysctl -w kernel.sysrq=1

    чтобы эта фича заработала прямо сейчас.

  5. Сделать конфиг firewall-а, добавить в автозагрузку новый сервис (если он называется не iptables, в этом случае нужно также выключить сервис iptables). Важно: если в конфиге firewall-а используются конструкции, работа которых зависит от текущей конфигурации сетевых интерфейсов (например, анализируется вывод команды "/sbin/ip addr show"), то нужно проверить, что сервис firewall-а запускается после сервиса network. Иначе возможны проблемы.
  6. Выключить лишние сервисы. Для centos-сервера лишними, на мой взгляд, являются нижеперечисленные:
    for serv in anacron atd autofs bluetooth cups firstboot gpm ip6tables isdn mcstrans mdmonitor netfs nfslock pcscd portmap readahead_early readahead_later restorecond rpcgssd rpcidmapd sendmail yum-updatesd hidd lvm2-monitor ; do chkconfig $serv off ; done
  7. Выключить backresolv-ы в sshd. Для этого проверяем, что в файле
    /etc/ssh/sshd_config есть строка
    UseDNS no
  8. Удалить лишние пакеты. Для CentOS 5.3 на сервере я считаю лишними следующие:
    avahi bluez-gnome bluez-utils bluez-libs cadaver cairo cups GConf2 libnotify gtk2 libwnk pango notification-daemon paps redhat-lsb cups-libs dhcpv6-client irda-utils isdn4k-utils iptables-ipv6 firstboot-tui system-config-securitylevel-tui nfs-utils-lib nfs-utils pcmciautils portmap ypbind yp-tools wireless-tools NetworkManager rhpl wpa_supplicant system-config-network-tui sendmail ORBit2 anacron aspell ccid fbset hesiod ifd-egate dhclient dhcdbd libX11 libXext libXxf86vm mesa-libGL startup-notification.i386 nss_ldap nscd oddjob-libs oddjob rng-utils rp-pppoe wvdial.
  9. Поставить пакет yum-priorities чтобы можно было задавать приоритеты репозиториев yum-а.
  10. Поставить пакет yum-utils, который содержит такие полезные утилиты как yumdownloader (скачивание пакетов с зависимостями без установки) и package-cleanup.
  11. Найти и удалить оставшиеся неиспользуемые/ненужные пакеты с помощью команд:
    /usr/bin/package-cleanup --orphans
    /usr/bin/package-cleanup --problems
    /usr/bin/package-cleanup --leaves
    /usr/bin/package-cleanup --dupes
  12. Удалить sendmail, установить exim, поправить конфиг, добавить в автозагрузку.
  13. Установить ntpd для автоматической синхронизации времени, поправить конфиг, добавить в автозагрузку.
  14. Опционально: выключить selinux, для чего в файле /etc/selinux/config поменять строку "SELINUX=enforcing" на "SELINUX=disabled". Это может потребоваться если используется система виртализации OpenVZ -- там даже в официальной доке пишут, что SELINUX нужно обязательно отключать. Также может быть полезно при необъяснимых ошибках в работе сетевых сервисов (в моей практике встречались случаи, когда включённый SELINUX мешал работе vsftpd, named). Но более разумно всё-таки SELINUX не отключать, а лучше правильно его настроить (читая как минимум /var/log/audit, вывод 'ls -Z' и маны по командам chcon, runcon)
  15. Проверить, что часовой пояс установлен правильно. Для Киева поменять его можно так:
    ln -sf /usr/share/zoneinfo/Europe/Kiev /etc/localtime
    vim /etc/sysconfig/clock
  16. Добавить дополнительные репозитории, такие как rpmforge (в котором есть много всяких полезностей). Для этого создаем файл /etc/yum.repos.d/rpmforge.repo со следующим содержимым (для CentOS):
    # Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag
    # URL: http://rpmforge.net/
    [rpmforge]
    name = Red Hat Enterprise $releasever - RPMforge.net - dag
    #baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag
    mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
    #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
    enabled = 1
    protect = 0
    gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
    gpgcheck = 1
    priority = 10

    Для основных репозиториев значение параметра priority лучше ставить меньшее, чем для сторонних. Это повысит приоритет основных репозиториев.

    Update: идеологически более правильным методом является установка пакета rpmforge-release – тогда и repo-файл сам создастся и публичные ключи в директории /etc/pki/rpm-gpg появятся. Подробнее тут: https://rpmrepo.org/RPMforge/Using.

    Также иногда полезно включить репозиторий EPEL.

  17. Установить необходимые сервисы (httpd, samba и т.д.) и настроить их.
  18. Обновить систему
    yum update
  19. Включить запись даты и времени в историю команд bash:
    export HISTTIMEFORMAT="%Y%m%d %H:%M:%S " >> ~/.bashrc
  20. Перегрузиться, проверить что все в порядке.
  21. Построить систему резервного копирования, например через fsbackup. А вот здесь можно скачать немного изменённую версию, в которой весь русский текст в комментариях в кодировке UTF-8 (в оригинальной - KOI8-R). Также можно воспользоваться rpm-пакетом, который я наконец-то собрал, взять можно тут: /soft/repo/fsbackup.rpm

Подробное пошаговое руководство для CentOS 5 со скриншотами:
http://www.howtoforge.com/installation-guide-centos5.1-desktop

Posted in *nix, Howto.

Tagged with , , , , , .


Yum troubles

Если yum перестает работать и ругается, прежде чем гуглить в поисках решения, для начала нужно попробовать следующее:

  1. yum clean all
  2. rm -f /var/lib/rpm/__db*
  3. rpm --rebuilddb

Обычно что-то одно помогает.

Posted in *nix.

Tagged with , , .


Торт "битое стекло"

Ингредиенты.

  1. Хрустик (крекер) с маком – 200 гр.
  2. Желе (разного цвета) – 3 упаковки (на территории Украины нормальное желе, например, торговой марки "Мрия").
  3. Сметана – 500 гр.
  4. Сахар – 1 стакан.
  5. Желатин – 20 гр.
  6. Ванилин.
  7. Шоколад.

Приготовление торта "Битое стекло":

  1. Приготовить желе для торта, дать ему время застыть.
  2. Разрезать ножом желе на кубики размером примерно 1х1 см.
  3. Замочить 20 гр. желатина в 10 ст. ложках воды на 10 минут.
  4. Растопить желатин на водяной бане.
  5. Взбить 500 гр. сметаны со стаканом сахара и ванилином. Затем, не прекращая взбивать, тонкой струйкой влить желатиновую смесь в сметанный крем.
  6. В хаотическом порядке наложить в подходящего размера кастрюлю крекер и кусочки желе. Каждый слой полить кремом.
  7. Поставить в холодильник часа на три.
  8. Перед подачей на стол поставить кастрюлю с тортом в теплую воду на пару минут, чтобы желе у стенок растопилось, затем перевернуть кастрюлю на блюдо.
  9. Сверху торт посыпать кокосовой стружкой или тертым шоколадом.

Posted in Recipes.