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

воскресенье, 1 ноября 2009 г.

vsftpd - создание файлопомойки

/*
... есть такое слово - samba...

цели:
* выкинуть "самбу"
* анонимусов в chroot и дать им все возможности для самореализации
* локальных/виртуальных лузеров тоже в chroot по домашним каталогам
* всё файло, что зальют аноны, должно иметь mode 0666
* все новые каталоги - mode 0777 (чтобы не парить мозг с правами/чисткой и одминить удалённо тем же ftp-клиентом)
* админов сервиса - в chroot не ставить (или ставить - на выбор, лучше конечно в chroot)

платформа - OpenBSD (ибо тут есть где развернуться), но должно работать везде. подробности о том, как установить и запустить vsftpd опустим. всем пользователям прочих фтп (особенно proftpd) пожелаем удачных обновлений и не скучать :). поехали...

* создаём chroot для анонимусов:
(Прим.: лучше загнать в ~/tmp/vsftpd/anon, а одминов сервиса - в ~/tmp/vsftpd)

> mkdir -p ~/tmp/vsftpd
> chmod 555 ~/tmp/vsftpd
> sudo echo 'anon_root=!ПОЛНЫЙ_ПУТЬ!/tmp/vsftpd' > /etc/vsftpd.conf
> mkdir -p ~/tmp/vsftpd/pub
> chmod 555 ~/tmp/vsftpd/pub
> mkdir -p ~/tmp/vsftpd/upload
> chmod 777 ~/tmp/vsftpd/upload

* добиваем /etc/vsftpd.conf

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
#anonymous_enable=NO
anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=000
anon_umask=000
chown_upload_mode=0666
file_open_mode=0666
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
dual_log_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
# You may override where the log file goes if you like. The default is shown
# below.
xferlog_file=/var/log/xferlog.log
vsftpd_log_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default log file location is /var/log/xferlog in this case.
xferlog_std_format=YES
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
nopriv_user=_vsftpd
ftp_username=anonftp
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
deny_email_enable=YES
# (default follows)
banned_email_file=/etc/vsftpd.banned_emails
#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/ftpchroot
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
ls_recurse_enable=YES
#
#
# If enabled, vsftpd will load a list of usernames from the filename
# given by userlist_file. If a user tries to log in using a name in this
# file, they will be denied before they are asked for a password.
# This may be useful in preventing clear text passwords being transmitted.
userlist_enable=YES
#
# This option is the name of the file loaded when the userlist_enable
# option is active.
userlist_file=/etc/ftpusers
#
# This option should be the name of a directory which is empty. Also,
# the directory should not be writable by the ftp user. This directory
# is used as a secure chroot() jail at times vsftpd does not require
# filesystem access.
secure_chroot_dir=/var/empty
#
# The minimum port to allocate for PASV style data connections.
# Can be used to specify a narrow port range to assist firewalling.
pasv_min_port=49152
#
# The maximum port to allocate for PASV style data connections.
# Can be used to specify a narrow port range to assist firewalling.
pasv_max_port=65535
#
# By default, numeric IDs are shown in the user and group fields of
# directory listings. You can get textual names by enabling this parameter.
# It is off by default for performance reasons.
text_userdb_names=YES
# When "listen" directive is enabled, vsftpd runs in standalone mode and
# listens on IPv4 sockets. This directive cannot be used in conjunction
# with the listen_ipv6 directive.
listen=YES


imho для новичков есть несколько моментов, заслуживающих внимания:

> sudo touch /etc/vsftpd.banned_emails
(иначе "не пойдёт!")

> sudo useradd -d !ПОЛНЫЙ_ПУТЬ!/tmp/vsftpd -s /sbin/nologin anonftp
(иначе в OpenBSD сервис не стартанёт, ибо ftp_username по-умолчанию не объявлен)

> sudo echo 'ИМЯ_ОДМИНА_СЕРВИСА' >> /etc/ftpchroot
(а все остальные гаврики встанут в chroot в своих домашних каталогах)

в "/etc/ftpusers" у нас список тех, кому доступ на ftp заказан. также у нас УЖЕ есть пользователь "_vsftpd" с шеллом "/sbin/nologin" и несуществующим домашним каталогом (требуется по nopriv_user параметру). ACHTUNG! при подобном раскладе все симлинки, "вылетающие" за chroot, идут лесом (и это правильно. в Linux используем конструкцию "mount --bind -o ro" для наполнения "~/tmp/vsftpd/pub", в OpenBSD аналога "mount --bind" нет, сосём заполняем вручную). в "~/tmp/vsftpd/pub" закидываем контент и пишем "~/tmp/vsftpd/README!" файл с общим набором правил пользования сервисом.

всё, база готова. но решение несколько не кошерно. можно (и нужно) одминов сервиса также загнать в chroot, дав им хомяка в ~/tmp, а лучше - скинув анона в ~/tmp/vsftpd/anon (и хомяк одминам в ~/tmp/vsftpd) - тогда все будут счастливо возиться в песочнице и ваш сон никто не потревожит.

на что можно обратить внимание:

anon_max_rate
The maximum data transfer rate permitted, in bytes
per second, for anonymous clients.
Default: 0 (unlimited)
local_max_rate
The maximum data transfer rate permitted, in bytes
per second, for local authenticated users.
Default: 0 (unlimited)
max_per_ip
If vsftpd is in standalone mode, this is the maxi-
mum number of clients which may be connected from
the same source internet address. A client will get
an error message if they go over this limit.
Default: 0 (unlimited)

очень нравятся настройки ниже - можно спокойно и DSA вломить:

ssl_enable=YES
# Should include both certificate and key
rsa_cert_file=/your/cert/file
force_local_logins_ssl=YES
force_local_data_ssl=YES
force_anon_data_ssl=YES
force_anon_logins_ssl=YES
ssl_ciphers=DES-CBC3-SHA

также для хостеров порно полезен параметр (файлы доступны только если знать их имя, просмотр директории их не отобразит):

hide_file={*.mp3,.hidden,hide*,*.avi}

управление дисковыми квотами оставляем за OCью (эт элементарно).

собсно наше упражнение сукесфули комплитед, все новые каталоги получают mode 777 (непринуждённо удаляются одминами сервиса), новое файло, залитое анонами, mode 666, "самба" RIP.

удачи.

*/

