Май 292013
 

Задача: создать случайный буквенно-цифровой пароль.

Казалось бы очень простой способ создания случайного пароля — это «постучать» по клавиатуре, но в действительности руки тянутся к середине клавиатуры, чтоб не попадать по спецклавишам. Криптостойкость такого пароля падает. Сегодня подобрал такой вариант решения, просто и удобно, но, возможно, не быстро.

head -c100 /dev/random | tr -dc 'a-zA-Z0-9' | head -c10 && echo

Теперь подробнее.

head -c100 выводит первые 100 байт из /dev/random
/dev/random имеет высокий уровень энтропии, т.к. его заполнение основывается на шумах системы, в основном от драйверов. Например, драйвер мыши.
Но если работать удаленно по SSH, то наполнение буфера случайных чисел может быть крайне медленным. Работая локально можно ускорить процесс начав двигать мышкой или нажимая клавиши.
Удаленно я запускал emerge —sync, что тоже пополняло буфер случайных чисел.
/dev/random — может работать медленнее, чем /dev/urandom так как первый выводи случайные последовательности, а второй псевдослучайные.

tr -dc ‘a-zA-z0-9’ отбрасывает все символы не попадающие в диапазон цифр или строчных/прописных английских букв.
head -c10 выводит из всех символов в потоке только 10 первых.
&& echo а это только для перевода строки, чтоб было удобнее просматривать результат.

Май 192013
 

Собирался уже пойти спать примерно 3,5-часа назад, но вдруг что-то случилось с электричеством. Сначала заморгала лампа, потом ребутнулось все, что могло ребутнутся, в том числе и сервак.
Но вот после перезагрузки из ребута он не вышел и выкинул такую ошибку:

 * Udev uses a devtmpfs mounted on /dev to manage devices.
 * This means that CONFIG_DEVTMPFS=y is required
 * in the kernel configuration.


 * ERROR: cannot start udev as udev-mount would not start
 * Mounting /dev/shm ...

Тут и началась веселуха.
Скачал с mirror.yandex.ru новый образ install-amd64-minimal-20130516. Залил его на флешку. Перепробовал все что мог, но запуститься так и не удалось.
Решил, что проблема может быть в образе и не ошибся — скачанная версия, которая вышла неделей раньше, загрузилась без проблем.
Пересобрал ядро с параметрами CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y. Не взлетело. Закрешилось на монтировании файловой системы. Значит не подтянулся файл конфигурации от предыдущего ядра.
Подсунул старый конфиг ядра и добавил в него два новых параметра.
После этого ребут прошел удачно, все сервисы поднялись и благополучно работают.
Но вот спать теперь совсем мало осталось.