суббота, 6 февраля 2010 г.
Как пометить пакеты в Aptitude, чтобы потом удалить
Очень полезная возможность в aptitude — пользовательские метки для выбранных пакетов.
Например, нужно поставить какой-то набор пакетов, чтобы собрать программу X из исходников, а потом нужно эти пакеты удалить. При установке помечаем выбранные пакеты какой-то своей меткой (builddeps в моём примере):
$ sudo aptitude install --add-user-tag builddeps libчто-то-dev libчто-то-ещё-dev ...
А потом, когда эти пакеты больше не требуются, их удаляем, выбрав по той же метке:
$ sudo aptitude purge '?user-tag(builddeps)'
Поисковый шаблон ?user-tag(метка) можно использовать совместно со всеми другими поисковыми шаблонами. Присваивать метки можно не только при установке (install), но и во многих других операциях.
Как видно из примера, особенно эта возможность полезна для самостоятельной сборки пакетов и программ из исходников.
воскресенье, 31 января 2010 г.
Как очистить swap в linux
Командой swapoff -a, запущенной от имени суперпользователя, можно отключить использование всех разделов и файлов подкачки. После ввода команды содержимое свопа за несколько минут загружается обратно в оперативную память, а сам раздел подкачки отключается. Если честно, я не испытывал, что произойдёт, если при этом оперативной памяти окажется недостаточно. Ну и после загрузки содержимого свопа в оперативную память я всегда включал его обратно командой swapon -a. Однако приятно, что можно так легко и быстро вернуть отзывчивость системы одной командой безо всяких перезагрузок.
пятница, 22 января 2010 г.
Решение проблемы с запуском апплета glipper при загрузке системы
/usr/lib/glipper/glipper
следующим образом:#!/usr/bin/env python
# Glipper - Clipboardmanager for GNOME
# Copyright (C) 2007 Glipper Team
# bla bla bla
# License along with this library; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
import time # <-- Добавьте эту строчку.time.sleep(8) # <-- И ещё вот эту. Замените 8 на число побольше, если не сработаетimport gobjectgobject.threads_init()import gtk, gnomeapplet, gnomeimport getopt, sysfrom os.path import *
Уже после того, как я написал эту заметку, я узнал о ещё одном менеджере буфера обмена: Parcellite. Отличная вещь, запускается и висит в трее. До версии 0.9.2, выпущенной совсем недавно, в программе присутствовал нехороший баг - программа не позволяла копировать изображения в буфер обмена. Поэтому лучше собрать самому из исходников, их можно взять здесь. Приятной работы.
среда, 20 января 2010 г.
Disk Maintenance under Linux (Disk Recovery)
среда, 13 января 2010 г.
Конвертация музыки в формат FLAC с использованием CUDA
Программка работает довольно шустро, при сжатии одного и того же аудиофайла flac, flake и flacuda показали следующие результаты (amd x2 4200+ , geforce 9800 GT):
flac | 127 с. | 425.3 Мб |
flake | 106 с. | 425.9 Мб |
flacuda | 24 c. | 424.1 Мб |
Уровень сжатия у всех кодеков ставился 8 . Получаем солидный пятикратный прирост в скорости. Программа умеет брать данные из стандартного ввода и выводить на стандартный вывод, что позволяет воткнуть её в конвейер. Например, я вполне успешно модифицировал cue2tracks для работы с flacuda.
Теперь о минусах. Программа построена на основе кодека flake, поэтому 24-битный звук сжимать не умеет. Очень обидно. Больше недочётов не заметил.
Сам автор предупреждает, что программа всё ещё находится в стадии альфа, поэтому желательно перепроверять полученные файлы. Например, можно полученный .flac перегнать обратно в .wav и сравнить его с исходным, посчитав контрольную сумму того и другого. За развитием можно следить форуме www.hydrogenaudio.org, и там же можно связаться с автором.
суббота, 9 января 2010 г.
Хитрости установки и запуска Unreal Tournament 2003
понедельник, 4 января 2010 г.
Воспроизведение blu-ray с субтитрами
Минут 20 гугления интернетов обнаружили следующий пост в блоге буржуинского товарища, где обнаружились такие строки:
Somehow mplayer “thinks” it starts playing at minute 10 while the movie plays from second one. This causes your subtitles to begin playing from 10 minutes thus resulting in the wrong subtitles at the wrong time.
В переводе с вражеской мовы это означает следующее: "По какой-то причине mplayer "думает", что он начинает проигрывание с 10-й минуты, хотя фильм проигрывается с 1-й секунды. Из-за этого субтитры показываются, начиная с 10-й минуты, поэтому субтитры и видеоряд не совпадают". Решение простое - просто сдвинуть субтитры на 10 минут, или -600000 мс, как принято в smplayer.
Приятного просмотра.
воскресенье, 3 января 2010 г.
Ssh - ubuntu - samba - ubuntu или квест для линукса с оркестром
Прикинув, что самому разбираться, что именно заливать на эту "дискетку", лень, решил открыть другу доступ на ssh, и пускай возится. Было холодно и сыро, на балкон лезть не хотелось, посему винчестер подключил к рабочему компьютеру, планируя расшарить при помощи nfs.
И вот тут меня ждал облом. Оказалось, что в десктопном ядре выключен nfs-kernel-server. Разбираться с userspace-серверами не хотелось. Махнув рукой, решил попробовать расшарить самбой через гномовскую гуишку. Тыц-тыц, "свойства папки", пара галочек - готово. Захожу на сервачок по ssh, устанавливаю smbfs, монтирую шару командой sudo mount -t cifs //10.1.1.96/pocket /media/pocket
- вроде работает. Пробую копировать - амба, файлы копирует, а при копировании каталогов создаёт каталог, а файлы в него писать отказывается. На права ругается.
Ладно, думаю, мало ли, какая бага может быть в гуях. Правлю smb.conf, создаю шару ручками - та же фигня. Часа полтора я плясал над этим конфигом. В конце-концов, от безнадёги решил попробовать копировать, залогинившись на ssh под рутом. Всё прекрасно копируется. Ага, значит конфиг самба-сервера тут совершенно ни при чём! 5-минутное курение мануала опций mount.cifs выявило опцию "noperm". В общем, что происходило: клиент создаёт каталог; сервер меняет владельца на nobody (стандартный владелец для гостевой учётки); клиент смотрит права на запись в каталог, видит, что у него нет разрешения на запись и отказывается копировать. Опция noperm позволяет работать с файлами на примонтированном устройстве без проверки прав со стороны клиента. Ещё пришлось добавить к mount опцию "iocharset=utf8", т.к. по умолчанию имена создаваемых файлов передаются в кодировке nls_default, а nls_default в убунтушном ядре выставлен по умолчанию в cp437. В конечном итоге рабочая команда для монтирования выглядела так:
sudo mount -t cifs //10.1.1.96/pocket /media/pocket -o username=guest,password="",noperm,iocharset=utf8
В конечном итоге, знакомому был выдан доступ по ssh и мне не пришлось тратить время на возню с выбором и копированием файла (вместо четырёх часов возни с самбой :) ).