Глупый пингвин робко прячет, умный - смело достает...
Есть совет? Добавьте его сюда!
Долго ковырялся с компом и что-то настраивал? Не смог наскоком найти ответ на вопрос в Гугле? Тогда добавь сюда свой совет, мы будем рады его опубликовать! Неважно, если это "рецепт по боданию" с каким-то из вариантов Linux, Unix или другого СПО проекта. Опубликуем, поможем улучшить и сохранить сию крупицу знания!
Жмите сюда, чтобы ДОБАВИТЬ СОВЕТ.
Рекомендации по оформлению советов. Модераторы помогут поправить форматирование, если у вас возникли проблемы.
Регистрация на сайте необязательна, но чтобы не возиться с captcha, рекомендуем все-таки зарегистрироваться или войти по OpenID. По любым вопросам обращайтесь в наш форум или стучитесь в обратную связь.
Благодарим за визит и отклики!
Пройти свой путь до конца...
Если множество символических ссылок ссылаются одна на другую, то бывает сложно разобраться что куда указывает в результате.
Яркий пример это Debian alternatives system. Эта подсистема позволяет использовать однотипные программы под одним и тем же именем, в зависимости от предпочтений. И основана она на символических ссылках.
Помочь в этом может команда namei.
Например что бы узнать куда в результате указывает x-terminal-emulator можно сделать так
$ namei $(which x-terminal-emulator)
f: /usr/bin/x-terminal-emulator
d /
d usr
d bin
l x-terminal-emulator -> /etc/alternatives/x-terminal-emulator
d /
d etc
d alternatives
l x-terminal-emulator -> /usr/bin/urxvt
d /
d usr
d bin
- urxvtХотя если разобраться в системе альтернатив, то можно найти другую команду:
$ update-alternatives --config x-terminal-emulator Статистика tcp соединений
netstat -npat|grep ESTABLISHED | awk 'BEGIN{counter=0;} {split($5,a,":");ip=a[1];if(ip in ips)ips[ip]+=1;else ips[ip]=1;counter++;} END{for(i in ips)print i" = "ips[i]"\n"}'| sort | grep -vP '^\s*$'
Если убрать grep ESTABLISHED, то это добавит список ожидающих соединений.
Если оставить netstat -n то добавятся UDP
sed и локализаци или "почему .* не работает так как надо"
Путь начинающийся с двойного слеша
Наверное многие замечали "баг" bash/zsh в существовании "двойного root".
$ cd // $ pwd // $ /bin/pwd /
Это не ошибка, а буквальное следование стандарту POSIX (IEEE Std 1003.1-2001. 4.11 Pathname Resolution ), в котором говорится:
A pathname that begins with two successive slashes may be interpreted in an
implementation-defined manner, although more than two leading slashes shall be
treated as a single slash.
То есть два слеша в начале пути может быть интерпретировано в зависимости от системы. Например в cygwin таким образом можно адресовать windows share. В linux // никакого значения не имеет.
Слияние двух деревьев каталогов
Перемещал я как то огромное дерево каталогов из одной директории в другую. Так как директории были на windows share, то дело было долгим и в процессе были проблемы со связью и перенос прервался.
В результате у меня оказалось частично перенесённое дерево каталогов большой вложенности. Запустить опять mv я не мог, так как mv не позволяет "сливать" такие директории. cp -r тоже не спасал, так как лишнего места не было.
Выход нашелся с помощью команды rsync с ключиком --remove-source-files.
$ rsync --remove-source-files -r bak1/* ~/backup/bak1tar + ssh
GNU tar умеет создавать архив на удалённой системе через ssh
$ tar --rsh-command=/usr/bin/ssh -jcvf host:/tmp/archive.tar.bz2 dir-or-filesТекст в картинку (делаем скриншот консоли)
Учитываются системные шрифты, а вот цветовые схемы консоли не работают
$ ifconfig | convert label:@- ip.png $ ping -c 5 ya.ru | convert label:@- ya.png $ echo "Hello World" | convert label:@- hello.png
Активация странных кнопок ноутбука
Совсем странные кнопки (например, на ноутбуке) не видны в XOrg до тех пор, пока возвращают совсем странные keycode. Утилита setkeycodes позволяет исправить ситуацию, а xbindkeys в сочетании с xte из пакета xautomation — превратить нажатие клавиши в нажатие кнопки мыши.
Краткий ликбез по меткам и (без)условным переходам в sed
sed во многом аналогичен специфичному диалекту ассемблера. Он предоставляет для работы два регистра - "pattern space" и "hold space". Во многом эти регистры аналогичны регистрам обычного процессора, типа EAX или EBX x86-ой архитектуры, но специфичных тем, что хранят они не некое 32-битное число, а некую строку текста. В любой конкретный момент возможна работа только с одним регистром, являющимся текущим. Переключать текущий регистр можно с помощью команды x. Так же, sed предоставляет механизм "меток", тоже аналогичный lable'ам ассемблеров, включая возможность условного и безусловного переходов к заданным меткам, что делает sed тьюринг-полным языком программирования.
Работают они следующим образом:
Создание метки:
:имяметки
Метка создаётся посредством оператора : со следующим именем метки. Именно это имя будет использоваться при условных и безусловных переходах
Переходы:
Безусловный:
bимяметки
Конфигурация ядра linux и сопутсвующих драйверов для Asus Eee PC 1215P
Конфигурация ядра 2.6.38 с патчами tuxonice на EeePC 1215P.
Архивация динамического списка файлов, с отображением прогресса
Стояла задача - в страшно разветвленной помойке директорий и файлов выцепить все файлы определенных типов и затарить их в архив /tmp/archive.tar.gz. Дополнительно хотелось наблюдать за прогрессом с прогнозом времени выполнения. Было решено средствами find, pv, gawk (только gawk, с mawk не заработало) следующим образом:
find -type f -o -name \*.c -o -name \*.h -o -name \*.xsl -print0 | xargs -0 du -bs | awk '{s+=$1;sub(/^[0-9]*\t/,"");n=$0"\0"n;printf"scan files: %d\r",++i}END{ORS="";print n|"tar --null -cT-|pv -s "s"|gzip -9> /tmp/archive.tar.gz"}'
Статическая линковка в cmake
Указываем через флаг "DCMAKE_EXE_LINKER_FLAGS":
# cmake -DCMAKE_EXE_LINKER_FLAGS=-static -DCMAKE_INSTALL_PREFIX=/usr ./Как правильно закрыть дескриптор процесса в expect
Если в expect скрипте множество раз вызывается spawn, то нужно уметь правильно закрывать дескриптор процесса. exp_close не достаточно, нужно дополнительно вызывать exp_wait. В противном случае дескриптор не будет освобождаться, и процесс повиснет в виде зомби.
Этот упрощенный скрипт вызывает sensors и выводит каждую секунду только температуру процессора.
Если убрать wait, то будут порождаться зомби.
while 1 { spawn sensors expect -timeout 1 -re {Core 0:\s+(\+?[^\s]+)} { send_user -- $expect_out(1,string) exp_continue } timeout { close } eof { } wait sleep 1 }
Установка Oracle Java (JRE и JDK) в современные дистрибутивы
Открыв однажды окно "О программе" торрент-клиента/сервера Azureus (Vuze), написанного на Java, я очень удивился, увидев установленную версию Java 1.6.0.22! Но я регулярно читаю новостные ресуры по Linux, и там постоянно пишут, что "вышел корректирующий релиз Java 1.6.0.x+1, в нём исправлено 200 критических уязвимостей...". Какой ужас! Я пользуюсь ОЧЕНЬ старой версией Java, хотя мой дистрибутив самый новый и содержит себе все самые последние обновления!
Что произошло? Выяснилось, что компания Oracle, которая владеет правами на Java, в августе 2011 года отозвала выданную компанией Sun, приобретённой ей, лицензию на поставку Java в дистрибутивы Linux (новость на ресурсе opennet.ru). На старые версии Oracle Java (а именно ветка 1.6 и версия 1.6.0.22 и ранее) это не распространяется, а на более новые версии - распространяется. К счастью, есть OpenJDK, тот же самый Java, код OpenJDK открыт под лицензией GPL. И если для версии 1.6 совместимость между OpenJDK и Sun/Oracle Java была не полной (не удалось открыть примерно 1% исходного кода), то ветвь Oracle Java 1.7 базируется как раз на OpenJDK, и совместимость на этот раз полная (новость на ресурсе opennet.ru).
В этом совете я покажу вам то, как компания Oracle предполагает теперь устанавливать Java пользователям. Не ждите новую Java в обновлениях! Подробности ниже...
Пять способов использовать Linux веб-камеру
(Автор Разван Т.Коложа, February 12, 2008 (9:00:00 PM))
Итак, вы только что установили линукс-совместимую вебкамеру. Протестировали ее в Kopete, теперь вы можете отправлять свои фото в MSN и Yahoo! Что дальше? Вот несколько вещей которые еще можно сделать.
Сделайте видеозаписи
Один из самых простых способов записать видео это использовать mencoder, входящий в пакет mplayer. Используя Video4Linux драйвер, mencoder может получить ввод с веб-камеры и сохранить в несжатый AVI файл. Используйте следующую команду для записи AVI с разрешением 320x240.
$ mencoder tv:// -tv driver=v4l:width=320:height=240:device=/dev/video0 -nosound -ovc lavc -o wcrecording.aviПредполагается что /dev/video0 используется вашей вебкамерой. Так как моя недорогая камера не имеет микрофона, я использовал опцию -nosound чтоб отключить запись звука.
Экспорт .mbox в gmail
Очень простой способ экспорта .mbox в gmail:
1. Скачиваем отсуда скрипт imap_upload.py.
2. gmail -> Настройки -> Пересылка и POP/IMAP -> Включить IMAP
3. gmail -> Настройки -> Ярлыки -> Создать ярлык (например, Imported)
4. Закачиваем почту из .mbox файла:
$ python imap_upload.py --gmail --box imported my.mboxТап на тачпаде - другой метод
ramok предложил интересные варианты - http://linsovet.com/touchpad-enable-tapping - но есть метод (имхо) попроще
# nano /usr/share/X11/xorg.conf.d/50-synaptics.confSection "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" Option "TapButton1" "1" Option "TapButton2" "2" Option "TapButton3" "3" #...и другие свои опции... EndSection
проверено на debian 5,6,7, arch, gentoo
#kstn
ImageMagick, png и размер холста
При работе с изображениями в формате PNG не стоит забывать о «размере холста». В частности, утилиты из ImageMagick часто вычисляют смещение и размер, исходя именно из размера холста; чтобы этого избежать, используйте +repage.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- …
- следующая ›
- последняя »





