15 нояб. 2012 г.

Установка Android 4 на виртуальную машину

Сегодня хочу рассмотреть установку ОС Android 4 на виртуальную машину Oracle VM Virtual Box. Сразу же возникает вопрос, зачем это надо? Это нужно.. даже и не знаю как ответить :) Это никак не пригодится в повседневной жизни. Мне стало просто интересно, как это будет выглядеть на обычно настольном компьютере.
Итак, скачиваем ISO образ операционной системы, затем запускаем виртуальную машину.
С Вашего позволения я не буду описывать процесс установки в виртуальной машине. Кому интересно, могут посмотреть подробную инструкцию здесь (http://ito-info.blogspot.ru/2012/05/android-4-virtualbox.html), а я поделюсь просто тем, что у меня получилось:)
После установки появилось окно выбора способа загрузки
Выбираем обычную загрузку - Android-x86 4.0-RC1, после чего ОС начинает загружаться

Введение нерабочего узла в строй. Часть 2

Теперь надо приступить к разбирательствам по поводу восстановления работоспособности pbs.
Для начала, с помощью команды pbsnodes проверяем работает ли "пятый"

[root@tisnum-head1 ~]# pbsnodes -a node
node

     state = down
     np = 24
     ntype = cluster
     mom_service_port = 15002
     mom_manager_port = 15003
     gpus = 0

Нам вывелось минимум информации. Самая главная строка - это  state = down. Рабочий узел должен выдавать state = free. Можно попробовать изменить это состояние с помощью той же самой команды pbsnodes

pbsnodes -c node

Данная команда означает, что мы узел node переводим в состояние free вне зависимости от того в каком состоянии он до этого находился. После этого опять проверяем, если все заработало и он встал в состояние free, то мы проблему решили, а если опять осталось состояние down, то копаем дальше.


Введение нерабочего узла в строй. Часть 1

Сначала опишу, что случилось с узлом и почему мне его пришлось вводить в строй.
На днях я заметил, что один из вычислительных узлов, назовем его "пятый", перестал пинговаться и стал невидим для планировщика Torque. Вместо привычного стояния узла

node: pbs,sshd

я наблюдал

node: noping

Это меня напрягало, потому что, я считаю, что сделано для того, чтобы работать - должно работать. Естественно, моя заявка в техподдержку компании Т-платформы была сделана, но ответ так и не последовал.
Теперь к главному, в чем была причина и как я ее устранил.

14 нояб. 2012 г.

Права доступа в ОС Linux


Тут немного расскажу о том, какие бывают права доступа на файлы для пользователей Linux. Каждый файл или папка в Linux имеют свои права на доступ к нему.
В системе Linux существуют три типа прав - это чтение (r), запись (w), выполнение (x)
Все эти права определяются для трех типов пользователей: владельца (u), группы (g), всех других (o)
При назначении прав на файл или папку принято использовать восьмеричную систему счисления. Так, например, выглядит текстовое представление прав:

- rwxr- - r - -
0123456789

где символ в позиции 0 может быть равен
"-" -  обычный файл
"d" - папка
"l" - ссылка
символы в позициях 1-3: "rwx" определяют права владельца
символы в позициях 4-6: "r - -" определяют права для группы пользователей
символы в позициях 7-9: "r - -" определяют права для всех остальных

Загрузка динамических библиотек

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

error while loading shared libraries: lib.so: cannot open shared object file: No such file or directory

Чтобы точно удостовериться в чем тут дело, нужно проверить, правильно ли прилинковались нужные динамические библиотеки к нашей программе в процессе сборки. Сделать это нам поможет команда ldd. Пишем, например:

semget errno=ENOSPC -- check system limit for sysv semaphores.

Странное название этой записи изначально может и ничего не говорит о ее содержании, но тем не менее с этой вещью столкнуться можно и надо знать как ее излечить.
Раньше я с такими вещами не сталкивался, но на днях занимался (в который раз) отладкой работы программы GAMESS и при многочисленном тестовом запуске появилась ошибка типа:

 DDI Process 25: semget return an error.
 semget errno=ENOSPC -- check system limit for sysv semaphores.
 DDI Process 9: semget return an error.
 semget errno=ENOSPC -- check system limit for sysv semaphores.
 DDI Process 10: error code 911
 DDI Process 8: error code 911
 DDI Process 13: error code 911
 DDI Process 15: error code 911
 DDI Process 23: error code 911
 DDI Process 28: error code 911
 DDI Process 29: error code 911
 DDI Process 31: error code 911