Rating@Mail.ru
IPB
Etersoft - from Windows to Linux
Etersoft
решения для перехода
с Windows на Linux
Дружественные сайты: alv.me и Rus-Linux.net

Здравствуйте, гость ( Вход | Регистрация ) Поиск · 

Профиль
Фотография
Опции
Опции
О себе
жучара не указал(а) ничего о себе.
Личная информация
жучара
Новичок
Возраст не указан
Пол не указан
Место жительства не указано
День рождения не указан
Интересы
Нет данных
Другая информация
Операционная система: minix 3.1.0
JID: Нет данных
Город: Нет данных
Статистика
Регистрация: 21-April 17
Просмотров профиля: 344*
Последнее посещение: 3rd August 2017 - в 19:50
Часовой пояс: Aug 19 2017, в 04:29
25 сообщений (0.21 за день)
Контактная информация
AIM Нет данных
Yahoo Нет данных
ICQ Нет данных
MSN Нет данных
Contact E-mail скрыт
* Просмотры профиля обновляются каждый час

жучара

Участники


Темы
Сообщения
Друзья
Содержимое
11 May 2017
Друзья! По моему разумению эта команда среди всего прочего предполагает перенос исполняемого файла КУДА-НИБУДЬ. В какую-то там директорию, а, может и не в одну. А у меня же никуда ничего не переносится, вот в чём дело.

Исходные данные такие: нахожусь в директории /root/test исполняемый файл "hello", который нужно куда-нибудь (КУДА?) инсталлировать; работаю из-под root

Код
# ./hello
Hello, word!
* install -S 11kw hello
# install -cs -o bin hello /usr/bin/mhello
#

Наверное, файл hello куда-нибудь скопировался, да ведь? Я ведь его инсталлирую как-никак, не хухры-мухры! Смотрим.

Код
# find / -name hello
/root/test/hello
#


Мда.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++=

А теперь откуда я взял эти команды "install". Дело в том, что такое вот использование install я взял не где-нибудь, а в штатном (штатном, Карл!) файле Makefile к файлу sh. То есть предполагается, что если в директории, где находится sh (/usr/src/commands/sh) скомандовать ./build

То выполнятся такие три команды (суть содержание /usr/src/commands/sh/build):
Код
make clean
make all
make install


То sh инсталлируется куда-то. А она не инсталируется, а в Makefile именно такие вот команды "install" и присутствуют, которые я привёл выше. Файл Makrefile я прилагаю, я из него поубирал, что можно поубирать. Но если кто будет смотреть, смотрите просто на две строчки и всё, которые начинаются с install, больше-то ничего не требуется. И они и не работают, ни для sh, ни для hello

В общем, фиктивная какая-то инсталляция, ага. А вся работа ./build заключается в перекомпиляции sh. Ну ладно, умеем мы компилировать. А перетаскивать-то исполняемый файл sh (ну или hello) куда-то там (в */bin, что ли) как, вручную, что ли? Но это же не наш метод! Спасибо, кто откликнется.

Spoiler:
Код
# Makefile for sh

CFLAGS    = -O -D_MINIX -D_POSIX_SOURCE -wa
LDFLAGS    = -i
CC = exec cc

OBJ    = sh1.o sh2.o sh3.o sh4.o sh5.o sh6.o

all:    sh

sh:    $(OBJ)
    cc $(LDFLAGS) -o $@ $(OBJ)
    install -S 11kw sh

install:    /usr/bin/msh

/usr/bin/msh:    sh
    install -cs -o bin $? $@


$(OBJ):    sh.h

clean:
    rm -f sh *.o *.bak core


P. S. man читал, там написано, что всё должно быть OK:

Цитата
puts executables, manual pages, and library files in their proper place in the bin, man, and lib directories. The first two forms of the command are like cp(1) copying either one file to another or copying several files to a directory.
Используемая мной форма install- первая
10 May 2017
Друзья! команд top, htop, pstree в minix нет. Команда ps -al не показывает полностью командную строку. Ну то есть показывает, но не для всех процессов. Вот к примеру, отрывок вывода команды ps -al

Код
0 R   0  4929     1  4929    177             co  0:00 -sh
10 W   0    14     5     0     18        ANY   ?  0:00 /sbin/floppy


Вот видно, что для процесса /sbin/floppy есть полный путь а для процесса sh - нет; а мне-то его и надо получить. Для ps ещё есть опции -xfe, но они на это не влияют (-x показывает процессы, не консольные которые, -f это -l, -e это -ax). Спасибо, кто откликнется.
Друзья! Командую:
Код
make --version
GNU make 3.82

