Ru-Board.club
← Вернуться в раздел «UNIX»

» Вопросы от krserv’a

Автор: ASE_DAG
Дата сообщения: 06.11.2012 13:20
В этой ветке задает вопросы и излагает свои находки тов. krserv.
Автор: ASE_DAG
Дата сообщения: 06.11.2012 13:41
krserv
Итак, поехали. Что у вас за проблема со скриптом?


$ cat mir_clean.sh
#!/bin/sh
cd /mnt/repo/debian/var
clean.sh >> /mnt/repo/debian/var/log/apt-mirror.log


Вы уверяете, что это не отрабатывает должным образом.
Покажите:
$ cat $(which clean.sh)
Автор: Alukardd
Дата сообщения: 06.11.2012 13:44
ASE_DAG
Цитата:
cat $(which clean.sh)
я могу написать вывод за него) Т.к. clean.sh очевидно, что лежит не в $PATH.
Автор: krserv
Дата сообщения: 06.11.2012 13:55
продолжаю
[more]trn@srvdebntb:/mnt/repo/debian/scripts$ sudo mir_up.sh
sudo: mir_up.sh: command not found
trn@srvdebntb:/mnt/repo/debian/scripts$ sudo sh mir_up.sh
# скрипт был выполнен, если указана перед ним shell.
trn@srvdebntb:/mnt/repo/debian/scripts$ sudo sh mir_clean.sh
mir_clean.sh: 3: clean.sh: not found
trn@srvdebntb:/mnt/repo/debian/scripts$ cat mir_clean.sh
#!/bin/sh
cd /mnt/repo/debian/var
clean.sh >> /mnt/repo/debian/var/log/apt-mirror.log

trn@srvdebntb:/mnt/repo/debian/var$ ls -l clean.sh
-rwxr-xr-x 1 root root 180 Nov 6 15:49 clean.sh
trn@srvdebntb:/mnt/repo/debian/var$[/more]
Автор: ASE_DAG
Дата сообщения: 06.11.2012 13:57
Alukardd
Да, это я, кстати, плохо подумав, написал. Если $ which clean.sh ничего не вернет, то выпонится просто $ cat, т. е. машина будет ожидать ввода и надо будет жать ^C.

krserv
Значит, размещайте скрипты в пределах $PATH. Посмотрите, есть ли там ~/bin.
$ echo $PATH

Если да, то туда и складывайте все эти ваши mir_up.sh, mir_clean.sh и т. д.
Автор: Alukardd
Дата сообщения: 06.11.2012 14:07
krserv
Моя 3-я попытка донести до вас, что такое абсолютные и относительные пути (если с Русским не очень, то можно на английском)
Автор: krserv
Дата сообщения: 06.11.2012 14:18
спасибо выполнено, теперь мне осталось подписать репозиторий и соединиться с ним, если все пройдет удачно, то все получится.
[more]trn@srvdebntb:~$ cd /usr/local/bin
trn@srvdebntb:/usr/local/bin$ ls -l
total 12
-rwxr-xr-x 1 root root 180 Nov 6 16:08 clean.sh
-rwxr-xr-x 1 root root 81 Nov 6 16:10 mir_clean.sh
-rwxr-xr-x 1 root root 86 Nov 6 12:22 mir_up.sh
trn@srvdebntb:/usr/local/bin$ sudo mir_clean.sh
[sudo] password for trn:
# выполнено, и результат в лог файле:
trn@srvdebntb:/usr/local/bin$ cat /mnt/repo/debian/var/log/apt-mirror.log
Removing 0 unnecessary files [0 bytes]...
done.

trn@srvdebntb:/usr/local/bin$[/more]

Добавлено:
в продолжении:
http://debianforum.ru/index.php?topic=3670.new#new
Автор: krserv
Дата сообщения: 06.11.2012 17:05
локальный репозиторий для Debian я создал, но у меня же рабочие станции под Ubuntu. Им пакеты можно будет брать с этого репозитория, или для них придется тоже создавать свой репозиторий?
Автор: Alukardd
Дата сообщения: 06.11.2012 20:55
krserv
Ну вообще-то репозиторий стоило создавать для того дистрибутива который обновлять собираетесь. Бинарная совместимость конечно имеется. Но не версионная.
Автор: krserv
Дата сообщения: 06.11.2012 21:19
У меня четыре рабочих станций Ubuntu и 6 Серверов Debian - поэтому получается, что возможно еще и Ubuntu - локальный репозиторий создавать нужно будет.
Вот сейчас пытаюсь найти материалы как подключить рабочую станцию к репозиторию - что нужно будет написать в etc/sources для подключения к нему?
Автор: Alukardd
Дата сообщения: 06.11.2012 21:25
krserv
Ну видимо как обычно, deb _пробел_ url-путь до каталога и дальше релиз и ветку через пробелы.
И файл завётся /etc/apt/sources.list.
Автор: krserv
Дата сообщения: 06.11.2012 21:38
так URL - как писать, если сейчас это допустим IP 192.168.0.101 и путь к репозиторию: /mnt/repo/debian/mirror/dist и т.д.
Автор: vlary
Дата сообщения: 06.11.2012 22:18
krserv
Цитата:
так URL - как писать
Да так и писать: http, ftp, file...
Например,
deb http://192.168.0.101/...
А дальше тебе лучше почитать это:
HOWTO: репозиторий Debian
Автор: krserv
Дата сообщения: 06.11.2012 22:33

