Глупый пингвин робко прячет, умный - смело достает...


Как ускорить установку пакетов (eatmydata)

Как правильно ставить пакеты с кучей зависимостей, например, ubuntu-desktop, на Debian, Ubuntu и тому подобные дистрибутивы?

Вот так:

$ apt-get install eatmydata
$ eatmydata apt-get install ubuntu-desktop

eatmydata "отключает" функции fsync, sync и т. п., что приводит к более быстрой установке, но при этом может привести к порче данных, если во время установки комп вырубится.

Установка становится быстрее в разы.

См. также: http://www.bestechvideos.com/2007/04/18/linuxconf-au-eat-my-data-how-everybody-gets-file-io-wrong (он же http://mirror.linux.org.au/pub/linux.conf.au/2007/video/talks/278.ogg )

0
Ваша оценка: Ничего
romy4 аватар

Хрипит, хрустит, дублируется, пропадает звук. особенно intel hd

Три метода (после каждого перезагружаемся):

1) открыть /etc/modprobe.d/alsa-base.conf

$ sudo gedit /etc/modprobe.d/alsa-base.conf

и добавить строчку

$ options snd-hda-intel vid=8086 pid=8ca0 snoop=0

перезагрузиться.

2) если не помогло, то открыть /etc/pulse/default.pa

$ sudo gedit /etc/pulse/default.pa

и заменить

$ load-module module-udev-detect

на

$ load-module module-udev-detect tsched=0

перезагрузиться.

3) если уже совсем ничего, то может быть это:
отредактировать /usr/lib/pm-utils/power.d/intel-audio-powersave

$ gksu gedit /usr/lib/pm-utils/power.d/intel-audio-powersave

заменить

$ INTEL_AUDIO_POWERSAVE=${INTEL_AUDIO_POWERSAVE:-true}

на

$ INTEL_AUDIO_POWERSAVE=false

выполнить
 

0
Ваша оценка: Ничего

Выбрать из файла строки, содержащие некоторые слова в произвольном порядке

Иногда банальные, казалось бы, вопросы, могут вызвать желание разобраться, какие же есть варианты решения предлагаемой задачи.
Дано: есть некий текстовый файл, например:

$ cat file
1 2 3
3 2 1
2 3 1
3 3 3 
1 1 1
2 2 2
2 3 3

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

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
ramok аватар

Восстановление/копирование прав файлов

Если вы случайным chmod/chown рекурсивно запортили права в директории, дав всем одинаковые права или владельца, и есть копия этой директории (вы ведь делаете бекапы, не так ли? ;) то права можно восстановить с помощью утилит пакета acl.

Сохраняем права в файл из правильной директории:

$ cd backup-dir
$ getfacl -R . > ~/acl.txt

Восстанавливаем

$ cd target-dir
$ setfacl --restore=~/acl.txt
5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
ramok аватар

Как заставить apt-get не ставить лишнее

Очень разражает когда ставишь нужную тебе программу на сервер, а она тянет за собой GUI настраивалку, которая за собой тянет X сервер и прочая, прочая, прочая.

Например virtinst тянет за собой virt-viewer и qemu, которые тянут за собой кучу иксового мусора.

Но, эти зависимости только рекомендованы. apt-get можно попросить не ставить рекомендованные пакеты.
В конфиг apt добавляем:

APT::Install-Recommends "0";
APT::Install-Suggests "0";
0
Ваша оценка: Ничего
romy4 аватар

Простейший SMTP сервер для разработок [2]: netcat

Сохранить код как smtp.sh

#!/bin/bash
 
       echo "10x.example.com ESMTP"
 
       read helo
       echo "250 10x.example.com"
 
       read mail_from
       echo "250 ok"
 
       read rcpt_to
       echo "250 ok"
 
       read data
       echo "354 go ahead"
 
       read newline_dot_newline
       echo "250 ok 1134335146 qp 3108"
 
       read quit
       echo "221 10x.example.com"
 
       echo "$helo" > myfile
       echo "$mail_from" >> myfile
       echo "$rcpt_to" >> myfile
       echo "$data" >> myfile
       echo "$newline_dot_newline" >> myfile
       echo "$quit" >> myfile

И в командной строке:

$ while :; do nc -l -p 10101 -e smtp.sh; sleep 1; done
0
Ваша оценка: Ничего
romy4 аватар

Простейший stmp сервер для разработок

ставим nullmailer

$ sudo apt-get install nullmailer

в файле /etc/nullmailer/remotes добавляем:

$ localhost smtp

перезапускаем сборщик очереди

$ sudo /etc/init.d/nullmailer restart

Качаем прикреплённый архив. Скачиваете, переименовываете в fakemail.zip и распаковываете себе в ~/bin или куда-нибудь ещё. Внутри в папке init.d лежит тот самый fakemail скрипт для старта. Редактируете изменяя путь в DAEMON, затем копируете его в /etc/init.d

Создаём под рутом папку /tmp/mails
добавляем в rc0.d ... rc6.d ссылки на мейлер и готово

Я для себя не делаю ссылки на запуск, так как есть скрипт для запуска всего dev сервера.
А для останова надо следующее:

$ sudo ln -s /etc/init.d/fakemail /etc/rc0.d/K20fakemail
$ sudo ln -s /etc/init.d/fakemail /etc/rc1.d/K20fakemail
0
Ваша оценка: Ничего
romy4 аватар

Уменьшение потребления CPU для Skype под Linux and MacOS

Увеличивает таймаут у вызовов poll (Linux) и kevent (Mac OS), снижая потребление процессора в 4-5 раз.

Linux:

git clone https://github.com/ValdikSS/skype-poll-fix.git
cd skype-poll-fix
make -f Makefile.linux
sudo cp skype-poll-fix.so /usr/lib

