Очень волшебная кнопка.

Вчера выхватил забавный баг. Оказывается на некоторых ядрах, если нажать Alt + SysRq + J. Ведро начинает спамить в сислог и кернел лог сообщением типа:

Oct  6 00:54:45 citadel kernel: [43044.278885] Emergency Thaw on sdd1

После чего кончается место на разделе, и система тухнет.

Вот тут https://bugzilla.kernel.org/show_bug.cgi?id=47741 есть небольшой список подверженных багу версий ядер.

А вот тут https://bugs.launchpad.net/ubuntu/+source/linux/+bug/984273 этот же баг в багтрекере убунты. Если не лень, тыкайте на This bug affects you and 3 other people Edit , и выбирайте «Yes, affect me too». Таким образом можно привлечь внимание девелоперов к этому делу.

Коротко и ясно о Linux и SSD

Недавно, хороший человек подарил мне SSD. Неделю он пролежал у меня на столе, т.к. времени перенастраивать систему под его использование не было. Когда же время появилось, прочитав вот этот пост habrahabr.ru/post/129551/, и перелопатив немало форумов, узнал много нового.

Ниже предлагаю компиляцию всего усвоенного в одном тексте.

Итак, сперва теория:

1. ССД диск имеет ограниченное количество циклов перезаписи. Т.е. в один и тот же блок диска, в среднем, можно записать информацию 3000-5000 раз (на дорогие модели дисков можно и больше).

2. Что бы выравнивать износ диска, нужно как можно реже писать в одно и то же место, т.е. сперва использовать незанятые блоки диска, и только когда они кончатся, писать поверх.

3. В незанятый блок, ССД диск пишет намного быстрее чем в занятый.

4. Диск не «знает», о том, какие блоки заняты, т.к. эта информация сохраняется в файловой системе, и при удалении файла, фактически диску об этом не сообщается. Но когда файловая система решит повторно использовать блок, который уже когда то использовался, он может быть еще не очищен от информации которая там была, т.к. диск не знал, что его можно освобождать. И запись в такой блок займет много времени.

5. В отличие от HDD, в ячейку флеш-памяти NAND нельзя перезаписать новые данные поверх старых, не очистив ее перед этим. Ячейки памяти SSD сгруппированы в страницы (обычно по 4 Кбайт каждая), страницы сгруппированы в блоки (64-128 страниц). Данные можно вписать на чистую страницу, но стирать можно только блоки целиком. Запись на SSD-носитель выполняется очень быстро до тех пор, пока существуют чистые страницы, но значительно замедляется, если необходимо очищать предварительно записанные страницы. Чтобы вернуть в обращение ячейки блока, содержащего смесь актуальных данных и мусора (невалидных данных), контроллер копирует нужное (валидные данные) на пустую страницу нового блока, а затем стирает весь исходный блок. После этого ячейки блока будут готовы принять новые данные.
Читать

Рождение и развитие Unix


Томпсон (сидит) и Ритчи работают на PDP-11, 1972 год.

Период 1968-69 гг. был очень неопределенным для Bell Labs: проект операционной системы с разделением времени Multics (Multiplexed Information and Computing Service), разрабатываемой с 1964 года для дорогой 36-битной ЭВМ GE-645, не имел четких перспектив и целей, а лишь разрастался в размерах и сложности, всё ясней был виден его предполагаемый провал. В конце концов, American Telephone & Telegraph вышла из проекта, в который за пять лет были вложены миллионы долларов. Читать

Происхождение названий некоторых команд Unix

Знание истории происхождения вещей и их названий, будь то простой карандаш, автомобиль или команда операционной системы, делает их повседневное использование намного интереснее. В этой заметке я постарался разобраться в причинах странного, казалось бы, наименования некоторых программ, используемых в операционной системе Unix и её родственниках: *BSD, Solaris, HP-UX, Linux и т.д.

Перепечатка моей статьи, написанной, в свою очередь, по мотивам страницы What does {some strange unix command name} stand for?

awk

Aho, Weinberger, Kerninghan
Первые буквы фамилий разработчиков языка, сотрудников Центра Компьютерных Исследований Bell Labs: Альфред Ахо (руководитель исследований в этом центре с 1963 по 1991 и с 1997 по 2002 годы, сейчас — профессор Колумбийского университета в Нью-Йорке), Питер Вейнбергер (в 1985 году его стилизованный портрет стал своеобразным мемом исследовательского центра Bell Labs) и Брайан Керниган (известен прежде всего как соавтор одной из первых книг про язык C)
Читать