Цитата:
А дальше тебе лучше почитать это:
HOWTO: репозиторий Debian


просмотрел, сегодня уже голова дальше ничего не соображает, почитаю позже, подскажите пжс, как мне сейчас сделать, чтобы все заработало, а потом я уже буду постепенно все изучать, для чего и делаю все это, я еще не сталкивался с написанием пути кроме как 192.168.0.101:21 - а как далее привязать путь к папке не знаю, чтобы в синтаксисе не ошибиться.
Что обозначают \\\; \\ и т.д. (как я представляю \\ - это сеть локальная, а \\\ - что такое?
Как сделать переход между IP адресом и далее к папке репозитория. Также в описании для разворачивания Apache2 - читал про символические ссылки, созданные при помощи Ln -s, a как все это привязать не знаю
Автор: Alukardd
Дата сообщения: 06.11.2012 22:37
krserv
Цитата:
Что обозначают \\\; \\ и т.д. (как я представляю \\ - это сеть локальная, а \\\ - что такое?
Не надо путать виндовые обозначения пути и нормальные общепринятые. Слеши в путях всегда прямые, обратные только для экранирования символов.
Так же не надо писать команду ln с большой буквы, все UNIX-like ОСи чувствительны к регистру.

Нельзя не видя всего что у Вас под руками отвечать на Ваши неточные вопросы. Можно только подсказывать, что мы и делаем. Прочтите хотя бы пару строк по ссылке что дал т.vlary.
Автор: krserv
Дата сообщения: 06.11.2012 22:42

Цитата:
Ну видимо как обычно, deb _пробел_ url-путь до каталога и дальше релиз и ветку через пробелы.


вот так чтоли: deb http://192.168.0.101/mnt/repo/debian/mirror/ftp.fi.debian.org/debian squeeze main contribute non-free
Автор: Alukardd
Дата сообщения: 06.11.2012 22:46
krserv
суть верна, только вот начиная с букв "ftp" включительно и до ближайшего пробела мне не ясно откуда вы это взяли и что оно тут делает.
Автор: krserv
Дата сообщения: 06.11.2012 22:49
или, для файлов на вашем жёстком диске, file::///home/joe/my-debian-repository.
вот тут не пойму, какой синтаксис использовать, доступ к репозиторию будет в локальной сети 192.168.0.0/24 а локальный репозиторий будет находиться соответственно на моем ноутбуке, или может я его скопирую на один из серверов, и буду только потом приносить обновления и копировать их на тот сервер. Суть остается та же.


Добавлено:

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


это правильно, так называется финский репозиторий, с которого делался мой локальный http://wiki.debian.org/ru/CreateLocalRepo
Автор: Alukardd
Дата сообщения: 06.11.2012 22:51
krserv
путь, который указывается после ip адреса, это путь относительно DocumentRoot вашего web-сервера Apache.
p.s. усё. Хватит на сегодня развлечений. Я спать)
Автор: vlary
Дата сообщения: 06.11.2012 22:52
krserv Обратные слэши (\\\; \\ и т.д) - это в виндузах, в линуксе и URL - слэши прямые .
ftp://, http://, file:///
У файла три слэша, поскольку третий - начало директории от корня.
file:///mnt/repo/debian/mirror/dist
Линки в Апаче можно использовать, только в конфиге нужно указать опцию
FollowSymLinks
Также в Апаче можно указывать алиасы
Alias debian /mnt/repo/debian
Автор: krserv
Дата сообщения: 08.11.2012 13:37

Цитата:
путь, который указывается после ip адреса, это путь относительно DocumentRoot вашего web-сервера Apache.

а где находится DocumentRoot?

у меня получается следующее: ftp://192.168.0.101/../ftp/debian, где

mount --bind /mnt/repo/debian/mirror/ftp.fi.debian.org/debian /home/ftp/debian

делал по образцу: Цитата - т.к ProFTPd не понимает симлинки за пределы текущего FTP дерева.

если ".." это путь к родительской директории. то получается что IP адрес приводит в директорию /home?

А почему тогда я не попадаю, если набираю ftp://192.168.0.101/ftp/debian, не пойму зачем нужно на один уровень возвращаться по пути вверх?

Автор: Alukardd
Дата сообщения: 08.11.2012 13:55
krserv
В конфиге Apache. Для каждого VirtualHost он свой. По умолчанию настройки лежат тут(в Debian-like дистрибутивах): /etc/apache2/sites-available/default.

Ещё раз все пути http сервера меряются от DocumentRoot каталога.
Автор: krserv
Дата сообщения: 08.11.2012 14:42
посмотрел: DocumentRoot - /var/www
тогда мне действительно нужно придерживаться вот этого:

Цитата:
mount --bind /mnt/repo/debian/mirror/ftp.fi.debian.org/debian /home/ftp/debian
 
делал по образцу:   Цитата - т.к ProFTPd не понимает симлинки за пределы текущего FTP дерева.
 

или можно просто ftp://192.168.0.101//mnt/repo/.... и путь к моему репозиторию
т.е перейти к корню - абсолютному пути при помощи // - это правильно или нужно только так: ftp://192.168.0.101/../../mnt/repo/.....
Автор: Alukardd
Дата сообщения: 08.11.2012 14:59
krserv
Цитата:
или нужно только так: ftp://192.168.0.101/../../mnt/repo/.....
И давно Вам удавалось гулять по серверам Google, например, через пути вида /../../. Это вообще-то называется эксплуатирование бага типа LFI.
Автор: krserv
Дата сообщения: 08.11.2012 16:41
а символическая ссылка stable. которую я создал мне зачем? Мне все равно нужно прописывать полный путь к репозиторию в файле /etc/apt/sources.list

Добавлено:
"что-то без бутылки я не врублюсь"
так работает ftp://192.168.0.101/../ftp/debian,

а вот так не хочет работать (с точечками и палочками запутался )
ftp://192.168.0.101//home/ftp/debian
Автор: Alukardd
Дата сообщения: 08.11.2012 18:35
krserv
Я не знаю что за ftp сервер у Вас поднят и как настроен. Нормальный ftp сервер изолирует пользователя в chroot окружении, что бы тот от туда ни ногой.
Давайте лучше вернёмся к доступу к репозиторию по http протоколу. Уважите просто в DocumentRoot ту папку к которой требуется доступ и дальше всё делайте от неё. При заходе по url в браузере вы должны увидеть папки типа dist и pool.

p.s. путаница с путями вообще давно вызывает у меня подозрение, что компьютером Вы если и пользовались то либо как игровой приставкой, либо как печатной машинкой. Хотя после недавнего общения с некоторыми моими друзьями "программистами" я уже ни чему не удивляюсь. Есть кадр который после 1,5лет использования различных GNU/Linux дистрибутивов как web-серверов только сейчас от меня услышал что такое ядро и что вообще такое ОСь!!! Это просто немыслимо.
Автор: krserv
Дата сообщения: 08.11.2012 20:43
через web server сделал как Вы сказали, все заработало.
А FTP сервер у меня стоит ProFTPd - и настроен он так, что открывает путь в директорию home. Только вот просит вводить ему пароль, как бы сделать чтобы он входил без пароля, это настройки раздела anonymous?
Автор: Alukardd
Дата сообщения: 08.11.2012 21:19
krserv
Цитата:
сделал как Вы сказали, все заработало
свершилось!)
Цитата:
как бы сделать чтобы
Если заработало через web, мб хватит уже? Потом вернётесь к этому вопросу когда будете готовы читать теорию. Я proftpd не настраивал ни когда.
Автор: krserv
Дата сообщения: 08.11.2012 23:07

