← All posts tagged Linux

В общем я спаял чудо-провод: питалово adsl-роутера через usb-порт компьютера. А так он питался от розетки 220V. Ему оказалось достаточно 5V 0.5A, хотя было заявлено 5V 1A и я хотел спаять 2 питаловы от USB параллельно. Делал я это для того чтобы иметь возможность в течение часа сидеть в инете после того свет выключат в доме, питаясь от батареи ноутбука, т.к. телефонную линию не вырубают, она отдельно идет, а тратиться на мобильный интернет совсем не хочется при наличии проводного безлимитного.

В общем adsl-роутер запитывается теперь от компа/ноута, который стоит в одной комнате, а я нахожусь в другой комнате с другим компом/ноутом, имеющим проводное соединение к этой сети.
В случае неожиданного выключения интернета днем/вечером я могу войти в другую комнату, запитать adsl-роутер от своего ноута и подключить его напрямую к своему ноуту, которым обычно пользуюсь.

Ночью тот комп, в который обычно воткнут adsl-роутер выключают. Вместе с этим теперь выключается весь интернет нафиг и локальная сеть, т.к. все запитывается от usb-портов того компа/ноута (и у него еще полудохлый аккумулятор в отличие от моего ноута).

В общем мне нужно чтобы вместо полного выключения компа выключалось все кроме материнской платы и usb-портов, и чтобы вольтаж и ампераж usb-портов не менялся при этом выключении.
Т.е. мне нужно чтобы выключались:
1) процессор с его кулером
2) оперативка, точнее поддержка электропитания оперативки с целью сохранности данных на ней
3) жесткий диск
4) видеокарта и монитор.
Жесткий диск и монитор я допустим еще могу программно выключить, но вот что делать с процессором, оперативной памятью и видеокартой я не знаю.
Естественно мне не подходит спящий/ждущий режим (hibernate/suspend).
В ждущем не выключается оперативка, а в спящем выключается все. И всегда выключаются usb-порты.
Мне нужно решение хотя бы для линукса. Подойдут любые специфические команды, программы, скрипты, самопальные драйверы и подобное.
Также желательно, чтобы при нажатии кнопки включения питания этот компьютер потом начинал загрузку с самого начала, но не перезапускал usb-порты, а оставлял их в прежнем состоянии.
Как это все сделать-то?? Я в тупике просто. Подозреваю что bios может вытворять такие вещи, но как до него достучаться и так чтобы решение было универсально для любой материнской платы и любого биоса (кроме последнего пункта с включением с usb-портами без сброса состояния)?

люди подскажите с линуксовым авастом режима командной строки. я запустил его и ушел на весь день. в инструкции написано, что он в конце предложит удалить вирусы если найдет. он нашел 2 и нифига не предложил. просканировал 37Гб. я зря не перенаправил вывод в файл (я ожидал что он спрашивать же будет же). логов не могу найти нигде. неужели он настолько тупой, что не создает логов??? где они??

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

в общем он ведет себя таким же образом, если нажать Ctrl+C: выводит сколько успел найти вирусов и все. это полный маразм! кому нужно просто количество без указания конкретных путей.

Вместо русских букв в консоли (которая все иксов) кракозябры, чего и следовало ожидать.
Я бы предпочел английский интерфейс в консоли, но это стало невозможно после juick.com
Пришлось ставить console-cyrillic по инструкции для надежности =)
debianworld.ru
А вот фиг! Не помогло!

Заглядываю в /etc/init.d/console-cyrillic
Зашибись: там закомментирован кусок кода запуска этой штуки со ссылкой на баг bugs.launchpad.net
Раскомментирую, и для верности добавляю вызов setupcon после cyr.
Опять облом: console-cyrillic запускается и настраивает консоль, но при последующем запуске иксов консоль переконфигурируется в режим "русские кракозябры" =)
У меня стоит xdm вместо gdm (gdm зачем-то тянет за собой кучу пакетов и мешает пропихивать некоторые новые пакеты в систему без удаления половины установленных пакетов).
Иду в скрипт запуска xdm:
/etc/rc0.d/K01xdm
и приписываю в конце до exit 0
строчку:
sleep 5; service console-cyrillic restart
Задержка нужна для того чтобы подождать пока иксы запустятся и испоганят консоль, а затем исправить это дело перезапуском console-cyrillic (хотя достаточно запуска setupcon). Теперь все отлично работает. В консоли кириллица прекрасно отображается (за исключением терминала с иксами, и в момент перезагрузки появляются кракозябры).
Может кто знает решение проблемы без таких жутких костылей? =)

