Показаны сообщения с ярлыком Linux. Показать все сообщения
Показаны сообщения с ярлыком Linux. Показать все сообщения

RH packages maintaining

[Re]packaging Fedora/CentOS packages

cd ...git/package
fedpkg switch-branch master
fedpkg pull
edit spec
rpmbuild -bs .../*.spec
koji build --scratch f??/rawhide/epel? ...src.rpm
fedpkg new-sources ...tar.gz
git add *.spec
fedpkg commit -c -p
[fedpkg push]
fedpkg build
Loop:
fedpkg switch-branch f??/epel?
git merge master
fedpkg push
fedpkg build
fedpkg update [--type bugfix --bugs BUGS | --type enhancement --notes "Version bump"]
The end:
fedpkg switch-branch master

Большая Красная Кнопка

Эпиграф: "Кто открывал бутылку об красную пробку?!!"

Задача: обеспечить мгновенную недоступность некоего раздела на linux-машине лёгким движением руки.

Идея:
* создаем шифрованный раздел
* шифруем ключем с паролем
* подключаем руками
* отключаем umount -f -l...
* по сигналу от вынимания некой флешки из USB

Note: был вариант держать шифрованный раздел на внешнем USB-диске, но скорост там просто ппц... Даже нешифрованный дает 30MB/sec, что для PGSQL-баз просто неприемлемо. Поэтому принято решение держать раздел на обычном внутреннем накопителе - ~80MB/sec (нешифрованное).

Ингридиенты:
* пустой раздел
* encfs
* hal

Ход работы:
1. HAL
1.1. включаем lshal -m
1.2. засовываем флешку
1.3. ловим:

13:43:47.298: volume_uuid_72AD_2013 added

1.4. смотрим volume uuid:

lshal --show /org/freedesktop/Hal/devices/volume_uuid_72AD_2013 | grep "volume\.uuid"
volume.uuid = '72AD-2013' (string)

1.5. рисуем робот:

cat /etc/hal/fdi/policy/preferences.fdi





rb_add
rb_remove




1.6. делаем скрипт[ы] (/usr/lib/hal/scripts/rb_*):


2. EncFS

Монтаж Home video на линухе

= Задача: =
как-то с камеры пересобачить снятое видео и уморить гостей на широком экране.
= Исходные данные: =
* видео - снято на Sony SDRчегототам в кагбэ-HD (1440x1080x... кароч - я в этом не бычу).
* видеостанция:
** у брателы (заказчик, собсна) - Fedora 10 (пора бы и обновить) на Тошибо нотбуке каком-то.
** у жены его (откуда сливалось кино) - Тошибо тоже какое-то, Виндовс Висто.
= Ход работы: =
* виндовс - это ппц,кароч... Полтора часа пыталсо слить эти видео на DVD-болванку c целью дома спокойно поработать в линухе. Ни. Хри. На! Так и не записалблин! Запорол 2 болванки, потратил 1.5 ч - плюнул, и залил немношка на флешку.
* Дома - линух (Fedora 11).
Прежде всего - yum search video (handle filtered):
** kdemultimedia
** avidemux
** kdenlive
** kino
** pitivi

= Ну, шо я вам скажу... =
* kdemultimedia - там ничего нет. X
* pitivi - захотел затянуть питона модули какие-то непонятные, гнома модули аналогично и zope (!). Фсад. X
* avidemux - упал. X
* kino - "Давайте я Вам сконвертирую ваше видео в DV?". Я очень уважаю DV (которое MPEG-2), но лишняя конвертация здоровья кину не прибавляет. X
* kdenlive - удивлен... поднял m2ts молча, даже _проиграл_ его (а m2ts - это такое HD@чистаSony штука - под вендой хрен обработаешь без денег)... куски клеятся как у нас в qt принято - притягиванием... куда-то даже собрался выгружать (рендерить) - с указанием формата, инструмента (transcode), все дела... Удивлен!

Итого (я еще не клеил эти видео) - на _старт_ вышел пока только один - kdenlive (которое "нелинейный" монтаж, мне бы линейный, но сейчас принято за хлебом ходить только на вертолете - и никак иначе).

Будет время - продолжим.

GroupWare: selfmade

Преамбула: сижу, читаю RSS egw.ru, опять подумалось - доколе? Потом подумалось - а вот взять, всё бросить, психануть - и показать! Ну неужели gw - такое уж растакое, что с ним столько трахаться?
Может -можно взять - сесть - и зачать? (конечно, зачать лучше лежа или стоя - но это уже как пойдет...).
А вот психану - и накатаю хотя бы адресную книгу - с нуля и на Django.

Амбула: пришел с улицы, психанул, сел за комп, засек время (это было легко - 00:00) - и понеслась...

Постамбула: закончил в 02:08. Начиная от 'django-admin.py --help' - заканчивая тестированием. Внес по одной записи в каждый из объектов - Организация, Человек, Телефон, Мыло, IM, Адрес - и повязал их всех.

Реклама: Django хорошо тем, что:
* шустро (питон, байткод без всяких костылей типа eAccellerator etc)
* движок базы - индифферентно (я упражняюсь обычно на sqlite)
* Переводы - в комплекте
* расширяемость - ппц
Почему так долго? (2 часа):
* я ж не программист
* в Django сь только месяц
* начиная от 'django-admin.py --help' - т.е. как зачать сайт
* схема базы - на лету
* схема базы - standard ready (т.е. готова к серъезному потреблению):
* телефоны - в международном формате
* Адреса - отдельно от людей и организаций
* Организации - отдельно от людей
* всё это дело - многие-ко-многим.
Почему так некрасиво?
* интерфейс не затачивался _вообще_. Используются только встроенные возможности Django.
В общем - получилось навороченное адресное книжко. За два часа. И в гробу видать любые groupware - надо быть проще :-)
А теперь - слайды: http://picasaweb.google.com/ti.eugene/Gw#

pam_mount + cifs

Условия: гетерогенная сеть (Win, Lin) + linux-server (smb PDC) + авторизация в LDAP.
Задача: обеспечить монтирование cifs-ресурсов в домашние каталоги юзеров linux-хостов (точнее - монтировать cifs-шары с базами 1С в каталоги .wine/dosdevices/e: etc.)
Решение:
1. меняем /etc/pam.d/system-auth:

...
auth        required      pam_mount.so
...
session     optional      pam_mount.so
...

Нюансы:
1.1. первая строка должна быть _до_ pam_unix и pam_ldap
1.2. при этом в этих двоих должно стоять try_first_pass или user_first_pass (обычно так оно и есть)
1.3. вторая строка стоит последней в списке
2. меняем /etc/security/pam_mount.conf.xml:

...
<luserconf name=".pam_mount.conf.xml" />
...
<mntoptions allow="...domain" />
...

3. и - наконец - ~/.pam_mount.conf.xml:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
<pam_mount>
    <volume fstype="cifs" server="server" path="1c" mountpoint="~/.wine/dosdevices/e:" options="domain=MYDOMAIN" />
</pam_mount>

KDE4 - уже не бесит

Вчера, после очередного yum update, капитально обновились новые кеды - до 4.2.1 (Fedora 10).
Наконец-то заработал akregator в трее!
В связи с чем слез с IceWM и начинаю обживать кеды4 с человеческим лицом.
Поковырялся сегодня пару часиков - в плане поработал.
Ну так... вовсе даже и ничего так себе! :-)
Даже можно уже жить как-бы.
Чистенько, красивенько, шустренько относительно. Не падает даже вроде ничего (кроме матов конка на мозиловские плагины - как я его понимаю! - но не падает).
Kmail очень классный весь такой из себя. Задвинул Т-птицу под стол.
Виджеты всякие там - для твитера, rss, калькулятор - всё тупенько (это ж виджеты, а не приложения), но симпатишненько.
На рабочий стол можно вытаскивать всякое.
Дельфин и конк я раньше настроил по-человечески.

В общем, текущий резюм - с кедами4 уже даже можно жить. Всё довольно симпатишна, шустро, настройки стали тупее, чем в 3, но красивее и где-то даже логичнее.
Ну и жрет это хозяйство просто ппц - 400М RAM - как с куста (это если ничего не запускать, кроме psi и kmail)

ЗЫ: свежепоставленная Fedora 10 с KDE 4.2.1 - в варианте desktop (т.е. без лишнего, 904 пакета) - free показывает 174M занято. Что, в принципе, сопоставимо с _тщательно_ воспитанной WinXP + антивирус полегче (типа nod32). Так что - в кедах жизнь есть.

ЗЗЫ: а таки бесит... http://rus-linux.net/lib.php?name=/MyLDP/x/kde4-ru.html - согласен с автором полностью и бесконечно.

Default DE

etc/sysconfig/desktop:
DESKTOP="KDE"
DISPLAYMANAGER="KDE"

rexec

in RH or FCxx
you have to add in /etc/securetty the line:
rexec

Иначе рутом - никак

VPN

Задача – обеспечить доступ из дома к серверу (не к сети). Сервер – Windows, дома – Linux, Windows.
Исходные данные:

  • сервер в офисе спрятан за firewall'ом RAD Linux.
  • Внешний IP сети – SRVWANIP
  • Внутренний IP сервера – SRVLANIP (e.g. 192.168.1.1)
  • VPN-IP сервера – SRVVPNIP (e.g. 192.168.5.1)
  • VPN-маска сервера – SRVVPNMASK (e.g. 255.255.255.0)
  • VPN-IP клиентов – WKSVPNIP1..WKSVPNIP5 (e.g. 192.168.5.2..6)

Офис


Firewall



interface ethernet 1 # WAN
address $WAN_IP/25
access-list wan_in in
...
access-list wan_in
dnat proto udp dport 1194 todst $SRVLANIP
...

Server



  • Ставим OpenVPN

  • Проходим процедуры по документации (работать будем с TAP – т.к. с TUN что-то не получается) – генерация сертификатов, ключей и т.д.. В т.ч. генерим ключи для клиентов – client1, client2 etc.
  • Пишем конфиг (Linux: /etc/openvpn/server.conf, Windows: c:\Program files\Open VPN?\config\server.ovpn):

    port 1194
    proto udp
    dev tap
    ca c:\\Program\ files\\OpenVPN\\easy-rsa\\keys\\ca.crt
    cert c:\\Program\ files\\OpenVPN\\easy-rsa\\keys\\server.crt
    key c:\\Program\ files\\OpenVPN\\easy-rsa\\keys\\server.key # This file should be kept secret
    dh c:\\Program\ files\\OpenVPN\\easy-rsa\\keys\\dh1024.pem
    mode server
    ifconfig
    ifconfig-pool-persist ipp.txt
    server-bridge
    keepalive 10 120
    comp-lzo
    persist-key
    persist-tun
    status openvpn-status.log

  • Настраиваем интерфесы:

    • Windows – после инсталяции появляется некий «TAP-Win 32? Adapter V8»; все птицы, кроме IP – снять, IP прописать статически –
    • Linux – не надо делать ничего – openvpn сам заведет tap*

  • копируем сертификаты и ключи в нужные каталоги (Linux: /etc/openvpn/, Windows: c:\Program files\Open VPN?\config\):

    • ca.crt
    • server.crt
    • server.csr (?)
    • server.key

  • обеспечиваем автостарт VPN:

    • Windows: Мой компьютер – правая педаль – Управление – Сервисы – Open VPN? Service – Запуск – Автомат
    • Linux: chkconfig openvpn on

  • Полетели:

    • Windows: Мой компьютер – правая педаль – Управление – Сервисы – Open VPN? Service – Старт
    • Linux: service openvpn start

  • Проверяем (Windows (ipconfig /all))

    ...
    Адаптер Ethernet VPN:
    DNS суффикс этого подключения . . :
    Описание . . . . . . . . . . . . : TAP-Win32 Adapter V8
    Физический адрес. . . . . . . . . : 00-FF-90-96-27-55
    DHCP разрешен . . . . . . . . . . : Нет
    IP-адрес . . . . . . . . . . . . : 192.168.5.1
    Маска подсети . . . . . . . . . . : 255.255.255.0
    Основной шлюз . . . . . . . . . . :
    DNS-серверы . . . . . . . . . . . : 127.0.0.1
    NetBIOS через TCP/IP. . . . . . . : отключено
    ...


Дом



  • Ставим OpenVPN

  • Пишем конфиг (Linux: /etc/openvpn/client.conf, Windows: c:\Program files\Open VPN\config\client.ovpn):

    client
    dev tap
    proto udp
    remote 1194
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    ca ca.crt
    cert client1.crt # ! or other
    key client1.key # ! or other
    comp-lzo

  • копируем сертификаты и ключи в нужные каталоги (Linux: /etc/openvpn/, Windows: c:\Program files\Open VPN\config\):

    • ca.crt
    • client1.crt
    • client1.csr (?)
    • client1.key

  • обеспечиваем автостарт VPN: ...
  • Полетели: ...
  • Проверяем (Linux (ifconfig)):

    ...
    tap0 Link encap:Ethernet HWaddr AE:39:C7:3F:33:57
    inet addr:192.168.5.4 Bcast:192.168.5.255 Mask:255.255.255.0
    ...

Group rw rights

/.bash_profile:

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME

/.bashrc:

# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
umask 002

X-messages to terminals

* by user
chmod g+r `echo $XAUTHORITY`
So, sender as root:
* Get user's XAUTHORITY file:
/etc/X11/gdm/gdm.conf:
[daemon]
XAuthDir=
UserAuthFile=.Xauthority

* Get user's DISPLAY:
xauth -f <.xauth-file&rt; list | gawk '{print $1}' | grep -v “0.0.0.0”
XAUTHORITY=<user's XAUTHORITY file&rt; DISPLAY=<user's DISPLAY&rt; xmessage “something”

Extract files from PDF

pdf2ps <infile> - | psselect -p<pages> | ps2pdf - <outfile>

KDE file dialog for GTK-apps

способ иногда заставить GTK-приложения использовать нормальный диалог открытия файлов (а не конченый гномовский):

yum install kgtk
kgtk-wrapper

kqemu

Возможно, с dkms-kqemu и kernel-2.6.26 не актуально, но тем не менее:

mknod /dev/kqemu c 250 0
/sbin/depmod -a -q
modprobe kqemu
chmod 0666 /dev/kqemu
echo 1024 > /proc/sys/dev/rtc/max-user-freq

SSH via RAD Linux


interface ethernet 0 # LAN
...
interface ethernet 1 # WAN
access-list wan_in in
access-list wan_fw forward
access-list wan_out out
...
ip access-list wan_in
...
dnat proto tcp dport todst :22 # ssh from home
...
ip access-list wan_fw
accept dst proto tcp dport 22 # smtp
...

IPv6 off

/etc/modprobe.conf:

...
alias net-pf-10 off
...

IP forward on

/etc/systcl.conf:

net.ipv4.ip_forward = 1

Screenshot from CLI

import -quiet -silent -window root screenshot.png

Xattr

Испытания инструментов работы с файлами их их совместимости с фичей xattr новых файловых систем (ext3, reizer, xfs etc.). Приведены средства работы с файлами и результат - сохраняются или нет xattr в конечном файле и/или каталоге (BTW xattr можно вешать и на каталоги).
|| tool || cmd || result ||
|| CLI || cp || - ||
|| CLI || mv (rename) || + ||
|| CLI || mv (move) || + ||
|| CLI || tar || - (*) ||
|| mc || mv (rename) || + ||
|| mc || mv (move) || + ||
|| konq || mv (rename) || + ||
|| konq || mv (move) || + ||
|| konq || mv (^X^V || + ||
|| kwrite || edit || + ||
|| kedit || edit || + ||
|| kate || edit || + ||
|| tar || cf&xf || + [*] ||
* "The standard file interchange/archive programs tar(1), and cpio(1) will not archive or restore extended attributes". BUT: tar cf --xattr && tar xf

Net @ Fedora

Нас часто спрашивают - какого [censored] после смены сетевухи в установленной Fedora начинается бардак? Т.е. к примеру установили Fedora, настроили сеть (eth0), несем винт в абсолютно такую же машину с такой же сетевухой - и eth0 пропадает. Зато можно настроить eth1. Но только через system-config-network. ИМЕННО eth1 - не eth0, и не eth2. Хоть гопки скачи! Говорит - "нет у тебя Intel Pro ни разу (eth0) - у тебя ест ьтолько Intel Pro (eth1)".
Что за х... чЮдо?
Окаааазывается - это не чЮдо, это - udev. Точнее - /etc/udev/rules.d/70-persistent-net.rules. Судя по всему, эта б... штука поднимает новую карточку (с другим MAC) и вставляет в это файло - последовательно нумеруя eth. И тут четко и внятно (но абсолютно тихо) предлагает доработать напильником: "# You can modify it, as long as you keep each rule on a single line.".
Итак, наши действия:
1. правим /etc/udev/rules.d/70-persistent-net.rules по вкусу;
2. правим /etc/sysconfig/network-scripts/ifcfg-eth* по вкусу;
3. сносим все "alias eth..." из /etc/modprobe.conf - ненужен;
4. прибиваем /etc/sysconfig/networking (тоже понты для приезжих);
5. теперь можно удалить пакеты system-config-network*
Фсьо. Сеть прибита гвоздями намертво и больше вы#$%^&*ся не будет.

PS. Вообще, автор этого пока не проверял, но по идее должно работать.

Tags