LINUX.ORG.RU

Сообщения Xenius

 

Беспроблемный дистрибутив для простого юзера

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

Год назад я бы уверенно сказал: Mandriva free, ибо всё настраивается из единого центра управления, интерфейс простой, без заморочек и так далее.

Но теперь Mandriva собирается обанкротится, да и даже если она этого не сделает, последняя версия стала до крайности жирной и тормозной.

Ubuntu перешла на Unity, который стал окончательно неюзабельным, а возвращение нормального гнома требует значительных усилий.
В Mint изкоробки лезут проприетарные кодеки, драйвера, адобридер и прочая гадость, которую потом вычищать...

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

Хотелось бы:
1) пакетный менеджер с достаточно богатым репозитарием (slackpkg, увы, вылетает) и поддержкой зависимостей из коробки
2) максимальная простота установки оборудования — например «воткнул принтер — печатает», минимум возни при возникновении проблем (лёгкость диагностики), плюс минимум возможных проблем если не лезть в систему (обновления не должны ничего ломать).
3) минимальные затраты на начальную настройку, включая наличие изкоробки медиаплеера с полным набором свободных кодеков, включая те, которые имеют сомнительный правовой статус в США и прочих буржуиниях (поддерживающих запатентованные форматы).
4) умеренное потребление ресурсов — что бы на на не самом новом компьютере с 512 метров оперативки и пентиум 4.
5) возможность заблокировать установку несвободного ПО так что бы для его установки надо было править конфиг или лезть в настройки. Всякая проприетарщина, особенно драйвера видео, могут запросто сделать невозможным запуск графического DE, испортить что-нибудь на компе и тд, не хотелось бы что бы её можно было поставить случайно.

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

Мне самому нравится Slackware, но я не уверен, что slapt-get соответствует пункту 5 — есть ли там разделение свободного и несвободного ПО в репозитариях. Да для того что бы получить этот slapt-get его ещё надо качать и компилировать, ибо изкоробки его нет.

Xenius
()

Можно ли смонтировать сжатый образ раздела ext2/ext3/ext4?

Несжатый образ можно смонтировать через mount -o loop ext3.img /mnt/disk
Всякие сжатые сквошфс тоже можно смонтировать.

Если это образ целого диска, а не раздела, разделы на нём можно смонтировать, если юзать kpartx или использовать параметр монтирования offset=<смещение начала раздела в образе>.

1) Можно ли смонтировать образ ext* сжатый gzip (например ext3.img.gz)?
2) Можно ли смонтировать образ целого диска с разделами, сжатого gzip?
3) 1 и 2, но может быть с каким-то другим алгоритмом сжатия или с индексом, что бы работало со скоростью не (намного) меньше чем при монтировании несжатого образа?

Теоретически должно быть возможно как миниум 3, но на практике как это сделать?

А нужно это мне для бекапа, но при этом я хочу гарантированно сохранить всю метаинформацию, и иметь возможность извлечь нужный файл при необходиомости (или при создании дифференциального бекапа).

PS. Монтирования только для чтения достаточно, оно даже предпочтительней, поскольку файл с бекапом после создания изменяться не должен, а только дополняться или заменяться целеком.

Xenius
()

Что произойдёт если усыпить ОС на диск, загрузиться с CD и добавить файлы на разделы этой ОС?

Усыпил ОС в swap, после чего попробовал загрузиться с компакт-диска, в процессе чего подредактировал файлы на корневой файловой системе усыплённой ОС.

Вот что мне теперь интересно: насколько опасно восстанавливать ОС из спячки для целостности файлов на диске?

Всяких туксонайсов не установлено, ядро почти ванильное.

Xenius
()

Посоветуйте легкий эмулятор терминала с вкладками не на vte

Решил отказаться от Terminal, ибо он тормозит и зачем-то сохраняет на жесткий диск логи консоли.

Пока что буду использовать Konsole, но может есть какие-нибудь другие хорошие эмуляторы терминала с поддержкой вкладок, переключения кодировок.. и тд, не основанные на движке vte (gtk-шный виджет терминала)?

