Показаны сообщения с ярлыком linux. Показать все сообщения
Показаны сообщения с ярлыком linux. Показать все сообщения

среда, 23 сентября 2009 г.

666 и туалетное чтиво

Недавно решил сменить репертуар туалетного чтива с Маяковского на что-нибудь более практичное. И вот получил первый положительный результат. Читая давно пылившуюся в шкафу книгу "Операционная система Unix", открыл для себя тайный смысл магической команды:
В юниксе права доступа (чтение - r, запись - w, выполнение - e) могут устанавливаться владельцу (u), группе (g) и остальным (o). Например, для того, что бы установить всем классам доступа право на чтение и запись нужно выполнить следующее:
Если в последовательности rwe заменить каждый элемент на 1 в случае наличия и 0 в случае отсутсвия права, а затем полученное число перевести в десятичную систему счисления (rwe => 111 => 7), параметры предыдущей команды можно будет записать более компактно - 666.

Read More...

среда, 25 февраля 2009 г.

Hello Ubuntu

Поставил себе на ноут вторую ось - Ubuntu 8.10. Для меня это первый linux, который сразу заработал, без проблем с видео, звуком и т.д. Неработающий wi-fi не считается - все решилось за считанные минуты. Сложнее было найти как у висты отобрать кусок диска - менеджер дисков не позволял за один раз ужать до нужного мне размера.

Наконец-то у меня появился vim :)

Read More...

воскресенье, 24 февраля 2008 г.

Some shell tricks

The Definitive Guide to Bash Command Line History
Can you get cp to give a progress bar like wget?

Read More...

среда, 16 января 2008 г.

YaST и внешние репозитории

Долгое время мучался с YaST'ом в openSUSE 10.2 - он на отрез отказывался поключать внешние репозитории. Как бывает довольно часто, причина проблемы оказалась проста - по умолчанию при соединении с прокси-сервером использовался порт 1080 вместо 3128. Все прекрасно заработало после добавления в YaST->Network Services->Proxy такой строки: http://proxy.server.com:3128.

Read More...

вторник, 15 января 2008 г.

От имени root без пароля

Пришло время разобраться с sudo. Мне стало лень вводить рутовый пароль каждый раз, когда нужно запустить что-нибудь от его имени (например, sudo make install). Конфиги для sudo лежат в файле /etc/sudoers. Открыть для редактирования его можно двумя способами:

Второй метод удобнее тем, что не нужно знать где лежит сам конфиг. В файле раскоментируем строку:

После этого нужно добавить себя в wheel

И в завершеении, запрещаем "ненужным" пользователям выполнять sudo, для чего закоментируем следующие строки:

Самое главное - последовательность выполения, если сначала закоментировать строки, указанные в конце, можно получить неприятность, в виде запрещения редактированя sudoers и group для не рута. И при редактировании sudoers лучше не оставлять пробелов в начале строки, чтобы избежать неприятных сообщений в ответ на использование sudo:

Read More...

понедельник, 14 января 2008 г.

Переключение раскладки в Linux

Постепенно осваиваю и настраиваю linux. Наконец-то меня в край достало перключение раскладки комбинацией ctrl+alt. Полазил по настройкам - не нашел простого способа переключения, есть нейкий Keyboard Layout, но он задизейблен. Должна же где-то быть прописанна существующая комбинация. Нашел ее в xorg.conf в секции InputDevice: "grp:alt_shift_toggle". Изменил на "grp:ctrl_shift_toggle" и все стало на свои места. Если нужна более гибкая настройка, то можно почитать статью: Способы переключения раскладок клавиатуры в KDE (3в1).

Read More...

четверг, 10 января 2008 г.

Настройка command prompt

Я нахожу не удобным то, что по в командной строке надо лишний раз писать pwd, что бы понять, где ты находишся. Намного более удобно, когда местонахожение указанно в приглашении (в тоже время, когда путь слишком длинный - это перестает быть удобным). Для настройки вида command prompt существуют shell-переменные PS1, PS2, PS3, PS4.