Цитата:
свершилось!)

еще не все, еще нужно разобраться с PAM - plugable authentication modules -
вот мне Аладдин только сегодня по этому поводу написал:

Для logona в Linux используйте PAM, существует PAM модуль PKCS который реализует вход в ОС по сертификатам пользователей на смарт-картах. Подробности настройки вы можете найти в интернете

И посоветуйте пжс софт, чтобы можно было сеть мониторить, т.е видеть все компьютеры в сети, их IP aдреса по аналогии с виндоусовским сетевым окружением, IP scaner. Сейчас прежде всего начну изучать команды для работы с сетью, удаленное администрирование. Настройку sudo для пользователей, чтобы им можно было давать права для выполнения какой-то рассматриваемой задачи.
Репозиторий заработал, можно будет теперь на компы софт ставить и работать уже в сети.

Наслаждаюсь, играюсь c первыми результатами:
apt-mirror; apt-get update; apt-get upgrade
Автор: Alukardd
Дата сообщения: 09.11.2012 07:30
krserv
Причём здесь "сетевое окружение" и мониторить сеть? Мб более чётко задачу будете формулировать. Тупо узнать кто сейчас в сети можно утилитой arp-scan.

Чтобы осознанно лезть в PAM надо много чего знать, в противном случае опять будет как с Apache, что мы не знаем базовых понятий таких как DocumentRoot. В таких ситуациях даже пошаговый HOWTO не спасёт, т.к. пишут их люди в основном как опорный материал и некоторые шаги намеренно или по случайности пропускают, но т.к. они очевидные, то в большинстве случаев это не влияет на исход.
Это я к тому что без знаний не надо ковырять систему аутентификации. А то потом будете восстанавливать то не знаю что.

Страницы: 12345678910

Предыдущая тема: Идентификация и аутентификация в Linux


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.