Xenius
()

Исследование swap-раздела ОС, ушедшей в suspend to disk

Имеется GNU/Linux, которая была усыплена с помощью echo disk > /sys/power/state

Как можно исследовать swap-раздел без пробуждения спящей ОС? В частности, определить какие сегменты памяти каким программам принадлежат. Усыпление выполнено обычным образомн на дефолтном ядре.

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

Xenius
()

Переключение раскладки по CapsLock: светодиодные индикаторы

Если настроить переключение раскладки по CapsLock, то собственно капс будет включаться как shift-caps, но индикатор CapsLock будет показывать текущую раскладку вместо состояния капса.

Можно ли сделать так что бы раскладка переключалась по CapsLock, её состояние показывалось индикатором Scroll Lock, а собственно режим ЗАГЛАВНЫХ БУКВ переключался по shift-caps, ctrl-caps или как-то так, но не молча, а показывая своё состояние индикатором Caps Led?

Xenius
()

Параноя... Обнаружил у себя на жестком диске логи своей консоли

grep -a -b 'root@darkstar:~' /dev/<root_fs> | tee /home/suspected-root.log

Попробовал выполнить команду типа такой — то есть греп по постоянной части моего приглашения в консоли.
Логи консоли простого юзера тоже находит

И внезапно находятся логи консоли, причём именно логи с командами и результатами их выполнения... и ладно бы просто так, так ведь! эти блоки не соответсвуют никаким файлам, по крайней мерез debugfs не нашел.

Так как grep выводит оффсет. вот такой командой можно прочитать блок, где был лог: dd if=/dev/sda2 bs=4096 skip=$[<offset>/4096] count=5 > /home/suspected.sector.dd

Попытаться найти в файловой системе блок так:

debugfs /dev/<root_fs> -R «icheck $[<offset>/4096]»

С нормальными файлами вроде работает (попробуйте погрепать по содержимому текстового файла, который вы создали и потом через icheck и ncheck найти имя файла).

Теперь бы ещё узнать, кто их туда записывает.. Я надеюсь, что не руткит. Может быть временный файл от приложения-терминала. Но почему не получается определить файл?

Xenius
()

2D RTS под GNU/Linux (типа Dune 2)

Интересуют игры только под GNU/Linux или хотя бы с полностью открытым исходным кодом, которые можно портировать на GNU/Linux. Крайне желательно что бы графика и всё прочее тоже было свободным.

Нашел Dune Legacy, но мне не нравится что она требует файлы от оригинальной игры, да и то что графика там с малой цветовой глубиной и разрешением — именно потому что из оригинальной дюны.

Globulation2 — хорошая стратегия, графика полноцветная, но там всего три типа юнитов и она после 0.9.4.1 почему-то больше не разивается. Играл как-то давно, вроде была играбельная и без особых глюков.

Так как речь идёт только о двумерных RTS, то WarZone2100 и некоторые другие игры не упоминаю.

Есть ли какие-нибудь хорошие двумерные игры по типу Dune2 или C&C, но с полноцветной графикой и под GNU/Linux?

Xenius
()

Нужно ли массово переманивать виндузтников на GNU/Linux?

Существует мнение, что нужно, поскольку тогда появится больше всяких драйверов, софта и так далее.

Но, если подумать. Виндузятников гораздо больше чем линуксоидов. Если даже 10 часть их перейдёт — количество пользователей GNU/Linux удвоится.

Но нужно ли нам это, тем кто выбрал GNU/Linux осознанно ради свободы и технических преимуществ?

Пришла в голову мысль — а не свитчерам с винды ли мы обязаны всяким сомнительным переменам вроде Gnome3, Unity, KDE4, systemd, UsrMove, etc?
«Сделайте интерфейс, которым сможет пользоваться и идиот и только идиот захочет им пользоваться»

