4 декабря 2009 г.

Java: краткая инициализация List

А знаете ли вы, что методы с произвольным числом параметров (в отличие от c++ удобно реализованные) и класс Arrays даёт нам в Java возможность быстрой инициализации коллекций почти так же удобно, как в каком-нибудь php:
List<string> list = Arrays.asList("1", "2", "3");
А autoboxing (автоматическое преобразование примитивных типов во врапперы и обратно) позволяет то же самое сделать и с примитивами!
List<integer> list = Arrays.asList(1, 2, 3);
Чудеса, да и только. В java7 (по слухам) добавят специальные свистелки-перделки для этого. Помимо всякого другого бесполезного годобра.

17 ноября 2009 г.

Midnight Commander (mc) ассоциации файлов

Чтобы заставить Midnight Commander нормально открывать/показывать файлы надо порыться в файлах настроек этого всего.
Общесистемный файл: /etc/mc/mc.ext
Пользовательский файл: /home/user/.mc/bindings
Лучше открывать из самого mc их (см.меню), тогда после сохранения будет всё применяться. Самое тут основное - правильно настроить программы для оссоциаций файлов. Смотрите какие есть и те ставьте. Небольшая хитрость - для большинства файлов для команды Open, по всей видимости, будет удобно назначить универсальную команду открытия по системным ассоциациям окружения.
Для этого надо будет сделать такие ассоциации:
# XFCE
# Open=exo-open %f >/dev/null 2>&1 &
# Gnome
# Open=gnome-open %f >/dev/null 2>&1 &
# KDE
# Open=kfmclient exec %f >/dev/null 2>&1 &

30 октября 2009 г.

google-earth и fedora, не запускается (selinux нам не помешает)

После установки под федорой google-earth он не запускается при некоторых настройках SELinux. Надо надобавлять в контекст библиотеки.

22 октября 2009 г.

linux: глубокое восстановление флешки, форматирование флешки

Иногда помогает избавиться от программных глюков флешки, битой ФС и прочего. Итак...
0) Увидим нашу флешку

# /sbin/lsusb
Bus 001 Device 008: ID 1307:0165 Transcend Information, Inc.
...


1) Видим её программно (ОЧЕНЬ внимательно проверьте - тот ли это диск, можно поглядеть в /media/.hal-mtab если у вас RH-дистрибутив итд):

# /sbin/hdparm /dev/sdd

/dev/sdd:
readonly = 0 (off)
readahead = 256 (on)
geometry = 1023/249/62, sectors = 15794176, start = 0


2) Полностью зачистим ФС:

# dd if=/dev/zero of=/dev/sdd
dd: запись в `/dev/sdd': На устройстве кончилось место
15794177+0 записей считано
15794176+0 записей написано
скопировано 8086618112 байт (8,1 GB), 4783,14 c, 1,7 MB/c

Если флешка небыстрая - то будет долго (см. на результат в секундах), учтите. Ну и, разумеется, в конце напишет "места не хватило" - это нормально.
(upd) Последнее время я использую утилиту pv, с ней можно визуально видеть сколько записано и сколько осталось, использовать так же:

# dd if=/dev/zero | pv | dd of=/dev/sdd
311MiB 0:03:06 [ 648KiB/s] [ <=> ]


3) Создаём разделы:

# /sbin/fdisk /dev/sdd
n (новый раздел), p (примари), 1 (первый), enter enter (границы по умолчанию);
t (смена ид раздела), c (fat32 lba или по-другому, vfat)
w (запись таблицы и выход)


4) Создаём файловую систему:

# /sbin/mkfs -t vfat /dev/sdd1

linux: SVN-сервер, SVN-репозиторий (fedora)

Как установить SVN-сервер под linux (fedora) и настроить репозиторий.

linux: установка скорости дисковода

Способ раз.
hdparm -E 8 /dev/cdrom

Способ два.
mount -o speed=8 /dev/cdrom /mnt/cdrom

Способ три. Не требует привилегий root
eject -x 4 /dev/cdrom
Иногда надо указывать директорию, куда примонтирован диск.
eject -x 4 /mnt/cdrom

linux: локальный репозиторий из DVD диска (fedora 7) Local repository from DVD

1а) ставим вручную
# /media/'Fedora 7 i386 DVD'/Fedora/createrepo*.rpm
1б) ставим из командной строки
# cd /media/'Fedora 7 i386 DVD'/Fedora/
# rpm -ihv createrepo*
2) создаём папку
# mkdir /opt/fc7.local.repo
3) создаем репозиторий (? -c)
# createrepo -o /opt/fc7.local.repo -u file:///opt/fc7.local.repo/RPMS -c //opt/fc7.local.repo/CACHE -g /media/'Fedora 7 i386 DVD'/repodata/comps-f7.xml /media/'Fedora 7 i386 DVD'/Fedora
4а) копируем все rpm в каталог
# mkdir /opt/fc7.local.repo/RPMS
# cp /media/'Fedora 7 i386 DVD'/Fedora/* /opt/fc7.local.repo/RPMS
4б) делаем ссылки на рпм. Каждый раз вставлять диск надо будет (удобно если автомонт как прописалась автометка).
# ln -s /media/'Fedora 7 i386 DVD'/Fedora/*.rpm /opt/fc7.local.repo/RPMS
4в) в пункте 3 указываем -u file:///media/'Fedora 7 i386 DVD'/Fedora
5) для юма конфиг
/etc/yum.repos.d/local.repo
[local]
name=Fedora 7 LOCAL
baseurl=file:///opt/fc7.local.repo
enabled=1
gpgcheck=0

6) обновляем
yum clean all