воскресенье, 7 декабря 2008 г.

сумбурно обо всём

/*
часть 1-я, мелочная

"взмах крыла бабочки может породить бурю", так и в этот раз одна приятная мелочь (sic!) потянула за собой хуеву тучу изменений. имя этой "мелочи" - модуль E17-го "Places":



модуль написан товарищем DaveMDS и сегодня мы его довели в svn до идеального состояния. цель - гуй для мониторинга носителей и операций с ними при помощи связки dbus+udev+hal от лица простого юзера. тыканьё на иконку носителя конфигурируется и может запускать как любимый ФМ (после монтирования), так и любые скрипты на ваш выбор (естественно без эскалации привилегий).

для этого нужно было понять как именно работает махина "dbus+udev+hal" и разобраться в дивных xml настройках сего хозяйства. дальнейшее повествование будет чуток специфично относительно дистрибутива OpenSUSE, но может кому-то и пригодится. началось с попыток взнуздать гугл, но "пейсателей" развелось... посему клич "поможите люди добрые" был брошен на ЛОР-е:

поможите люди добрые

и уважаемый товарищ "анонимус" привёл абсолютно фантастические ссылки на статьи, помогающие понять именно основы этого безобразия. резюме:

1) основные правила определяются .fdi файлами. искать тут:

/usr/share/hal/fdi
/etc/hal/fdi

2) информацию о девайсах, которыми можно управлять (это в принципе инструмент очень тонкой настройки) вам выдаст команда (пакет 'hal'):

/usr/bin/hal-device

"рулить" можно как составляя свои правила, так и при помощи команд:

/usr/bin/hal-get-property (получение сведений/свойств)
/usr/bin/hal-set-property (установка новых свойств устройству)

3) man PolicyKit - ОБЯЗАТЕЛЬНО к прочтению и пониманию почему (может блокироваться) блокируется то или иное свойство/действие, заданное/разрешённое в правилах. сам 'polkit' - тема отдельного разговора. зело мощная дубинушка и махать ей направо-налево надобно крайне осторожно (как впрочем и любыми инструментами, непосредственно работающими с железом).

4) (самое болезненное по крайней мере для меня обстоятельство) работа с dbus+udev+hal требует отказа от всех старых проверенных методов обращения с девайсами. если вы (как и я) привыкли к kernel automounter-у и autofs (где всё настраивается двумя линиями внятного текста в конфиге) - пришло время от этого отказаться. также если вы хотите монтировать/демонтировать диски при помощи hal, то /etc/fstab не должен содержать записей о них.

5) внимательно читайте инструкции/маны ибо (например) если сделать 'eject' на partition диска - не удивляйтесь если "отвалится" весь диск :).

итак, начинаем с того, что разрешаем пользователю оперировать с девайсамм от лица юзера через hal при явном указании "полкану" не мешать (это по сути самая важная часть):

> cat /etc/PolicyKit/PolicyKit.conf
pastebin.com

после этого выбираем только те партиции/диски, которые хотим видеть в этом модуле. для этого необходимо присвоить "ключу" 'volume.ignore' параметр 'false' (если желаем мониторить) или параметр 'true' (если хотим скрыть партицию/диск). пример команды (для мониторинга партиции):

sudo hal-set-property --udi '/org/freedesktop/Hal/devices/volume_uuid_80A8_1512' --key volume.ignore --bool false

также подобным макаром можно проставить метку/label на партицию (любой носитель):

sudo hal-set-property --udi '/org/freedesktop/Hal/devices/volume_uuid_80A8_1512' --key volume.label --string AUDIO

выше мы проставили метку 'AUDIO'. на этом собственно всё. модуль сегодня допилили и теперь пользователи Enlightenment-DR17 имеют в своём распоряжении отличный гуй для управления съёмными и фиксированными носителями. адрес проекта:

Dave's blog
адрес Google code

пользователи E в OpenSUSE могут просто пересобрать src.rpm и установить пакет, скомпиленный из current svn (в репо слегка устаревшая версия, что не позволяет отмонтирование пользованием локальных партиций по щелчку на кнопке).

часть 2-я, галопом по европам

починили 'esmart text object' - теперь E/ETK/EWL корректно реагирует на символы при переключении клавиатурной раскладки Xorg-ом. надеюсь, что починят и scim input method (базовый код уже в Ешке присутствует) и пофиксят глупый баг с нерабочим 'language' модулем (гуйня для переключения раскладок клавиатуры на лету). эх, лень моя... самому-бы надо...



активно дорабатывают новую дефолтную тему 17-го "Black&White". панель настроек унифицировали с illume (по крайней мере идёт активный поиск оптимальных диалогов конфигурации).



описать в двух словах все новости проекта Enlightenment не получится. при этом "допиливается" не только 17-ый, но и Enlightenment-DR16, что весьма радует. именно так и надо организовывать поддержку Продуктов. горд и доволен. завтра обещают прикрутить online интерфейс для скачивания тем/обоев не только с get-e.org, но и с E-Exchange. ждём-с.

часть 3-я, око-ёко-OpenMOKO...

выслушал упрёки анонимного пользователя телефона Free Runner о невозможности кастомизации интерфейса и подстойке его "под себя". удивился, заново полез в qemu и хватило ума обновиться без бэкапа (чего даже во хмелю не допускаю). инструкции по поводу запуска openmoko в qemu можете почитать тут:

общая инструкция
с использованием MokoMakefile

если будете этим заниматься прям сейчас - то во-первых нихуя у вас не заработает, а во-вторых последние development версии FR-а всё больше тяготеют к интерфейсу Qt/Qtopia (куда даже терминал засунуть не потрудились, что характерно - нахуя в Qt консоль?). другими словами Вам понадобится энное количество времени, чтобы:

1) найти рабочий билд кернела/лоадера
2) найти rootfs (корневую систему с дистрибутивом/ПО) с E17+illume в качестве GUI
3) прорюхать нужную команду для старта самого qemu (в целом предлагаемые шаблоны задают правильное направление поиска, но ... "есть нюансы", как говаривал Чапай).

скриншоты ниже сделаны "в ленивую", на qemu, слегонца "обточенном" даже без подключённой usb клавиатуры. всё сделано в гуях illume и 17-го:









как видим UI можно отстроить от и до. группировка приложений - в соответствии с xdg freedesktop спеками, темы оформления можно брать из E17-го, кастомизация интерфейса - такая же, как и в 17-ом (другими словами можно отстроить всё и вся. от виртуальных столов и до размера шрифта и типа его рендеринга). если вам интересна эта тема - оставьте здесь свой комментарий/пожелание и будем разбираться вместе.

к слову готовится новая редакция FR-а - gta03. будем надеяться, что аппаратная часть будет получше. в сегодняшних моделях (gta01 и gta02) шина обмена данными не блещет скоростью, из-за чего слышим справедливые упрёки о "тормозах". также дистрибутивы/сборки оптимальными как-то пока назвать не готов (есть вещи, которые не нравятся, но нет понимания пока насколько они критичны).

в целом это очень интересный и достойный продукт для энтузиастов Linux. сегодня там вроде как пофиксили GPS и пресловутые SMS-ки (в очередной раз? :)). всем же советую начинать именно с qemu. заодно некоторые могут узнать много нового о кросс/нативной-компиляции для ARM и специфике ARM-а как такового. в общем есть в этом мире, друг Горацио, множество забавных штукенций...

*/