Ведь если процент бывших виндузятников будет высок, они проберутся и в сообщество разработчиков и начнут превращать GNU/Linux в подобие винды, делая так, что бы GNU/Linux из отличной и удобной ОС превращался в нечто среднее между поделками для хомячков типа iOS и того, что он есть сейчас — не лучшее ни для хомячков, которые не осилят, ни для опытных пользователей, которым такое неприятно.

Кроме того, вслед за хомячками, на GNU/Linux потянутся и криворукие проприетарщики, поделки которых они будут юзать, а следом вирусы и прочие виндовые радости.

Сейчас нормальный линуксоид может использовать почти любой дистрибутив, кроме всяких линпусов — а если хомячки станут доминирующими?

С другой стороны, настоящих профессионалов — наоборот следует привлекать. Профессионалов — которые отлично владеют своей предметной областью, но при необходимости не чужды тому что бы и написать программы под свои нужды — а кто лучше профессионалов знает, что нужно профессионалом? Уж точно не жирные менеджеры копирастических контор.

Xenius
()

[криптография]Новый (?) алгоритм шифрования

 

Как известно, задача разложения числа на простые множители является вычислительно сложной, по крайней мере на настоящий момент — значит её можно взять за основу.

Кроме того любое число несёт в себе информацию. Исходя из этих двух идей, довольно легко придумать алгоритм шифрования:

1) Исходные данные представляются в виде двоичного кода (например, если это русский текст, то можно закодировать его по ГОСТу (iso8859-5), что бы занимал меньше места. 2) Текст разбивается N примерно равных частей по M бит. M должно быть достаточно большим, например, не менее 4096 (т.е. 512 байт). Для небольших текстов желательно взять две части. Это можно делать например командой split 3) Части интерпретируются просто как числа:

echo -n "какая-то фраза" | xxd -p -u # шестнадцатеричный вид
echo -n "какая-то фраза" | xxd -p -u | tr -dc 0-9A-F | dc -e16i?p # десятичный вид

Как пример: есть abc — в ASCII это \x61\x62\x63 А значит число будет 0x616263 или 6382179.

3.5) Шаг опциональный — для простого текста его можно не делать — каждый кусок текста оформляется таким образом, что бы к нему добавился номер и, например, маркер конца строки.

4) Теперь у нас есть N чисел. Далее, надо каждое из них превратить в простое. Для этого я предлагаю приписывать к ним от 0 до d цифр, где 0 цифр нужно, если случайно окажется, что число уже простое. А конкретные цифры, которые нужно приписать к числу находятся перебором. Цифры к числу приписываются обязательно слева: Bn=An*b^d+D — где D подбирается так, что бы число Bn было простым, а b — основание системы счисления (например 10, 16 или 256). При этом, подбирать придётся, скорей всего, не так уж и долго.

5) Все полученные числа перемножаются.

6) Полученный результат для удобства следует представить в виде печатных знаков, например с помощью base64:

$ echo 1254542325621 | dc -e ?P | base64
ASQYjLd1

Шифротекст готов. Кстати, я тут попробовал этот алгоритм применить вручную. Попробуйте расшифровать:

F2by3fRqZDAzNocxFDcKvU9wRhELEcrP/HMmN/KPhmwh6x43OpW3p55W+UjxZybvCki1sQhMUfmbDiL9fhVygQ==

Кроме того, хотелось бы узнать ваше мнение о криптостойкости данного шифра.

Кстати, о применении: 1) Классическое шифрование — в качестве ключа случайное число, которое просто умножается на открытый текст. 2) Хеширование — взять последние несколько байт полученного составного числа 3) Например, вы не хотите светить свои личные данные, но хотите иметь возможность доказать, что это вы в случае чего (например восстановление пароля на сайте). Для этого нужные данные (например email-адрес) дополняются мусором и шифруются моим алгоритмом. Полученный результат отправляется на сайт. Далее, если вам понадобится восстановить аккаунт, можно отправить админу сообщение с нужного e-mail, содержащее один из простых множителей — админ делит шифротекст на него, получает результат и убеждается, что он совпадает с адресом, откуда отправлено письмо — тогда он высылает на этот адрес новый пароль. Можно использовать для этого и что-то другое, например md5 от e-mail-адреса с солью, но это менее надёжно, так как в принципе возможны коллизии. Мой алгоритм по сравнению с алгоритмами хеширования всегда гарантирует принципиальную возможность получить исходный текст полностью. (по крайней мере, если добавить способ отличить кусок текста от D)