теперь надо перенастроить запуск:

sudo mv /usr/bin/skype /usr/bin/skype-bin
sudo vim /usr/bin/skype
sudo chmod +x /usr/bin/skype

в редактируемый файл пишем:

#!/bin/sh
LD_PRELOAD=/usr/lib/skype-poll-fix.so skype-bin $*

если ругается на make, то, возможно, надо поставить gcc-multilib

MacOS:

git clone https://github.com/ValdikSS/skype-poll-fix.git
cd skype-poll-fix
make -f Makefile.macos
DYLD_INSERT_LIBRARIES=./skype-poll-fix.dylib /Applications/Skype.app/Contents/MacOS/Skype

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

При всём этом колдовстве Skype должен быть не запущен

0
Ваша оценка: Ничего
ramok аватар

Как в firefox сделать полный скриншот сайта

Если сайт длинный, не влезает в экран, а хочется сделать скриншот всей страницы, то открываем в firefox, жмём Shift-F2 (или Tools > Web Developer > Developer Toolbar), и набираем там.

screenshot --fullpage /tmp/my-site

В результате получится /tmp/my-site.png

5
Ваша оценка: Ничего Рейтинг: 5 (3 голоса)
ramok аватар

Трассировка скриптов

Во время отладки скриптов очень удобно видеть какие трассировку, какие команды исполняются во время исполнения скрипта.
Обычно это реализуется специальными командами включения/выключения трассировки. Информация о выполнении команд обычно выводится в поток ошибок.
Ниже приведены примеры для sh/bash/zsh, expect/tcl, python.

0
Ваша оценка: Ничего
FrBrGeorge аватар

setUID-ные и setcap-ные сценарии

В Linux можно запускать командные сценарии с установленными setUID/setGID или setcap-битами при помощи механизма binfmt.

0
Ваша оценка: Ничего

'CRYPTO_set_id_callback' error when building PHP with cURL

Not sure why it's happening, but a look in Makefile showed that EXTRA_LIBS contained "-lcrypt" twice:

$ EXTRA_LIBS = -lcrypt -lz -lresolv -lcrypt -lpq -lrt -lpq -lpng -lz -ljpeg -lcurl -lrt -lm -ldl -lnsl -lxml2 -lzlcurl -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt

Changing the last "-lcrypt" to "-lcrypto" resolved the problem:

$ EXTRA_LIBS = -lcrypt -lz -lresolv -lcrypt -lpq -lrt -lpq -lpng -lz -ljpeg -lcurl -lrt -lm -ldl -lnsl -lxml2 -lzlcurl -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypto
0
Ваша оценка: Ничего
FrBrGeorge аватар

Конвертирование из командной строки с помощью Libre/OpenOffice

Утилита unoconv «правильно» (со всеми нужными параметрами) запускает Libre/OpenOffce из командной строки для конвертации файлов из любого поддерживаемого формата в любой.

0
Ваша оценка: Ничего
romy4 аватар

Trim as bash command

trim() {
    local var=$@
    var="${var#"${var%%[![:space:]]*}"}"   # remove leading whitespace characters
    var="${var%"${var##*[![:space:]]}"}"   # remove trailing whitespace characters
    echo -n "$var"
}

Ну и конечно два стандартных:

tr -d '  '

вырежет все пробелы
и обрежет все пробелы вначале и в конце.

sed -e 's/^ *//' -e 's/ *$//'
0
Ваша оценка: Ничего
i-sat аватар

tftpd на OSX

Порой бывает необходимо залить новые конфигурационные файлы или обновление микропрограммы при помощи TFTP-протокола на какую-то железку, а под руками нет никакого другого Linux или UNIX, кроме OS X.

Если это Ваш случай, добро пожаловать под кат...

0
Ваша оценка: Ничего
i-sat аватар

WireShark в Debian

Каждый раз после установки или обновления WireShark в Debian Linux сталкиваюсь с такой проблемой, что нет доступных для снифинга интерфейсов. Возможен только просмотр ранее сохранённых pcap-файлов.

Поэтому приведу здесь рецепт, который возможно облегчит многим жизнь.

0
Ваша оценка: Ничего
i-sat аватар

Запускаем ускоритель Slonax в Debian Wheezy 64

Давно пользовался ускорителем Slonax от компании SatGate для медленных GPRS/EDGE/3G соединений в дороге и после очередного обновления Debian до Debian Wheezy amd64 заметил, что он перестал запускаться.

Долго искал решение, но всё равно при запуске он выдавал следующее сообщение об ошибке:

0
Ваша оценка: Ничего
romy4 аватар

Skype или другие программы открывают ссылки не в браузере по умолчанию

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

Решается просто. В консоли:

$ sudo update-alternatives --config x-www-browser
0
Ваша оценка: Ничего

vim и ignorecase

если у вас в настройках установлено игнорирование регистра символов

smartcase
ignorecase

при поиске получается сплошное удобство
при замене же, если вам нужно поменять именно aaaBBB на bbbCCC поможет ключ /I

:%s/foo/bar/I

пример:

до замены

строка
строкА
СТРОКА
 
:%s/строка/замена/I

после замены

замена
строкА
СТРОКА
0
Ваша оценка: Ничего
bliznezz аватар

OCR на bash + imagemagick

Есть много программок на андроиде, которые рисуют otp-код (one time password). Вот и у меня одна такая.
Но распознавать глазами код совершенно не интересно, поэтому нацарапал скриптик который этот код распознает как текст. Справедливости ради текст представляет собой несколько цифр в одном положении экрана определенного размера, удобным для распознавания шрифтом, не капча.

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)