четверг, 17 июля 2008 г.

Instruction for Enlightenment-LiveCD installation on harddisk and/or flash/USB_stick. How-to.

/*

This article was written when I failed to run OpenSUSE automated installers (both of them: "into the local directory" and "installer from LiveCD to the harddisk"). Now "SOAD Linux" could be easily installed to your drive using the standard YaST Installers (in GUI or in 'ncurses' mode). So, please consider this article as an example of steps we did in early 90-th installing Linux from the running PC of a friend (who had the INTERNET! connection on a 11200 modem).

Here is the instruction how to install the "Enlightenment LiveCD" to your hard drive or flash drive. This instruction is also valid for all LiveCD's which use root fs compressed as a single 'squashfs' file. If you wish to copy LiveCD to the flash drive then you may wish to keep 'squashfs' file with a root tree and just add a grub loader and proper 'initrd'. I didn't test the details of installation to the flash pen because I don't have 1Gb or more needed ones.

The idea of the "istallation" from LiveCD to any other media is quite simple. Prepare your destination drive, copy the content of 'squashfs' to the new root partition, generate proper 'initrd' and configure bootloader. The only thing here that is important is patience. Packages like 'grub' and 'mkinitrd' are added only to the last LiveCD versions, you can add them by hand (just compare 'list_of_iinstalled_packages' with your own) or grab the latest LiveCD iso image.

Here we go...

Almost all actions require root privileges, just open your terminal (Xterm, btw, do you like it's default settings? hope you do...) and become a 'root' (type 'su' and Passwd - 'soad').

1. Create a proper partitioning for the destination drive. Prepare at least separate partitions for swap and root. The rest you can manage later. Here's what I have right after system install from LiveCD to the 'Qemu' virtual drive:

256Mb for swap partition, 3.7Gb (the rest from 4Gb virtual disk) for root partition and root partition have 2.4Gb of space available (used only 1.2Gb). I like it and aware that some packages could be deleted from installed system to free even more space. Treat it as an answer to the rants of lusers that OpenSUSE is "too fat, too slow, to inflexible in configuration, etc".

Let's make an assumption that your destination drive is /dev/sda, where you have /dev/sda1 as swap and /dev/sda2 as root partition (at least). You can make it all via YaST Partitioner service.

2. Create three (3) temporary directories to be the 'mount points' for our exercise:

>mkdir /tmp/1
>mkdir /tmp/2
>mkdir /tmp/3

3. Mount our root partition, mount LiveCD which is still in your CD-ROM drive and run the box and mount compressed root fs of your LiveCD:

# root partition
>mount /dev/sda2 /tmp/1

# LiveCD itself
>mount /dev/sr0 /tmp/2 -o loop

# compressed 'squashfs' root fs of your LiveCD
>mount /tmp/2/suse-11.0-live-iso-read-only.i686-2.5.1 /tmp/3 -o loop -t squashfs

4. "Install" the whole system from LiveCD to the new root partition. As a source we're using the 'squashed' image mounted to the /tmp/3 . :

>cp -fra /tmp/3/* /tmp/1/

yep, that's how we all did it 10 years ago or so... good old "True Unix Way" :).

5. We need to copy /etc/fstab and adjust to our realm:

>cp /etc/fstab /tmp/1/etc/fstab

after adjustments I have something like this:

>cat /tmp/1/etc/fstab

devpts /dev/pts devpts mode=0620,gid=5 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
#/dev/disk/by-id/scsi-SATA_QEMU_HARDDISK_QM00001-part1 swap swap defaults 0 0
#/dev/disk/by-id/scsi-SATA_QEMU_HARDDISK_QM00001-part2 / ext3 acl,user_xattr 1 1
/dev/sda1 swap swap defaults 0 0
/dev/sda2 / ext3 acl,user_xattr 1 1

Replaced the mount operation of swap and root from 'disk_by_id' to the good old 'dev' style. It's not the point if you'd just copy 'disk_id' to the target system (/dev/disk/*).

6. Now we need to generate a proper 'initrd' for our target system

> chroot /tmp/1/
> mkinitrd
> exit

Hint: we could generate 'initrd' withou 'chroot' operation and then just copy it to the destination ( cp /boot/initrd-2.6.25.5-1.1-default /tmp/1/boot/ ), but it's more safe to make it in chroot. Original LiveCD has a 'monster' initrd image you can look at:

> l /tmp/2/boot/i386/loader/initrd

You may experiment with this 'fat cat' or even create yours:

> mkinitrd -A

It's funny, you gonna like it!

7. And it's time to make our system bootable and adjust bootloader configs. Some kind of 'typing exercise' is here because default (automated) presets are not helpful.

> cp -r /boot/groob /tmp/1/boot/
> cp -r /boot/boot /tmp/1/boot/

Check our 'map' file (or create if none exist yet):

> cat /tmp/1/boot/grub/device.map

(hd0) /dev/sda
(fd0) /dev/fd0

Manual installation of 'grub' to the MBR of our destination disk (/dev/sda):

> grub

# yep, we've entered to the grub's command line mode
# the next command will install loader code to the MBR assuming that all configuration files are located in (/dev/sda2)/boot/grub/ directory.

grub> setup --stage2=/boot/grub/stage2 (hd0) (hd0,1)

8. Let's create a simple bootloader menu:

> cat /tmp/1/boot/grub/menu.lst

timeout 3

title SOAD
root (hd0,1)
kernel /boot/linuz
initrd /boot/initrd

9. Reboot to the new system and fix any errors (if any). Before you press 'reboot button' the following MIGHT be useful (but It's just an example of 'insurance' if I may say so):

> cp /dev/sd* /tmp/1/dev/
> cp /dev/md* /tmp/1/dev/
> cp /dev/sr* /tmp/1/dev/
> cp /dev/cd* /tmp/1/dev/
> cp /dev/md* /tmp/1/dev/
> cp /dev/ram* /tmp/1/dev/

When you update your kernel to the newer one (you'd BETTER do it ASAP) all required 'devices' (and a lot of other components) will be properly recreated.

10. After reboot to your new system remove/stop all services you don't really need and enable those you can't live without. Examples:

> chkconfig create_xconf off
> chkconfig entrance_force off
> chkconfig entrance on
> chkconfig entrance 35

Or you may leave 'entrance_force" - doesn't matter, it's just a crutch for LiveCD, and if you have generated /etc/X11/xorg.conf - stop 'create_xconf' or you gonna lose all custom modification because file will be created 'from scratch' every time you turn your system on.

P.S. If you wish to install on flash pen and keep 'squashed' root fs, then you need to 'google' for UNIONFS and implementation of grub+UNIONFS. I'd provide detailed 'how-to from LiveCD to the flash' if I had one suitable here :). Can only recommend to begin with this page if you wish to master your Live USB system:

Live_USB_stick

(only keep im mind that default patterns in 'config.xml' files... sucks! I bet you wish to have some 'packman' goodies and some more from your own... )

If you find any 'bug' in this small how-to - please, post a comment here. Thanks!

*/