Правда, этот алгоритм имеет некоторую уязвимость — если знать часть исходного текста и шифротекст — восстановить остальное становится проще (А если знать (N-1)/N теста — можно восстановить 1/N вообще без усилий).

Xenius
()

Как запустить Castle Wolfenstein под GNU/Linux?

Посмотрел фильм «Медаль за возвращение в замок Вольфенштейн» — если кто не знает, это инди-фильм, сделанный практически в одиночку одним из жителей Владивостока.

Фильм мне понравился, но захотелось поиграть в Return To Castle Wolfenstein, до этого я играл из этой серии только в обычный Castle Wolfenstein (но это уныло и вообще 2D) и Wolf 3D — повеселей, но за счёт низкого разрешения графики играть в него больше не хочется, хотя так и не прошел.

Но я читал новость, что исходные коды открыли и даже нашел их на официальном FTP id Software. А остальное где взять? Приветствуется ссылка на скачивание с официального сайта.

http://www.castlewolfenstein.com/ — глухо http://www.idsoftware.com/games/wolfenstein — тоже

По ссылке Buy написано, что price unavailable.

Предлагать купить через какую-нибудь проприетарную приблуду не надо. Проприетарный софт я не запускаю.

Xenius
()

SD-карты у всех так дохнут?

Первая SD-шка была убита — поменял в магазине. Вторая SD-шка, купленная независимо и совсем в другом месте мне выдала mount: cannot read superblock сразу после вставки, а потом смонтировалась, когда я повторил ту же команду через пару секунд и ещё в dmesg ошибки ввода-вывода были...

usb 2-3: reset high speed USB device using ehci_hcd and address 106
sd 99:0:0:0: [sdb] Media Changed
sd 99:0:0:0: [sdb]  Result: hostbyte=0x00 driverbyte=0x08
sd 99:0:0:0: [sdb]  Sense Key : 0x6 [current] 
Info fld=0x0
sd 99:0:0:0: [sdb]  ASC=0x28 ASCQ=0x0
sd 99:0:0:0: [sdb] CDB: cdb[0]=0x28: 28 00 00 ec c7 c0 00 00 08 00
end_request: I/O error, dev sdb, sector 15517632
Buffer I/O error on device sdb, logical block 1939704

Эти SD у всех так дохнут или нет?

Xenius
()

Как понять, сдохла флешка от моих действий с ней или от того что изначально была бракованная?

Собственно, я с ней сделал то же самое, что всегда делаю с новыми флешками:

# очистка флешки от упоминаний Windows, MS-DOS и прочих нехороших вещей:
dd if=/dev/zero of=/dev/sdb bs=8k
# создание на флешке раздела, обычно просто o, n, p, 1, enter, enter, t, b, w:
fdisk /dev/sdb
# создание файловой системы, пусть и не православной, зато распознаваемой всякими фотоаппаратами и прочей фигнёй:
mkfs.vfat -F 32 /dev/sdb1

Вначале флешка вроде работала. Потом я внезапно обнаружил, что в файлах которые на ней были вместо данных одни нули. После этого файлы на флешке вообще пропали, как будто её ещё раз отформатировали (не уверен, правильное ли это слово для того что делает mkfs), а теперь она вообще не монтируется, ругаясь на суперблок.

Это флешка такая фиговая изначально или всё-таки я её убил?

Xenius
()

[bootsplash][ненависть] Зачем вообще придумали эту гадость?

 

Пользы ну совершенно никакой — красивую анимашку можно посмотреть когда ОС уже польностью загрузится. Зато вреда дофига — не видно что загружается и на какой стадии загрузки ядро виснет и почему.