Ядерные исследования

После двух месяцев разработки Линус Торвальдс выпустил ядро Linux 3.11. В шутку новому ядру присвоено кодовое имя «Linux for Workgroups», по аналогии с Windows 3.11 for Workgroups. Среди наиболее заметных улучшений: технология сжатого кэширования раздела подкачки Zswap; флаг O_TMPFILE для создания «невидимых» временных файлов; возможность упаковки ядра с использованием сжатия LZ4; экспериментальная поддержка кластерной файловой системы Lustre; спящий режим IRST; динамическое управление питанием GPU Radeon; NFS 4.2; применение SELinux для NFS; порт KVM и Xen для архитектуры ARM64. В новую версию принято 10.7 тысяч исправлений от 1239 разработчиков, размер патча — 44 Мб (изменения затронули 10475 файлов, добавлено 789 тысяч строк кода, удалено 341 тысяч строк). Около 43% всех представленных в 3.11 изменений связаны с драйверами устройств, примерно 23% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 11% связано с сетевым стеком, 5% — файловыми системами и 5% c внутренними подсистемами ядра. 9.1% изменений внесено сотрудниками компании Intel, 8.5% — Red Hat, 8.3% — Linaro, 4.5% — Samsung, 3.9% — IBM, 3.0% — Texas Instruments, 2.9% — SUSE, 2.6% — AMD, 2.1% — Google, 1.3% — Oracle, 1.3% — ARM, 1.1% — Cisco.

Плагины на Rhythmbox

rhythmbox-ubuntu

Сейчас Rhythmbox снова стал музыкальным плеером по умолчанию в Ubuntu, модератор AskUbuntu fossfreedom создал PPA-репозиторий для различных плагинов Rhythmbox, которые могут показаться полезными многим пользователям Ubuntu. Вот некоторые из доступных плагинов: Equalizer, Jump-to-Playing, Tray Icon, Microblogger, Tablature plugin, JumpToWindow и другие.
В этом PPA доступны двенадцать плагинов, и они были протестированы на Rhythmbox 2.96, который доступен в официальных репозиториях Ubuntu 12.04. Правда, некоторые из них не работали с Rhythmbox 2.97 из основного WebUpd8 PPA, но после недавних обновлений, всё стало работать. Читать

Sun Java в Ubuntu 12.04

Из идеологических соображений (или из-за проблем с лицензированием), в большинстве дистрибутивов выпилили сановскую джаву, а вместо нее в репах лежит open source альтернатива. Для большинства задач ее хватает…. Так говорят. Мне же видимо везет, и у меня оно глючит и тупит.

В принципе очевидно, что проприетарный дистр лучше отлажен, и шустрее работает.

Но, ставить jre из оракловского бинарника, и потом заставлять его работать и удовлетворять зависимости пакетного менеджера — боль.

К счастью один добрый человек, сделал скрипт, позволябщий делать из бинарников оригинальной джавы пакеты для вашего дистра (только Ubuntu). Для этого достаточно скачать скрипт отсюда: https://github.com/flexiondotorg/oab-java6

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

apt-get install oracle-java7-jre oracle-java7-jdk

ВНИМАНИЕ! На сегодняшний день скрипт не может собрать 6ю версию, т.к. оракл переложил ее в раздел для разработчиков, доступный только после авторизации. Поэтому скрипт нужно запускать с ключем -7, чтобы собиралась 7я версия, или качать 6ю версию ручками, и чуток обрабатывать напильником исходник скрипта. Благо — ничего сложного там нет.

 

Xen Cloud Platform и XenServer

Пытался сейчас разобраться куда пропал сайт с образами опенсорсной реализации XenServer, которую обзывали XCP (Xen Cloud Platform), был приятно удивлен, оказывается компания Citrix открыла исходники продукта и распространяет его теперь бесплатно. За бабки только поддержка.

Качаю образ XenServer 6.2. Буду ставить вместо связки Ubuntu 12.04 + XAPI.

Система выбора альтернатив в Debian based дистрах

Пока не забыл, запишу тут. Если нужно поставить какой то софт не из репозитория, и аналог этой программы уже есть в системе, то как правило возникает вопрос: «как это сделать не перезаписывая оригинальный файл, и что б при обновлении системы мои изменения не накрылись?»

Пример приведу на установке Oracle jre в Ubuntu 12.04. Читать