Начало > Операционные системы > Семейство UNIX > |
Советы по оптимизации Linux (2/2) |
Секция 2 из 2 - Предыдущая - Следующая
From : Igor Hrapovskii 2:5062/1.20 06 Aug 99 21:06:34 Subj : Tune Up. tcsh ________________________________________________________________________________ Привет All... 1999.07.22 - Вы и не думали выходить из шелла? Если в tcsh выполняетья авто-выход из шелла, когда вы этого не желаете (зачитались например), попробуйте добавить 'set AUTOLOGOUT=0' в свой .cshrc. Это отключит опцию авто-выхода. Вы можете заменить 0 на любое число минут, для увеличения времени ожидания шелла. ------------------------------------------------------------------------ Автор: Larry Reckner [[email protected]] 1999.07.22 - Перечитать .cshrc. Если вы внесли некоторые изменения в свой .cshrc и желаете что бы эти изменения принесли результат прямо сайчас, без перезапуска шелла, используйте: 'source .cshrc'. Шелл перечитает ваш файл и воспримет ваши изменения. ------------------------------------------------------------------------ Автор: Larry Reckner [[email protected]] 1999.07.22 - Опять это длинное имя. Если вы не можете вспомнить имя файла или просто есть желание посмотреть на файлы находящиеся в каталогах описанных в переменной "path" в tcsh, наберите несколько символов и нажмите 'Ctrl+D' и ваш шелл выведет вам все имена файлов начинающиеся с этих символов. ------------------------------------------------------------------------ Автор: Larry Reckner [[email protected]] 1999.07.22 - Ограничить размер образа ядра(coredumps). Если вам надо ограничить максимальный размер образа ядра в tcsh используйте коммаду 'limit'. Набранная сама по себе она покажет текущее значение для данного шелла. Для отключения сохранения образа ядра при сбоях используйте: 'limit coredumpsize 0' ------------------------------------------------------------------------ Автор: Larry Reckner [[email protected]] ============================================================================ Перевод: Игорь Храповский. Igor Hrapovskii E-mail: [email protected] Приветствуються любые комментарии по поводу статьи, возможны неточности. Вы можете использовать статью в любых НЕ коммерческих целях. Приветсвуется размещение на сайтах и FAQ посвещенных Линуксу с указанием Имени переводчика. ... с уважением, Игорь. --- 3.00.Beta3+ * Origin: "Старый , опытный камикадзе." (2:5062/1.20) _ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _ From : Igor Hrapovskii 2:5062/1.20 06 Aug 99 21:13:12 Subj : Tune Up. terminals ________________________________________________________________________________ Привет All... 1999.07.22 - Прокрутка текста в Xterm Для изменения количества строк, которые вы можете просматривать в xterm, отредактируйте ваш ~/.Xdefaults и поместите туда следующее: xterm*saveLines: 1000 ------------------------------------------------------------------------ Автор: Larry Reckner [[email protected]] 1999.07.14 - Вы знали? Вы можете изменить шрифт, отключить звуковой сигнал в терминале и еще многие вещи используя Xterm меню, просто удерживая CTRL нажмите левую клавишу на мышке. Существует три меню - каждое для определенной клавиши на мышке. 1999.07.14 - Переключение шрифта на лету. В терминале вы можете изменить размер шрифта на лету - удерживая 'Shift' и нажимая '+' клавишу (в основном используют кейпад). Аналогично 'Shift'+ '-'. 1999.07.21 - О Xterm. У меня обычно на десктопе имееться несколько открытх окон с Xterm. Если вы используете tcsh как шелл, вы можете обновлять заголовок окна(titlebar) разной полезной информацией, так же как вы обновляете иконки при входе на другую машину. Xterm управляющая последовательнось начинаеться с символа escape, скобок и цифры. Заканчивается последовательность символом control-G. Вот пример для отображения "Hello World!" в вашем заголовке окна: echo ^[]2;Hello World!^G Более сложный пример: echo -n "^[]2;`date +%r` `uname -n`:${cwd} ${tty}/`uname -m`^G";echo -n "^[]1;${HOST}^G" Для моего аккаунта (jdmsys), вышеприведенный пример поместит "10:29:46 AM reactor:/home/jdmsys ttyp0/i686" в заголовок окна. Для обновления иконки с текущим именем системы(hostname): echo -n "^[]1;This is an icon^G" В вышеприведенном примере нет ни чего специфичного для tcsh. Используя "precmd" алиас в tcsh ваш шелл может обновлять заголовок окна каждый раз когда вы нажимаете "enter". Вот содержание .tcshrc которое обновляет заголовок окна(titlebar) и иконку для Xterm: alias precmd 'echo -n "^[]2;`date +%r` `uname -n`:${cwd} ${tty}/`uname -m`^G";echo -n "^[]1;${HOST}^G"' Другой полезный алиас(alias) "cwdcmd" который запускаеться каждый раз как только вы переходите в другую дирректорию. Если вы не поместили часы или другую часто обновляемую информацию в ваш заголовок окна, cwdcmd алиас может быть полезен для вас. Запомните что ^[ это фактически control-v/control-левая-скобка комбинация, и ^G это control-g. ------------------------------------------------------------------------ Автор: Jeffrey Mahoney [[email protected]] Дополнительную информацию о ESC-последовательностях вы можете найти в man console_codes 1999.07.28 - Mutt и Eterm. Если вы используете mutt и Eterm, вы можете загрузить Mutt Eterm меню, которое содержит меню для Eterm с некоторыми опциями mutt. Найти можно здесь:http://jblosser.firinn.org/pub/config/mutt/mutt.menu Для использования выполните: Eterm -M /path/to/mutt.menu. ------------------------------------------------------------------------ Автор: Marius Aamodt Eriksen [[email protected]] ============================================================================== Перевод: Игорь Храповский. Igor Hrapovskii E-mail: [email protected] Приветствуются любые комментарии по поводу статьи, возможны неточности. Вы можете использовать статью в любых НЕ коммерческих целях. Приветсвуеться размещение на сайтах и FAQ посвещенных Линуксу с указанием Имени переводчика. ... с уважением, Игорь. --- 3.00.Beta3+ * Origin: "Старый , опытный камикадзе." (2:5062/1.20) _ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _ From : Igor Hrapovskii 2:5062/1.20 07 Aug 99 04:54:02 Subj : Tune Up. Netscape ________________________________________________________________________________ Привет All... 1999.07.14 - Вы знали? Мало известен факт того, что все текущие версии поддерживают что-то называемое altmail. Что это altmail? Это враппер(wrapper) который позволяет netscape запустить практически любую программу для чтения почты и новостей. Netscape-altmail вам потребуеться, он поставляеться с некоторыми примерами которые построены как *.so динамические библиотеки. Его можно найти здесь: ftp://ftp.ncu.edu.tw/OS/Linux/CLE/collect/network/netscape-altmail-0.1.tar.gz Пример использования pine для чтения почты: Я скомпилировал altmail_pine.so и поместил его в свою дирректорию /opt/netscape потом добавил следующее в свой ~/.netscape/preferences.js файл: user_pref("mail.use_altmail", true); user_pref("mail.altmail_dll","/opt/netscape/altmail_pine.so"); Теперь когда я кликаю на иконку почты в status bar или перехожу в mailto:// ссылку - запускаеться rxvt с уже загруженным pine и настроенным на соответствующую задачу. 1999.07.14 - Вы знали? Когда netscape зависает вы можете попробовать убить его с помощью "kill -12" для сохранения ваших данных вместо обычного -9 который это пропускает. 1999.07.22 -Послать через коммандную строку URL's для netscape. Ниже приведен скрипт который посылает через коммандную строку URL уже запущенному netscape: #!/bin/sh if killall -0 netscape 2> /dev/null; then netscape -remote "openURL($1)" else netscape $1 & fi ------------------------------------------------------------------------ Автор: Larry Reckner [[email protected]] 1999.07.25 - Красавец netscape. Вы можете изменить текущие установки для Netscape подредактировав .Xdefaults файл. Сделав всего лишь несколько простых изменений вы можете поменять цвет заголовка окна(titlebar), цвет текста, кнопки, окна ввода и т.д. Например, мне больше нравиться серый Netscape. Вот как выглядит мой .Xdefaults : # Netscape*backgroundPixmap: \ Netscape*background: #848692 Netscape*Text.backgroundPixmap: XmUNSPECIFIED_PIXMAPMP Netscape*Text.background: #848692 Netscape*XmText.background: #848692 Netscape*XmText.backgroundPixmap: XmUNSPECIFIED_PIXMAP Netscape*XmTextField.background: #848692 Netscape*XmTextField.backgroundPixmap: XmUNSPECIFIED_PIXMAP Netscape*XmScrolledWindow*background: #848692 Netscape*XmScrolledWindow*backgroundPixmap: XmUNSPECIFIED_PIXMAP Netscape*urlBar*Text.background: #505276 Netscape*urlBar*Text.foreground: #9ea6ff Netscape*urlBar*Text.backgroundPixmap: XmUNSPECIFIED_PIXMAP Netscape*urlBar*List.background: #505276 Netscape*urlBar*List.foreground: #93a6ff Netscape*urlBar*List.backgroundPixmap: XmUNSPECIFIED_PIXMAP # Netscape*toolBarFrame*backgroundPixmap: \ # Netscape*toolBarFrame.?.?.backgroundPixmap: \ Для того чтобы перечитать ваш .Xdefaults файл используйте комманду: 'xrdb -load .Xdefaults' ------------------------------------------------------------------------ Автор: Larry Reckner [[email protected]] ========================================================================= Перевод: Игорь Храповский. Igor Hrapovskii E-mail: [email protected] Приветствуются любые комментарии по поводу статьи, возможны неточности. Вы можете использовать статью в любых НЕ коммерческих целей. Приветсвуется размещение на сайтах и FAQ посвещенных Линуксу с указанием Имени переводчика. ... с уважением, Игорь. --- 3.00.Beta3+ * Origin: "Старый , опытный камикадзе." (2:5062/1.20) _ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _ From : Igor Hrapovskii 2:5062/1.20 10 Aug 99 22:43:18 Subj : Может кому надо. SysQR ________________________________________________________________________________ Привет All... МАГИЧЕСКИЕ SYSRQ КЛАВИШИ. Документация v1.2 ------------------------------------ [Sat May 16 01:09:21 EDT 1998] * Что это такое 'магические' SysRQ клавиши? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Это комбинации клавиш, которые вы можете использовать для посылки определенных комманд ядру, в случае если вы не можете вернуть систему к 'работоспособному' состоянию (нет доступа к терминалу, клавиатура не реагирует и тд.) стандартными методами или в крайнем случае перезагрузить машину без потери данных. * Что надо сделать что бы я мог использовать 'магические' SysRQ клавиши? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Вам надо ответить 'yes' на 'Magic SysRq key (CONFIG_MAGIC_SYSRQ)' при конфигурировании ядра. Эта опция доступна только начиная с версии 2.1.x ядра и более поздних. * Как я могу использовать 'магические' SysRQ клавиши? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ На x86 - Используйте комбинацию клавиш 'ALT-SysRQ-< X >'. 'SysRQ' так же известна как 'Print Screen' клавиша. На SPARC - Используйте 'ALT-STOP-< X >', кажеться так. На других - Если вы знаете комбинации клавиш на других платформах, пожалуйста дайте мне знать, я добавлю их в эту секцию. * Что это за 'X' клавиши? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 'r' - Выключает режим скан кода(raw mode) для клавиатуры и устанавливает режим ASCI II (XLATE). 'k' - Завершает все программы на текущей виртуальной консоли. 'b' - Немедленно перезагрузит систему без сброса буферов на диск и отключения(unmount) дисков. 'o' - Выключит вашу систему через APM (если сконфигурирован и поддерживаеться) (APM-Advanced Power Manager. Улучшенный менеджер управления электропитанием) 's' - Сброс буферов(sync) для всех подключенный файловых систем. 'u' - Перемонтирует все подключенные файловые системы в режим 'только для чтения'. 'p' - Покажет текущее значение регистров и флагов микропроцессора(на консоль). 't' - Выведет на консоль информацию об текущих запущенных процессах. 'm' - Выведет на консоль информацию об использовании памяти(ОЗУ). '0'-'9' - Устанавливает уровень вывода на консоль log-сообщений. 'e' - Посылает сигнал предупреждения (SIGTERM) всем процессам, обходя init. 'i' - Посылает сигнал завершения (SIGKILL) всем процессам, обходя init. 'l' - Посылает SIGKILL всем процессам, ВКЛЮЧАЯ init. (Ваша система после этого не будет работоспособной.) * Хорошо, для чего я могу это все использовать? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Итак, SysQR+'R' очень удобна если ваш X сервер или svgalib программа подвисла. SysQR+'K' ('K'ill) полезна когда вы хотите выйти из программы которая не позвляет вам переключить консоль. (На пример, X или svgalib программа.) SysQR+'B' (re'B'oot) пригодится в случае если вы не можете завершить работу с системой обычным путем. Но незабудте нажать SysQR+'S' , SysQR+'U' SysQR+'S' ('S'ync) Полезна когда система не отвечает вам и перезагрузка не избежна. Вы сможете сберечь свои данные и избежать проверок диска. Помните , пока не появилась надпись "OK" или "Done" значит команда еще не закончила свою работу. (В некоторых случаях вы не сможете увидеть надпись, но система сделает свое дело. Совсем плохой случай-когда ядро зависло. Здесь вам ни что кроме перезагрузки уже не поможет). SysQR+'U' ('U'mount) В основном полезна в ситуациях описанных для SysQR+'S'. Я обычно делаю так: 'S'ync, 'U'mount, потом re'B'oot . Это помогает избежать множества проверок диска. Опять же, отключение (перемонтирование в режим 'только для чтения') продолжаеться до тех пор пока не появиться надпись "OK" или "Done". loglevel'0'-'9' Полезен когда выша консоль заполнена сообщаниями ядра, которые вы не желаете видеть. Установка в '0' потребует вывод на консоль только самых необходимых сообщений. (Сообщения все равно будут сохраняться , если ,конечно, syslogd/klogd еще живы.) SysQR+'E' (t'E'rm) и SysQR+'I' (k'I'll) Полезны когда вы встречаетесь с неуправляемым процессом. Вы не можете его уничтожить и он порождает другие процессы. * Я нажимаю SysRQ, но кажеться ни чего не происходит, что-то не так? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Существуют некоторые типы клавиатур, которые не поддерживают 'SysRQ'. Вы можете попробовать запустить 'showkey -s' и нажать SysRQ или alt-SysRQ для просмотра генерируемого кода клавиши. ( по умолчанию 0x54). Если код другой, вы сами можете определисть код клавиши SysRQ. Определитись с комбинацией клавиш и с помощью программы 'showkey' запомните ее код. В файле /usr/src/linux/]include/asm/keyboard.h найдите следующию строку :'#define SYSRQ_KEY 0x54' и замените код на код той комбинации клавиш, которую вы хотите использовать. Перекомпилируйте ядро. * У меня осталось еще много вопросов, у кого я могу спросить? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Вы можете писать мне письма на [email protected]. Я отвечу как только смогу. Если этот адресс не работает, попробуйте вот этот : [email protected]. -Myrdraal ============================================================================== Перевод: Игорь Храповский. Igor Hrapovskii E-mail: [email protected] Приветствуються любые комментарии по поводу статьи, возможны неточности. Вы можете использовать статью в любых Не коммерческих целей. Приветсвуеться размещение на сайтах и FAQ посвещенных Линуксу с указанием Имени переводчика. ... с уважением, Игорь. --- 3.00.Beta3+ * Origin: "Старый , опытный камикадзе." (2:5062/1.20) _ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _ From : Igor Hrapovskii 2:5062/1.20 13 Aug 99 09:27:08 Subj : Поддержка ядром интерпритаторов и эмуляторов на прямую. JAVA ________________________________________________________________________________ Привет All... Поддержка для ядра различных исполняемых типов файлов (ваших любимых)v1.1 ===================================================================== Эта возможность ядра позволяет вам вызывать большенство программ (ограничение смотрите ниже) просто набрав имя программы в шелле, такие как Java,Pyton,Emack, различные эмуляторы и любые программы если у вас для них есть эмулятор или интерпритатор. Эта возможность позволит binfmt_misc запускать программу с тем интерпритатором, который вы укажите в конфигурации. (незабудте разрешить эту возможность при конфигурации ядра). binfmt_misc распознает исполняемый файл по совпадению различных байтов в начале файла или по расширению файла ('.com' или '.exe'). Параметры настроек для определенного типа файла в общем выглядят так: :name:type:offset:magic:mask:interpreter: Завершающее действие: echo :name:type:offset:magic:mask:interpreter: >> /proc/sys/fs/binfmt_misc/register Описание для каждого поля: - 'name' это индентификационная строчка. Новый файл будет создан с этим именем в /proc/sys/fs/binfmt_misc дирректории. - 'type' это тип распознавания. Поставте 'M' для комбинации байтов и 'E' для расшиения файла. - 'offset' это смещение относительно начала файла для комбинации байтов. Если не указали значение - то это поле принимаеться равным 0. (пример: ':name:type::magic...') - 'magic' это комбинация байтов которую будет искать ядро в файле. Она может содержать шеснадцетиричные коды , такие как \x0a или \xA4 или любой другой код. В шелле вы должны использовать '\\' так как одна '\' будет 'съедена' шеллом. Если вы используете расширения файла для его распознования, не используйте '.' перед именем расширения. Т.е. не '.java' а 'java' (специальный код \x0a не доступен). Расширение файла зависит от уровня регистра символов. - 'mask' маска для байтов(по умолчанию 0xff,для всей последовательносьти). Вы можете маскировать различные биты от сравнения с помощью строки подобной 'magic' и такой же длины. С 'mask'и последовательностью байтов производиться логическая операция И (and). - 'interpreter' Это программа кторорая будет запускаться с именем выбранного файла переданного ей в качестве параметра.(укажите полный путь) Некоторые ограничения : - Полная строка не должна превышать длину в 255 символов. - 'магическая' последовательность должна находиться в первых 128 байтах файла. Т.е. offset+длина(magic) должно быть меньше 128. - Строка для интрпретатора не должна превышать 127 символов. Не забудте добавить команды настройки для binfmt_misc в свой загрузочный скрипт. Читайте документацию по вашей 'init' программе для правильной настройки. Просто вставте туда: "echo ':DEXE:M::\x0eDEX::/usr/bin/dosexec:' > /proc/sys/fs/binfmt_misc/regiser" Подумайте о порядке добавления записей. Записи добавленные последними будут сравниваться первыми. Несколько примеров (подразумеваеться что вы находитесь в /proc/sys/fs/binfmt_misc дирректории): - разрешить поддержку для em86 (подобно binfmt_em86, для Alpha AXP только): echo ':i386:M::\x7fELF\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03:\ xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfb\xff\xff:/bi n/em86:' > register echo ':i486:M::\x7fELF\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06:\ xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfb\xff\xff:/bi n/em86:' > register - разрешить использовать поддержку для DOS приложений ( настроен dosemu hdimage) echo ':DEXE:M::\x0eDEX::/usr/bin/dosexec:' > register - разрешить поддержку для выполняемых файлов Windows используя wine: echo ':DOSWin:M::MZ::/usr/local/bin/wine:' > register Для поддержки java читайте Documentation/java.txt. Просмотр файла в binfmt_misc/ дирректории даст вам информацию о текущих настройках для данного поименованного файла. Вы можете разрешить/запретить использование binfmt_misc или одного из типов выполняемых файлов определенных вами : 'echo 0 > /proc/sys/fs/binfmt_misc/status' или 'echo 0 > /proc/.../the_name'. (0 - запретить,1 - разрешить) 'cat /proc/.../the_name' даст вам информацию о текущем статусе/настройках определенной записи. Вы можете удалить одну запись или несколько следующим способом: 'echo -1 > /proc/.../the_name' или 'echo -1 > /proc/sys/fs/binfmt_misc/status'. Примечание: ====== Если вы хотите использовать специальные аргументы в выбранном интерпритаторе вы должны написать промежуточный скрипт, который будет вызывать интерпритатор. Для примера смотрите /usr/src/linux/Documentation/java.txt Указывайте полный путь для интерпритатора. Не желательно что бы поиск происходил с помощью переменной PATH. Могут возникнуть проблемы с защитой и непредвиденное поведение программ. Вот web страницы о binfmt_misc: http://www.anatom.uni-tuebingen.de/~richi/linux/binfmt_misc.html Richard GЭnther, [email protected] ============================================================================== Перевод: Игорь Храповский. Igor Hrapovskii E-mail: [email protected] Приветствуються любые комментарии по поводу статьи, возможны неточности. Вы можете использовать статью в любых Не коммерческих целей. Приветсвуеться размещение на сайтах и FAQ посвещенных Линуксу с указанием Имени переводчика. ... с уважением, Игорь. --- 3.00.Beta3+ * Origin: "Старый , опытный камикадзе." (2:5062/1.20)
Секция 2 из 2 - Предыдущая - Следующая