Особенно плохо, когда эта заставка не выключается убиранием параметров ядра — тогда вообще не ясно как её отключить.

В андроиде например так.

Давайте напишем петицию к разработчикам всех ОС на базе Linux, даже не обзяательно GNU, что бы нафиг убрали эту гадость?

Xenius
()

Какими LiveCD/LiveUSB/LiveFDD вы пользуетесь? || сравнение скорости загрузки

Иногда бывает нужно быстро восстановить GRUB/lilo/etc, потестить железо на компе и так далее. Естественно, самый простой способ — это загрузить компьютер с специально подготовленного носителя.

Какими вы пользуетесь для этой цели дистрибутивами, готовыми, или самодельныи и на базе чего?

А ещё меня интересует какой-нибудь LiveCD что бы максимально быстро загружался, но на нём при этом были все необходимые утилиты, типа lspci, lsusb и так далее. И нормальные GNU, а не (только) busybox.

SysRescCD грузится довольно долго и запускает кучу фоновых демонов. К тому же содержит иксы. Кроме того, там по дефолту zsh, в который я конечно ввожу команды как в bash, но не факт что какие-нибудь сложные не поведут себя неожиданно.

TinyCoreLinux грузится вроде быстро, но утилит GNU там нету изкоробки

Dragora — когда последний раз пробовал, этот CD грузился _очень_ быстро. По-моему самый быстрый из всех, какие я видел. Но там кое-каких нужных утилит, например lvm нету.

А есть какой-то CD быстрей чем SysResc, но при этом что бы там были все консольные тулзы, какие есть на sysresc? В частности, нужны dd, file, {s,c,}fdisk; *resize, fsck.* для экзотических файловых систем типа xfs, ntfs, reiserfs

Xenius
()

Что почитать про Android (по типу Slackbook)?

Купил устройство на Android, пока что тыкаю. Поковырял и понял, что почти ничего об андроиде не знаю. Вот какие вопросы:

1) Я выяснил, что apk-файлы — это просто зип-архивы. Но можно ли их как-то делать самостоятельно? Я имею ввиду, вручную взять файлики и собрать в архив.

2) Как посмотреть, какие файлы в системе относятся к какому пакету?

3) Как разобраться в том, что делают устанавливаемые приложения? Ну распаковать apk как zip, а дальше?

4) Где взять аналог FHS но для андроида? Или если стандарта нет, то хотя бы узнать, как обычно раскидывают файлы.

5) Есть ли нормальный эмулятор терминала, удобный при наличии клавиатуры? Android Terminal Emulator не ловит Ctrl-C например. Ну и никакого автодополнения команд, повтора предыдущей команды и тд — прям как в DOS

6) Почему-то chroot в crux-arm-2.7 не запускается, говорит bus error. Что это значит?

7) Есть какой-нибудь пакет с набором утилит GNU вместо дефолтного бизибокса, или только распихивать бинарники вручную из-под неудобного терминала?

В общем, киньте чем-нибудь вроде Android User Guide, но только что бы там описывалась не всякая ерунда типа «тыкните вон в ту кнопочку что бы добавить виджет», а более общие принципы построения системы.

Типа Slackbook, но про андроид.

Xenius
()

Линуксовые приложения под виндой — хорошо или плохо?

Вопрос нетехнический, поэтому в толксы.

Так вот, для многих программ написанных изначально для GNU/Linux или других UNIX-подобных ОС есть и виндовые билды. В том числе всякие ffmpeg, mplayer (на сайте предлагают скачать в бандле с smplayer).

С другими приложениями то же самое — FireFox, OpenOffice.org, GIMP, Emacs и другие проги есть и в сборке под Windows.

Как вы считаете, это хорошо или плохо вообще? А лично для вас? А для самих этих приложений? А для мира свободного софта? А для мечтающих о виндекапце?