воскресенье, 27 апреля 2008 г.

Уменьшаем энергопотребление

/*

рассматривайте это как дополнение к статье товарища virens-а. там много написано... слов...

1. Монитор.

man xorg.conf на предмет DPMS, man xbacklight. плохие приблуды: klcddimmer, smartdimmer. хорошая приблуда - xvattr. обычно установить яркость на мониторе проще "подручными средствами" самого монитора. если у вас Enlightenment-DR17, то опции управления DPMS доступны в конфигурационной панели: Configuration Panel -> Screen -> Power Management.

2. Видеокарта.

профан, признаю. нормальное 2D, возможность хорошего рендеринга "картинки" MPlayer-ом, декодирование видео чипом GPU (xvmc) - вот сфера моих интересов. найти недорогой Matrox Parhelia-512 с видеопамятью от 128 Мб - предел мечтаний. в остальном imho рулят проприетарные драйвера nVidia. пока рулят. VIA, AMD/ATI и Intel прилагают очень много усилий для изменения данного факта. Intel же, как мне кажется, заинтересован в уничтожении производителей видеокарт как класса.

3. Винчестер.

man hdparm на предмет AAM и spindown (опции -M, -S). можно посмотреть на ключи -y и -Y. текущий статус винта проверяется как

sudo hdparm -C /dev/ВИНТ

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

примечание: держать сервис smartd включённым представляется весьма здравой идеей.

4. Оптические приводы и внешние винчестеры.

для cd/dvd приводов какой-то смысл есть в установлении фиксированной маленькой скорости вращения шпинделя (от 1 до 4-х). сделать можно так:

sudo eject -x 2 /dev/sr0

при смене диска (при открытии каретки) сей параметр обнуляется. если hdparm дотянется до внешнего винта - хорошо. нет - и суда нет.

5. Процессор.

узнать, что из управления частотой процессора cкомпилено модулем:

modprobe -l | grep cpufreq

узнать, что вообще доступно для текущей версии ядра:

zcat /proc/config.gz | grep -i freq

установить схему управления частотой процессора по умолчанию и саму частоту:

sudo cpufreq-set -g ondemand
sudo cpufreq-set -d 1000

примечание: пользователи Enlightenment-DR17 могут устанавливать/менять параметры работы процессора на лету при помощи модуля 'cpufreq'.

5. Процессор.

Мониторить систему поможет пакет sensors: man sensord, man sensors-detect, man sensors. Можно попробовать старый добрый gkrellm или прикрутить вывод статистики при помощи conky - на ваше усмотрение.

*/