В убунте все до единого пакеты поддержки русского языка стоят, переустановка не помогает. Везде выбран русский. Интерфейс английский =) Просто устанавливал пакеты из разных репозитариев разные, и произошло такое чудо.
Нашел единственный способ исправить: поменять содержимое /etc/default/locale
теперь так: $ cat /etc/default/locale
#LANG="en_US.UTF-8"
LANG="ru_RU.UTF-8"

помогло, но появились другие проблемы. о них в следующем посте.

есть такая команда как truncate, урезает, увеличивает или создает файл заданного размера.
например: truncate -s 7666M /ttt.iso
в результате наутилус показывает файл на 7.5Гб.
а du -hs показывает файл нулевого размера.
вопрос: почему так? du всегда так неадекватно размер показывает? или truncate так неадекватно создает файлы?
и что вообще это за файл такой если он создается моментально и ничем не заполняется? файловая система etx3.
ls -lsah /ttt.iso
0 -rw-r--r-- 1 root root 7,5G 2012-10-16 21:12 /ttt.iso
ls показывает 2 разных размера. это как так?

1) исчезающий при появлении tooltip курсор каким раком лечить? никаких unclutter в системе нет.
всего-то ядрышко пересобрал на пропатченное (zen-linux) и иксы переставил потому что старые не хотели работать с новым ядрышком. пока что могу все откатить до старого ядра перезагрузкой, но не хочу, в новом прошел баг 12309.
2) звук перестал выводиться на передний выход компа, только на задний. как лечить? причина та же: смена ядра.
-PCI Devices-
Audio device : Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 01)
Kernel modules: snd-hda-intel

Было аварийное отключение вследствие использования чуда-драйвера для usb-модема. Проверку диска отменил. Раздел монтировался секунд 10. Решил посмотреть почему.
$ dmesg | tail
...
[ 7897.236791] EXT3-fs: barriers not enabled
[ 7908.618118] kjournald starting. Commit interval 5 seconds
[ 7908.618517] EXT3-fs (sda5): warning: maximal mount count reached, running e2fsck is recommended
[ 7908.675186] EXT3-fs (sda5): using internal journal
[ 7908.675194] EXT3-fs (sda5): recovery complete
[ 7908.675448] EXT3-fs (sda5): mounted filesystem with ordered data mode

Вопрос к джуйку:
"recovery complete"?? ext3 умеет самовосстанавливаться без e2fsck?

Мне тут понадобился нормальный скрипт, сравнивающий 2 директории (чтобы конкретно писал все совпадающие и несовпадающие файлы). Погуглил, нашел упоминание о неком dircmp, но оказалось что такого пакетика в линуксе нет. В итоге нагуглил какой-то левый dircmp.sh скрипт на соурсфордже. Он не умел корректно работать с директориями и файлами с пробелами. Естественно я исправил и залил результат в собственный проект =)
sourceforge.net
(описание в вики, потому что основное описание еще не одобрили модераторы)
Естественно есть другие методы сравнения директорий и кому-то они покажутся лучше =)

VirtualBox поддерживает виртуальные диски в формате vmdk. Их в отличие от стандартного для VirtualBox vdi можно легко примонтировать в линуксе:
1) надо скачать бесплатно доступный VMware server
2) выдернуть из архива (из папки bin) файлы: “vmware-mount.pl” и “vmware-loop”
3) поместить их в /usr/bin

jameslittle.me.uk

В общем у меня в Убунте внутренние разделы жесткого диска монтировались по щелчку в левой панельке (Места) в nautilus, при этом спрашивался пароль моего пользователя (ну как при вызове sudo/gksudo). Меня конечно раздражало, что спрашивается пароль и нужно вручную монтировать, но мне было настолько лень, что я не настраивал ни нормальное авто монтирование через /etc/fstab, ни нормальное монтирование по запросу без пароля. Но в один прекрасный день я начал вместо монтирования по клику получать дрыгающееся окошко с надписью: "authentication is required to mount the device: приложение пытается выполнить действие, которое требует дополнительных привилегий. для выполнения этого действия требуется аутентификация. ОШИБКА АУТЕНТИФИКАЦИИ." и ниже "сведения" которые можно прочитать, если нажать на треугольничек. но мне прочитать нормально не удалось сведения, потому что это сообщение с ошибкой дергается туда-сюда (возможно там еще одно сообщение промелькивает) и меняется на "не удалось присоединить <ИМЯ_МЕТКИ_РАЗДЕЛА>: not authorized" (узнать про первое сообщение об ошибке мне удалось только с помощью записи того что происходит на мониторе в программе recordmydesktop). погуглив, почитав форумы и поэкспериментировав, я решил проблему (теперь у меня внутренние разделы монтируются без пароля), и расскажу по пунктам как ее решать (после каждого пункта я делал перезагрузку, чтобы было наверняка, потому что не знал какую службу/демон надо перезапускать):