Кстати, ЧСХ, виндовые приложения, даже с открытыми исходниками, под нормальными операционками нативно обычно работают со скрипом или не работают вообще — 7zip, Miranda IM, виндовый fasm (забыл как называется, но я про гуёвый редактор со встроенным в бинарник фасмом), FAR Manager, например.

PS. Речь только о прикладных программах — системные утилиты обычно если и могут быть перенесены на другую платформу, то с таким трудом, что проще написать новые (как пример, ps, top, ProcessHacker и тд)

Xenius
()

А давно вы смотрели в /bin ?

Если вы всё-таки хотите посмотреть туда, но не знаете как, эта команда специально для вас:

cat /bin/* /dev/zero | xxd -b | cut -f2-8 -d\  | tr -d \\n\ | tr 01 \\0\\377 | mplayer -demuxer rawvideo -rawvideo fps=3:`xrandr -q | sed -ne '1s/.*current /w=/;1s/ x /:h=/;1s/,.*$//;1p'`:y8 -fs -

А ещё с помощью этой команды можно читать тексты, гораздо быстрей чем вы бы это сделали с помощью какого-нибудь там less — целая книга за пару секунд.

Можно оформить код в виде шелл-функции или скрипта что бы вызывать его одной командой, кроме того, можно сделать автоматическое дополнение последнего кадра до целого из /dev/zero. но эту задачу я оставляю читателям.

UPD:

time (find /usr/info -type f -iname \*.gz -execdir zcat {} \;; head -c 8388608 /dev/zero ) | xxd -b | cut -f2-8 -d\  | tr -d \\n\ | tr 01 \\0\\377 | mplayer -demuxer rawvideo -rawvideo fps=3:`xrandr -q | sed -ne '1s/.*current /w=/;1s/ x /:h=/;1s/,.*$//;1p'`:y8 -fs -

Так можно прочитать всю документацию в формате GNU info. Правда, это долго. И то ли я что-то не так делаю, но почему-то я не вижу регулярной структуры...

Вот другая книга, превращённая в анимацию другим методом — тут почему-то структура есть:

http://storage3.static.itmages.ru/i/11/1105/h_1320493158_2666726_071142c2be.jpeg

UPD2:

Багфикс, теперь текстовые файлы должны быть видимы как имеющие регулярную структуру.

UPD3:

Серая «цветомузыка»

file=soundfile.ogg ; sox "$file" -t raw -r 196k -e unsigned -b 8 -c 1 - | mplayer -demuxer rawvideo -rawvideo fps=3:w=320:h=200:y8 -fs -sws 5 -audiofile "$file" -

Xenius
()

40 лет UNIX

 ,

Группа Open Source

Ровно 40 лет назад, третьего ноября 1971 года вышла первая версия Unix Programmer's Manual, описывающая UNIX v1, первую версию операционной системы, которая оказала громадное влияние на все последующие ОС и на вычислительную технику в целом.
Языка C ещё не было, а UNIX уже была.

Многое изменилось с тех пор: сменились поколения вычислительной техники, от телетайпов перешли к терминалам с экранами, от мейнфреймов к персональным компьютерам, а UNIX продолжает жить в наших сердцах, да и системы, которые мы используем сегодня, имеют много общего с UNIX той поры.
Текстовый редактор ed популярен и по сей день, большая часть иерархии каталогов осталась прежней, такие конфигурационные файлы как /etc/passwd были и тогда. И восьмеричные права доступа, пусть они тогда и были только в двух цифрах (suid, executable, read for owner, write for owner, read for others, write for others).

>>> Подробности (bell-labs.com)

Xenius
()

[google] Загадочный пик на google-trends (примерно ноябрь 2007)

 

Например смотрим сюда:
http://www.google.com/trends?q=canada&ctab=0&geo=all&date=all&amp...

В последней четверти 2007-го года явный пик.

Теперь смотрим например USA — пик там же.
Linux — тоже там пик
android — небольшой пик там же.

Ну и вообще довольно много слов, где пик поиска на этом же месте.

Что же всё-таки произошло тогда?

Xenius
()

RSS подписка на новые темы