Posts filed under ‘Linux’

vim: больше вкладок

В vim по умолчанию стоит ограничение на количество вкладок, которые одновременно открываются с ключом -p. То есть, когда вы набираете

vim -p file1 file2 file3 file4 file5 … file20

— откроются только первые 10.

Чтобы вылечить это дело, надо отредактировать файл ~/.vimrc и добавить туда строку set tabpagemax=50

Март 12, 2013 at 15:53 Оставьте комментарий

bash: секретцы.

1. Значения для пустых переменных. То есть если переменная уже имеет непустое значение, то будет использовано оно, а если нет — то подставлено значение по умолчанию (перед этим значением — знак «-«: это может быть просто строка, переменная, вызов команды в обратных апострофах).
Например:

kakabba@kakabba:~$ echo "os is ${OSTYPE:-unknown}."
os is linux-gnu.
kakabba@kakabba:~$ echo "os is ${OSTYPE1:-unknown}."
os is a unknown.

OSTYPE — существующая в контексте переменная, а OSTYPE1 — нет.
Еще пример:

#!/bin/bash
gcc_version=${gcc_version:-`gcc -dumpversion`}
other_gcc_version=${other_gcc_version:---version=$gcc_version}
echo $other_gcc_version #--version=4.6

2. В bash можно сделать нечто, похожее на тернарный оператор в плюсах:

[[ $_var1 == $_var2 ]] && _var1="/usr/lib" || _var1="$_var2"

То есть если $_var1 == $_var2, то в _var1 поместить строку «/usr/lib», иначе записать значение _var2.

Декабрь 18, 2012 at 21:03 Оставьте комментарий

CentOS 6: перевод времени

Наверно это актуальная статья)
CentOS как-то скорее мертв, чем жив, но тем не менее в 2011 году релизы были. А время в этой стране решили больше не переводить тоже в 2011. Видимо, эти два события как-то не очень пересеклись и время для Москвы продолжает переводиться.
Чтобы это дело исправить можно взять актуальный пакет tzdata от других дистрибутивов. Я взяла от Ubuntu 12.10(чтоб уж наверняка). Надо найти в нем файл Moscow и скопировать в /usr/share/zoneinfo/Europe CentOS.
Только сначала выставить те же права и владельца, что и у старого.
Как только скопируете — сразу время встанет правильно.
Чтобы проверить, что больше не будет переводов времени:

[jimmi@srvrm ~]$ zdump -v /etc/localtime  | grep 2013
[jimmi@srvrm ~]$ zdump -v /etc/localtime  | grep 2011
/etc/localtime  Sat Mar 26 22:59:59 2011 UTC = Sun Mar 27 01:59:59 2011 MSK isdst=0 gmtoff=10800
/etc/localtime  Sat Mar 26 23:00:00 2011 UTC = Sun Mar 27 03:00:00 2011 MSK isdst=0 gmtoff=14400

То есть в 2013 переводов не будет. А в 2011 был один — в марте.

Октябрь 30, 2012 at 13:16 Оставьте комментарий

DNS-323: e2fsck

Допустим, хранилище выключилось в момент записи файла на диск. В этом случае получится неудаляемый inode. При его удалении будет ошибка: Input/output error rm.
В этом случае стоит прокрутить на устройстве e2fsck. Но устройство должно быть umount.
Беда с этим хранилищем в том, что telnet (из-за funplug) находится как правило на самом же устройстве, которое надо проверить. Просто umount сделать не получится. lsof показывает, что сам lsof, telnet и прочее находятся на /dev/md0 и device is busy. Мой опыт показал, что можно сделать lazy umount: e2fsck запустится, а telnet не отвалится. На все вопросы стоит соглашаться.

/ # df
Filesystem           1k-blocks      Used Available Use% Mounted on
rootfs                    9911      7569      1830  81% /
/dev/root                 9911      7569      1830  81% /
/dev/md0             958846504 143438640 815407864  15% /mnt/HD_a2
/dev/md1               3114924        28   3114896   0% /mnt/HD_b2
/dev/sda4               497861       184    497677   0% /mnt/HD_a4
/dev/sdb4               497861        11    497850   0% /mnt/HD_b4
/ # umount -l /dev/md0
/ # e2fsck /dev/md0

Сентябрь 28, 2012 at 16:34 1 комментарий

mc: автодополнение

ЕЕЕ! в mc все-таки есть автодополнение. Только не по tab, а по M-tab. M — [META], она эмулируется на привычных клавиатурах клавишей Windows | Alt | Esc. Но Alt+Tab или Windows+Tab уже назначены на переключение окон. А вот Esc+Tab работают как надо.
И еще вот тоже все время забываю:
Alt-Enter вставляет в командную строку имя файла, который в данный момент выбран в MC.
Ctrl-o возвращает в командную оболочку, не закрывая mc.

Август 24, 2012 at 17:17 Оставьте комментарий

centos 6.2:EFI shell

Я немало помучилась, прежде чем нашлось какое-то крохотное сообщение на багтрекере Centos.
Для интриги сначала описываю ситуацию. Исходные данные: материнская плата Intel ServerBoard S5500BC. Я конфигурирую RAID I с помощью встроенной Raid Embedded Utility. Затем хочу установить на все это дело Centos 6.2 64bit. Сначала записываю образ на флэшку, возникает белая надпись boot.. и все отваливается. Вроде бы Centos вообще не очень дружит с флэшками. Поэтому я не ленюсь и записываю диск. Вставляю его..и получаю сообщение

EFI Shell version 2.00[4.640]
Current running mode 1.1.2
map: cannot find required map name.

И все. При перезагрузке в BIOS я уже не попадаю при всем желании. Порядок такой: первые сообщения POST, затем RAID Utility, данные о железе и дальше что бы я не давила (F6, F2, комаров, прыщи и т.п.) я попадаю в EFI.
А теперь сюрприз-сюрприз! Centos 6.2 НЕ работает на материнках с EFI!
Вытаскиваем винчи, грузимся, попадаем естественно в BIOS. Ставим EFI в Boot Options в самый низ или вообще выключаем. А затем скачиваем себе Centos 6.1…

Август 1, 2012 at 16:38 1 комментарий

История о том, как я измеряла скорость ЛВС

Первый вывод, который я сделала — объективно оценить свою локалку почти невозможно. Потому что нет такого показателя. Можно помониторить траффик tcpdump, Wireshark, Ethereal etc на предмет мусора, бродкаста, лишних запросов NetBIOS и тп. Но и то, показательно это только внутри крошечного кусочка, ограниченного свичом. Вряд ли у кого-то еще сеть построена на хабах. Потому что оценивать-то всегда приходится не сеть, а траффик между парами хостов.
В конечном итоге все свелось к оценке того, как быстро можно передать кучу мусора от одного хоста к другому. (далее…)

Апрель 11, 2012 at 16:28 2 комментария

Предыдущие записи