Самая полезная из них - первая, все остальные расширяют возможности первой. По умолчанию PS1='$(ppwd \l)\u@\h:\w>' (это в моем линаксе; хотя в мануале написанно PS1='\s-\v\$'), расшифровывается примерно так: имя_юзеря@имя_хоста:текущая_директория. Выглядит это так: Oleksandr.Lysenko@olysenko-pc:~ - не очень удобно. В мануале можно посмотреть, какие же еще значениями можно описать PS1:

  • \a an ASCII bell character (07)
  • \d the date in "Weekday Month Date" format (e.g., "Tue May 26")
  • \D{format} the format is passed to strftime(3) and the result is inserted into the prompt string; an empty format results in a locale-specific time representation. The braces are required
  • \e an ASCII escape character (033)
  • \h the hostname up to the first `.'
  • \H the hostname
  • \j the number of jobs currently managed by the shell
  • \l the basename of the shell's terminal device name
  • \n newline
  • \r carriage return
  • \s the name of the shell, the basename of $0 (the portion following the final slash)
  • \t the current time in 24-hour HH:MM:SS format
  • \T the current time in 12-hour HH:MM:SS format
  • \@ the current time in 12-hour am/pm format
  • \A the current time in 24-hour HH:MM format
  • \u the username of the current user
  • \v the version of bash (e.g., 2.00)
  • \V the release of bash, version + patch level (e.g., 2.00.0)
  • \w the current working directory, with $HOME abbreviated with a tilde
  • \W the basename of the current working directory, with $HOME abbreviated with a tilde
  • \! the history number of this command
  • \# the command number of this command
  • \$ if the effective UID is 0, a #, otherwise a $
  • \nnn the character corresponding to the octal number nnn
  • \\ a backslash
  • \[ begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt
  • \] end a sequence of non-printing characters

Можно использовать значения переменных окружения, например PWD. Тогда самы простой и удобный вариант (для меня), будет PS1='[\t] $PWD> '.

В PS1 можно так же изменить заголовок xterm, для этого нужно изменить значение переменной следующим образом: PS1='[\t] $PWD> \e]2;${PWD}\a'.

Read More...

пятница, 28 декабря 2007 г.

SSH Filesystem

sshfs - утилита, которая позволяет примаунтить директорию на сервере. Все, что надо от сервера - это поддерживать SSH File Transfer Protocol. Все, что надо пользеватетю - установить FUSE(фреймворк виртуальных файловых систем) и sshfs. После установки достаточно создать точку монтирования и запустить команду:
Для размонтирования:
Have a lot of fun!

Read More...

Установка/удаление переменных окружения

Установить переменную окружения можно командой export VARNAME=VARVALUE (оболочка bash). Что бы посмотреть, установленна ли она используется команда env (printenv), например так: env | grep VARNAME. Удалить можно либо командой unset VARNAME либо командой export с ключем -n: export -n VARNAME.

Read More...

среда, 26 декабря 2007 г.

Linux vs Windows

Собравшись с духом решил окончательно перейти на Linux на рабочей машине. Экперементировал я с ним уже давно и при помощи виртуальной машины запускал частенько, но время Ч - время координальных перемен :) - наступило только сейчас. Долгое время меня останавливало то, что нужно напрячься и найти замену MS Outlook (именно его, потому что нужен календарь с аппоинтментами), MS Office Communicator, баг-трекеру; настроить работу с двумя мониторами и настроить работу с сетью.

Зачем мне нужен Linux? Windows не вызывает во мне раздражения, работает надежно, есть весь необходимый софт для работы и развлечений, причем не обязательно платный (а для платного есть бесплатные креки), в конце концов я к нему привык. Я даже время от времени спорю с теми, кто громко рассказывает про Маст дай :) На Linux я решил перейти по двум причинам. Первая причина простая - любобытство, интересно как это все работает и почему все это так хвалят. Вторая причина - на работе большая часть работы делается на удаленных unix-машинах, а основными инструментами является vim, gdb, gcc, вот как раз эти инструменты и вляются второй причиной, я "в захватi" от vim и gdb.

Дистрибутив я особо не выбирал - попробовал пару версий Mandrake/Mandriva, Red Hat и openSuse 10.2. Остановился на последнем просто потому, что он был последний и выглядел вполне пристойно. Мне кажется, что мои познания пока не позволят оценить какой дистрибутив лучше, какой хуже.

Инсталяция openSuse не сложнее инсталяции Windows, интерфейс интуитивно понятен. Самое главное было понять, что помимо консоли, все можно менеджить через YaST. Количество доступного при инсталяции софта поражает - меню даже есть отдельная ветка development. Единственное, что сразу не понравилось - оконные шрифты какие-то угловатые - но это дело поправимое.

Сразу же бросился настраивать сеть. В процессе наконец-то узнал, что такое samba и какая от нее польза.

Следующим этапом была настройка работы с двумя мониторами. Пришлось узнать о Xinerama и TwinView, разобраться в xorg.conf и как устанавливаются драйвера. Даже скачав дрова для моей видеокарты (NVIDIA GeForce 7300 GS) пришлось довольно долго помучиться. В Windows подобная операци заняла у меня значительно меньше времени (и не пришлось нечего читать дополнительно).

Но самое интересное началось, когда я занялся поиском возможности использовать нужный мне софт. Здесь у меня было (и есть, т.е. проблема не решена) 3 пути:


  • использовать виртуальную машину для запуска Windows и использование нужного софта непосредственно в Windows;
  • найти Linux-аналоги нужного мне Windows-софта;
  • использовать для запуска виндового софта wine.

В качестве виртуальной машины очевидно было попробовать старый добрый VMware. Он с легкостью подхватил Windows из указанной партиции и начал его грузить, но буквально сразу экран стал синим и началась перегрузка - и так до бесконечности. Как я понял, проблема была с драйверами и она решалась, но после этого проблематично было бы загрузить Windows не из под виртуалки, а не еще не готов на столь тесные отношения с линаксом (кстати, по поводу произношение линукс или линакс можно почитать здесь). Поэтому вместо VMware пришлось использовать VirtualBox. Windows благополучно заргузился, но при этом благополучно загрузился процессор и работать стало не возможно. Поигравшись с настройками, удалось достичь полного загруза памяти, при более-менее свободном процессоре, что так же не позволяло комфортно работать. Возникает вопрос, почему тогда под виндой линакс, запушенный в виртуальной машине, работал довольно шустро.

Затем я попробовал найти замену MS Outlook. Для этого довольно не плохо подошол Evolution. Я даже пол дня им пользовался: с exchange server'ом работает, письма шлет, аппоинтменты принимает. Но без проблем не обошлось. Во-первый, каждый раз при проверке почты на сервере вылазило окошко с паролем, сколько бы я не клацал по галочке "сохранить пароль". Во-вторых, не удалось загрузить адресную книгу. В-третьих, не смотря, на то что Outlook далеко не шустрая программа, Evolution работала еще медленее, при это довольно еще иногда висла при закрытии. Попытался поставить более новую версию - не получилось, т.к. потребовалось обновление еще кучи софта. Пытаясь автоматизировать этот процесс, заметил, что ни YaST, ни zypper не хотят работать с удаленными репозиториями. На форумах нашол, что это так же лечится обновлением, но обновление потянуло за собой обновление зависимостей.

Последняя надежда была на wine. Для начала решил попробовать на qip и winamp - не заработали. Обновив wine, удалось запустить winamp. Осталось теперь всего лишь установить и запустит IE с Outlook. Тут возникло столько траблов, что в двух словах и не опишешь. Пробовал так же wine-doors, wine-tools, обновлял последние версии из репозиториев, но за 2 дня так и не удалось установить IE6.

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

И вот перегрузившись опять под Windows, сижу и думаю, а стоит ли использовать Linux, если он такой не юзер-френдли :) На самом деле, желание у меня не пропало. Похоже нужно сначала много чего почитать. Ведь я помню время, когда настройка внутреннего модема в винде занимала неделю. Но является ли сложность линакса его достоинством, о чем так любят говорить нелюбители виндовса? Да, конечно хорошо понимать что ты делаеш, но если пониманием хотелось бы заняться в свободное время, а не вместо выполнения основной задачи.

Read More...

среда, 19 декабря 2007 г.

Multiple X Screens

Наконец-то настроил поддержку двух мониторов под Linux'ом (openSuse 10.2) на рабочей машине. Все оказалось предельно просто - достаточно было прочитать доку с сайта nVidia Appendix G. Configuring TwinView и Appendix P. Configuring Multiple X Screens on One Card, а потом запустить nvidia-xconfig.

Read More...

вторник, 24 июля 2007 г.

Поиск строки в файлах

Есть несколько способов поиска строки в файлах.
Можно использовать cat:

cat file_mask | grep word_mask

Такой метод выводит только найденные стоки, но без указания файла, а это не всегда удобно. Поэтому можно использовать find:

find start_point -name file_mask -exec grep word_mask {} \; -print

Ключ -exec command {} \; выполняет над найденным файлом указанную команду (command).
start_point, file_mask, word_mask - соответственно директория поиска, маска файлов, выражение для поиска строки и ключи grep'a.

Read More...