0) лучший результат мне дал запрос в гугле (в английском, тот который с hl=en, в русском как потом оказалось нужный мне ответ был на первой строчке, и на русском сайте): authentication is required to mount the device

недавно довелось наблюдать лечение загружабельности виндовз 7 после перемещения и изменения размера раздела с ней (уменьшения).
делается это с восстановительного livecd c win7 (если найдете конечно):
bootrec.exe /FixBoot
bootrec.exe /RebuildBcd

еще есть:
bootrec.exe /FixMbr
но это попортит загрузку grub4dos, если вы его запихали начальный компонент его загрузки в mbr, да и средствами linux mbr прекрасно чинится:
1) средствами пакета syslinux:
dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda
2) средствами пакета mbr:
install-mbr –I n –p D –t 0 /dev/sda
(кто пользовался install-mbr может расскажет что это за заклинание из опций? я такое боюсь набирать).
про восстановление mbr я взял из этой забавной статьи:
ehow.com
в ней утверждается, что "Press the “Enter” key and wait for the package to repair the corrupted MBR record or bootmgr.exe file." — "Нажмите после той команды Enter и пакет восстановит mbr или файл bootmgr.exe". Вау! Файл bootmgr.exe может содержаться на месте mbr (что он там забыл??) и его содержание эквивалентно /usr/lib/syslinux/mbr.bin
премию автору статьи! =)
кстати bootmgr не имеет расширения exe, а вообще это windows 6.0+ boot manager.

случайно выставил доступ к /usr/lib обычному пользователю (программу ставил копипастом). потом virtualbox начал ругаться на permitions.
решил сделать так (зря):
chown -R root:root /usr

в результате sudo перестал работать =) а пароль рута я благополучно забыл =) с livecd грузиться не хотелось и возиться с файлом /etc/shadow (можно конечно и проще), и я вспомнил пароль рута.
погуглил и нашел что файлы поврежденного sudo лечатся так:
chmod 0440 /etc/sudoers
chmod 4111 /usr/bin/sudo

в общем все вернулось на круги своя. но могут еще какие-нибудь программы начать жаловаться после того что я сделал с /usr

вот по теме:
unix.stackexchange.com
psychocats.net

Я тут собираю VirtualBox OSE 4.2.0. пока что оказалось что пропущен в зависимостях конфигура пакет libpam-dev, точнее libpam0g-dev. без него выдает вот такую ошибочку:
VirtualBox-4.2.0/src/VBox/HostServices/auth/pam/VBoxAuthPAM.c:81: fatal error: security/pam_appl.h: Нет такого файла или каталога
compilation terminated.
Точнее пишет что произошла некая ошибка и команду gcc для ее воспроизведения.
После установки пакета появилась уже другая ошибка далее=)

Есть в линуксе такая утилита для конвертации сжатого образа dmg в hfs+ образ (в виде iso).
dmg2img /media/DATA/ttt.dmg /media/DATA/ttt.iso
Она даже подскажет Вам как примонтировать полученный образ =) Хотя больший смысл имеет записать его на диск.
Программа dmg2iso устарела.

Сегодня нужно было перенести данные с одного диска на более большой с сохранением загружабельности системы. Недолго думая, я сделал так (со статусбаром pv):
dd if=/dev/sda conv=noerror bs=32M | pv -s 85G | dd of=/dev/sdb conv=noerror bs=32M
1.94GB 0:00:57 [33.5MB/s]
ну а потом увеличил разделы партиций через gparted. все нужные программы (и даже firefox) оказались в SystemRescueCD (на базе Gentoo).

Вначале я попробовал GPartedLiveCD (на базе Debian), но там не оказалось pv (и firefox'а не было как и links). И поставить ни один пакет было нельзя, потому что кто-то зачистил /etc/apt/sources.list, а на память (без интернета) я не помню ни как определять версию Debian, ни какие адреса туда конкретно писать.
В общем видимо мне нужен livecd debian-семейства, в котором можно на лету (в оперативку конечно) устанавливать пакеты. В SystemRescueCD команда emerge больно уж долго работает (видимо обновляет портежи).