А нужно установить версию 3.79. Возможно ли это? Необходимо по таким причинам: во-первых, прочесть эту книжку:
Программа управления компиляцией GNU make Версия 3.79
А во-вторых, ради интереса. Я ведь радоваться буду как ребёнок если ЧТО-НИБУДЬ установлю стороннее из интернета. Это нетрудно, наверное, да ведь? Нашёл где-нибудь, скачал, ткнул install-> next-> next... Гм. В общем, как-то так должно быть. Спасибо, кто откликнется.
27 Apr 2017
Друзья! Пользователь user0 создан стандартным путём, adduser. Итак, ситуация: пользователь user0 включает комп и входит под своим паролем и работает. А по окончании работы выключить комп не может!

Код
$ shutdown
shutdown: Permissioon denied
* halt
halt: Permissioon denied
* reboot
reboot: Permissioon denied
* exit
...
imakompa login:


Сейчас можно войти под root-ом, набрать shutdown, потом off и компьютер выключится. Но по условию задачи, пользователь не знает пароль root-а, вот в чём дело. Что же ему теперь, питание выключать?

++++++++++++++++++++++++++++++

Я ещё не прочёл всего Танненбаума, но мне кажется, он про выключение ничего не говорит, кроме как:

Цитата
Выключите систему, набрав команду shutdown. Всегда останавливайте MINIX 3 этим способом для предотвращения потери данных, так как MINIX 3 хранит некоторые файлы на виртуальном диске и копирует их на жесткий диск только при завершении работы.


То есть опять shutdown

++++++++++++++++++++++++++++++

Можно что сделать:
1) заранее дать shutdown права на выполнение всем пользователям.
2) ещё добавить файлу shudown права u+s, то есть чтобы он выполнялся от имени владельца (root-а) потому, что иначе никак. К примеру он включает файл halt ну и мало ли чего ещё.

Ну это же вообще не наш метод. Создаётся впечатление, что команда shutdown в целях безопасности доступна только root-у, а я эту безопасность нарушаю, вместо того чтобы найти маленькую изящненькую команду для выключения, которую может выполнять простой пользователь. Но сам я найти такую команду не могу, с чем к вам, друзья, собсно и обращаюсь. Спасибо, кто откликнется.
24 Apr 2017
Да, друзья, так и есть. Группы нет уже давно, а на отображается

...Создал группу group0 (ID группы 10), создал пользователя user0 поместил его в эту группу. Создал файл foo. Информация об этом файле:
Код
$ pwd
/home/user0
$ ls -l
...
-rwxr-xf-x 1 user0 group0 ..... foo


Удалил группу group0, создал группу group1 (ID группы 11), польователя user0 поместил в группу group1, создал файл bar:

Код
$ pwd
/home/user0
$ ls -l
...
-rwxr-xf-x 1 user0 10 ..... foo
-rwxr-xf-x 1 user0 group1 ..... bar


Видите? Группы group0 нет, а в строчке про foo указан её ID! То есть вообще говоря по этому выводу делаем вывод, что владелец файла принадлежит группе с ID 10, что ложь. Двойная причём. Во-первых, он принадлежит группе с ID равным 11, а во вторых группы с ID равным 10 уж сто лет как нет.

.................................................

Выдержка из файла /etc/group:
Код
...
group1:*:11:
а группы group0 и ID равного 10, там нет, я вас уверяю, просто файл длинный.

Выдержка из файла /etc/passwd
Код
...
user0:##user0:10:11:user0:/home/user0


Не таскать же мне мёртвую группу всю жизнь за собой! Что же делать, друзья? Я уж и перезагружался, и всяко. Ладно, я один файл могу найти и переписать. А если их будет море? И у всех в качестве группы владельца будет мёртвая группа? Все находить и переписывать? Несерьёзно это как-то. Спасибо, кто откликнется.

...Ай-ай, сейчас нашёл команду chgrp, которая поменяла мне рекурсивно группу у всех файлов. Но это же вель не та команда, да ведь? Я в том смысле, что она конечно устанавливает нужную мне группу, но из того, что МОЖНО менять вручную группу у файла, не следует же что её ОБЯЗАТЕЛЬНО нужно менять вручную, когда у владельца меняется группа? Честно, не нравится мне такая перспектива. Поменял группу у владельца- а потом меняй (пусть даже и chgrp, быстро то есть) группу у всех файлов. Гм. Как-то не того.
Просмотры


28 Apr 2017 - 11:31


Друзья
Друзей нет.
RSS Текстовая версия Сейчас: 19th August 2017 - в 04:29




Rating@Mail.ru