#!/bin/sh
sudo apt-get install mc
gconftool-2 --set --type string "/apps/compiz-1/plugins/unityshell/screen0/options/panel_first_menu" "Disabled" # Unity Panel 3D
gconftool-2 --set --type bool "/apps/gnome-terminal/global/use_menu_accelerators" "false" # Gnome-Terminal
# И последний штрих для Ubuntu 12.04-LTS
[ ! -d ~/.config/gtk-3.0/ ] && mkdir -p ~/.config/gtk-3.0/
cat >~/.config/gtk-3.0/gtk.css <<_EOF
@binding-set NoKeyboardNavigation {
unbind "F10"
}
* {
gtk-key-bindings: NoKeyboardNavigation
}
_EOF
После чего придется закрыть все открытые окна терминала, чтобы изменения вступили в силу.
среда, 30 мая 2012 г.
Ubuntu 11.04, 11.10, 12.04, Midnight Commander, mc и Unity 3D исправляем проблему с F10 в терминале
Вот такой нехитрый скрипт установит и избавит от проблем с F10 при работе в терминале с mc в Ubuntu 11.04, 11.10 и 12.04.
среда, 2 мая 2012 г.
Проблема с grub и русской локализацией в Ubuntu
В некоторых версиях Ubuntu почему-то отсутствует файл локализации ru.mo в Grub:
ВНИМАНИЕ, перед дальнейшими действиями сделайте резервные копии всех модифицированных вами файлов от Grub'а, например /etc/default/grub или /etc/grub.d/00_header, если вы счастливый обладатель нетбука с чипсетом i915 Ubuntu 11.10 на EeePC разрешение экрана 1024x600 в меню GRUB2. Чтобы меню граба снова стало на русском, нужно сперва удалить пакет grub-pc:
Теперь проверяем появился ли ru.mo:
P.S. думаю и обычное копирование этого файла с "рабочей" системы так же исправит ситуацию, но я такой метод не проверял.
Ubuntu$ ls /boot/grub/locale/ en_AU.mo en_CA.mo en_GB.moВ результате мы видим меню граба на английском языке, хотя при этом язык установлен правильно:
Ubuntu$ cat /boot/grub/grub.cfg | grep lang set lang=ru_RU
ВНИМАНИЕ, перед дальнейшими действиями сделайте резервные копии всех модифицированных вами файлов от Grub'а, например /etc/default/grub или /etc/grub.d/00_header, если вы счастливый обладатель нетбука с чипсетом i915 Ubuntu 11.10 на EeePC разрешение экрана 1024x600 в меню GRUB2. Чтобы меню граба снова стало на русском, нужно сперва удалить пакет grub-pc:
Ubuntu$ sudo apt-get purge grub-pcЗатем снова установить:
Ubuntu$ sudo apt-get install grub-pc
Теперь проверяем появился ли ru.mo:
Ubuntu$ ls /boot/grub/locale/ en_AU.mo en_CA.mo en_GB.mo ru.moТеперь можно перезагрузиться и проверить, что все нормально.
P.S. думаю и обычное копирование этого файла с "рабочей" системы так же исправит ситуацию, но я такой метод не проверял.
среда, 4 апреля 2012 г.
FreeBSD 9.0 GPT + gmirror
Столкнулся с проблемой реализации подобной связки GPT и gmirror на FreeBSD 9.0.
Методом проб и ошибок получилась вот такая пошаговая инструкция:
0. Загружаемся с диска FreeBSD 9.0 amd64 в режиме LiveCD, система спросит логин, вводим root, а вместо пароля просто жмем Enter.
1. Удаляем все GPT данные с дисков:
3.1 Загрузочный раздел
6.1 Монтируем созданную файловую систему в /mnt
Ссылки по теме:
0. Загружаемся с диска FreeBSD 9.0 amd64 в режиме LiveCD, система спросит логин, вводим root, а вместо пароля просто жмем Enter.
1. Удаляем все GPT данные с дисков:
FreeBSD# gpart destroy -F ada0 FreeBSD# gpart destroy -F ada12. Создаем GPT на 1 диске:
FreeBSD# gpart create -s gpt ada03. Создаем GPT разметку на 1 диске:
3.1 Загрузочный раздел
FreeBSD# gpart add -b 34 -s 94 -t freebsd-boot ada03.2 Раздел подкачки
FreeBSD# gpart add -s 5G -t freebsd-swap ada03.3 Файловую систему UFS
FreeBSD# gpart add -t freebsd-ufs ada03.4 Проверяем все ли так, как мы задумали
FreeBSD# gpart show
=> 34 2930277101 ada0 GPT (1.4T)
34 94 1 freebsd-boot (47k)
128 2097152 2 freebsd-swap (1.0G)
2097280 2928179855 3 freebsd-ufs (1.4T)
3.5 Записываем загрузчик
FreeBSD# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada03.6 Копируем разметку GTP с 1 диска на 2 диск
FreeBSD# gpart backup ada0 | gpart restore -F ada13.7. Проверяем что теперь получилось:
FreeBSD# gpart show
=> 34 2930277101 ada0 GPT (1.4T)
34 94 1 freebsd-boot (47k)
128 2097152 2 freebsd-swap (1.0G)
2097280 2928179855 3 freebsd-ufs (1.4T)
=> 34 2930277101 ada1 GPT (1.4T)
34 94 1 freebsd-boot (47k)
128 2097152 2 freebsd-swap (1.0G)
2097280 2928179855 3 freebsd-ufs (1.4T)
4. загружаем gmirror:
FreeBSD# gmirror load4.1 Создаем RAID1 для SWAP раздела
FreeBSD# gmirror label -v -b round-robin swap /dev/ada0p24.2 Добавляем 2-ой диск в зеркало:
FreeBSD# gmirror insert swap /dev/ada1p24.3 Создаем RAID1 для UFS раздела:
FreeBSD# gmirror label -v -b round-robin rootfs ada0p34.4 Добавляем 2-ой диск в зеркало:
FreeBSD# gmirror insert rootfs /dev/ada1p34.5 Удалить случайно созданные RAID1 разделы(если вдруг чего-то напутали выше)
FreeBSD# gmirror remove swap ada0p2 ada1p25. Создаем файловые системы на RAID1 разделах
FreeBSD# newfs -m 1 -U /dev/mirror/rootfs6. УСТАНОВКА FreeBSD:
6.1 Монтируем созданную файловую систему в /mnt
FreeBSD# mount /dev/mirror/rootfs /mnt6.2 Устанавливаем FreeBSD 9.0
FreeBSD# cd /usr/freebsd-dist
FreeBSD# sh
FreeBSD# export DESTDIR=/mnt
FreeBSD# for file in base.txz kernel.txz lib32.txz;
>do (cat $file | tar --unlink -xpJf - -C ${DESTDIR:-/}); done
6.3 Создаем /etc/fstab для установленной системы:
FreeBSD# cat >/mnt/etc/fstab << __EOF__ > #dev #mount #fs #opts #dump #pass > /dev/mirror/rootfs / ufs rw 1 1 > /dev/mirror/swap none swap sw 0 0 > __EOF__6.4 Создаем /boot/loader.conf
FreeBSD# cat > /mnt/boot/loader.conf << __EOF__ > geom_mirror_load="YES" > __EOF__7. Отмонтируем зеркало
FreeBSD# umount /mnt10. все готово, теперь можно перезагружаться и смотреть на результат
Ссылки по теме:
воскресенье, 26 февраля 2012 г.
Аналоги на sed для dos2unix и unix2dos
Команда dos2unix служит для преобразования форматов текстовых файлов MSDOS к UNIX формату, а команда unix2dos служит для преобразования форматов текстовых файлов UNIX к формату MSDOS и Windows. Известно, что форматы текстовых файлов в DOS и в UNIX немного отличаются: в DOS все строки заканчиваются парой символов CR и LF (возврат каретки /r и перевод строки /n), а UNIX использует только символ LF перевод строки /n, справедливо полагая, что второй символ совершенно излишен. Чтобы не устанавливать эти консольные утилиты dos2unix и unix2dos можно воспользоваться вот такими несложными функциями написанными с использованием sed в sh:
#!/bin/sh
dos2unix() {
sed -i '' -e 's/'"$(printf '\015')"'$//' "$1"
}
unix2dos() {
sed -i '' -e 's|$|'"$(printf '\015')"'|' "$1"
}
# Сделать окончания строк LF (Unix)
dos2unix file.test
# Сделать окончания строк CR/LF (Win or Dos)
unix2dos file.test
Запустить аналог на sed для dos2unix прямо в консоли можно командой:
FreeBSD$ sed -i '' -e 's/'"`printf '\015'`"'$//' file.nameА аналог на sed для unix2dos прямо в консоли выглядит так:
FreeBSD$ sed -i '' -e 's|$|'"`printf '\015'`"'|' file.nameОбработать рекурсивно все php файлы в текущем каталоге:
FreeBSD$ find . -name "*.php" -type f -exec sed -i '' -e 's/'"`printf '\015'`"'$//' {} \;
Причины НЕ устанавливать данные консольные утилиты могут быть разными, например невозможность их установить (случай с VPS или web хостингом), спортивный интерес ну или просто лень :)