пятница, 7 сентября 2007 г.

памятка себе, дорогому и любимому...

более чем скромное творчество...

http://sda00.mylivepage.ru/file/?fileid=1476 (1,32 мб - tips_and_tricks-mplayer_ffmpeg.pdf )
http://sda00.mylivepage.ru/file/?fileid=1475 (142,07 кб - tips_and_tricks-all_and_nothing.pdf)
http://sda00.mylivepage.ru/file/?fileid=1474 (6 мб - linux_suse_from_scratch_final.pdf)

исходники - в odt, возможно, что конвертнулось в pdf не очень хорошо (шрифт - Lucida Sans Unicode).
ежели кому понадобятся "сырцы" :

http://sda00.mylivepage.ru/file/?fileid=1477 (9,88 мб - linux_n_tips.tar.bz2)

и "ещё парочку":
заметка о внешнем виде с картинками (убого правда получилось, но идею вроде передать удалось)

http://sda00.mylivepage.ru/file/?fileid=1479 сие pdf
http://sda00.mylivepage.ru/file/?fileid=1480 а это odt

каждый файл по 1.3 Мб.

http://rootshell.be/~sda00/ это - мой самый первый сайт, "выросший" из bash скрипта по установке E17-го (Enlightenment DR-17) из cvs... "проба пера"...