Как подключиться к опубликованному по ftp репозиторию? #128

Closed
opened 3 months ago by elenav · 11 comments
  1. Я опубликовала репозиторий на виртуалке по аналогии с Web-публикацией:
    добавила хранилище и поставила галочку "Включить публикацию", потом сохранила в конфигурацию.

image

на самой тестовой машине в filezille указала ip виртуалки, но она не подключается.
Я что-то не так делаю? Нужно запустить ftp-сервер?

image

  1. Для подключения - по аналогии с Web-публикацией, добавить репозиторий ftp://ip/testrepo, правильно?
    Как мне убедиться, что к репозиторию есть доступ? В web-публикации я опубликовала репозиторий

image

На основной машине добавила репозиторий и отключила системные, сохранила конфигурацию.

image

image

Попыталась обновить базу:

image

Хотя в браузере репозиторий отображается

image

Как мне проверить, что репозиторий работает? Для web и ftp?

Я написала тест-сценарий для Web-репозитория: https://tms.ublinux.ru/project/16/repository/19

1. Я опубликовала репозиторий на виртуалке по аналогии с Web-публикацией: добавила хранилище и поставила галочку "Включить публикацию", потом сохранила в конфигурацию. ![image](/attachments/d2c20d25-801e-40cf-96c4-85bfe69bf953) на самой тестовой машине в filezille указала ip виртуалки, но она не подключается. Я что-то не так делаю? Нужно запустить ftp-сервер? ![image](/attachments/601d6432-4bfa-4f55-90dd-7276874e30b0) 2. Для подключения - по аналогии с Web-публикацией, добавить репозиторий ftp://ip/testrepo, правильно? Как мне убедиться, что к репозиторию есть доступ? В web-публикации я опубликовала репозиторий ![image](/attachments/26578f8a-efc1-45fc-8196-9eff9325a307) На основной машине добавила репозиторий и отключила системные, сохранила конфигурацию. ![image](/attachments/cdc4c3e0-e043-40a5-8ef2-db8ed86e5075) ![image](/attachments/146fbc51-adc7-4fbd-8731-779f9d6ef7bd) Попыталась обновить базу: ![image](/attachments/8abf1e6e-1c9a-49f9-9449-431f56614c1f) Хотя в браузере репозиторий отображается ![image](/attachments/018da8f1-106c-40b5-b6c6-2847d53459b5) Как мне проверить, что репозиторий работает? Для web и ftp? Я написала тест-сценарий для Web-репозитория: https://tms.ublinux.ru/project/16/repository/19
elenav added the вопрос label 3 months ago
asmeron was assigned by elenav 3 months ago
Collaborator

Попробуйте и при ftp публикации в update и при подключении в клиенте вручную указать 21 порт

Попробуйте и при ftp публикации в update и при подключении в клиенте вручную указать 21 порт
Poster

Попробуйте и при ftp публикации в update и при подключении в клиенте вручную указать 21 порт

Я пробовала

> Попробуйте и при ftp публикации в update и при подключении в клиенте вручную указать 21 порт Я пробовала
Poster

Итак я перепробовала:

WEB-публикация

  1. 192.168.215.199/testrepo/$repo/$arch

image

Результат:

image

image

image

И с портом тоже.

Результат везде одинаковый.
image

В браузере открывается.

Доступ по FTP:

На виртуалке опубликован:

image

Пытаюсь с тестовой машины подключиться:

image

image

image

image

И т.п. с тем же результатом

Итак я перепробовала: ## WEB-публикация 1. 192.168.215.199/testrepo/$repo/$arch ![image](/attachments/f12314b4-2ed5-43f1-aa2c-92b77fce5ed9) Результат: ![image](/attachments/dd01624e-3d59-4117-8d1d-d40e9cb6aa12) 2. ![image](/attachments/3e828b1b-aaac-401b-858b-46842e13d15e) 3. ![image](/attachments/5c6bcd6c-6683-4604-bd8e-2ba4f8dbaecd) И с портом тоже. Результат везде одинаковый. ![image](/attachments/e07b3055-101d-4bd0-a646-11439778f040) В браузере открывается. ## Доступ по FTP: На виртуалке опубликован: ![image](/attachments/b69aedd3-4271-495a-9835-b630772b02a7) Пытаюсь с тестовой машины подключиться: ![image](/attachments/748a7af7-5181-41c9-885b-9ebeaac5bd2f) 1. ![image](/attachments/54aa6737-89a7-49a7-85f3-ab2c43980ba7) ![image](/attachments/4b3be65c-928e-48e9-80c5-ab2a6da2b0cc) 2. ![image](/attachments/e90afe8e-8684-413e-be3a-95128ac73f7e) И т.п. с тем же результатом
Owner

Без ГУЯ по инструкции моей работает ?

Без ГУЯ по инструкции моей работает ?
Poster

Иду по инструкции
image

  1. Обновляюсь
  2. Добавляю в /home/public/2405 в репозиторий manual пакет (второй не добавился из-за опечатки)
  3. Публикую /home/public
  4. Проверяю, что работает ftp-сервер
    image

На второй виртуалке

  1. Обновляюсь
  2. Включаю управление репозиториями
  3. Добавляю репозиторий manual по адресу ftp://192.168.215.199/2405/$repo/$arch (у меня же не ublinux_2405)
    image
Иду по инструкции ![image](/attachments/4243c6e0-5a63-455d-851a-0e7b3ce59105) 1. Обновляюсь 2. Добавляю в /home/public/2405 в репозиторий manual пакет (второй не добавился из-за опечатки) 3. Публикую /home/public 4. Проверяю, что работает ftp-сервер ![image](/attachments/23e4ca01-361f-42bd-bb2c-8886e6728b6b) На второй виртуалке 1. Обновляюсь 2. Включаю управление репозиториями 3. Добавляю репозиторий manual по адресу ftp://192.168.215.199/2405/$repo/$arch (у меня же не ublinux_2405) ![image](/attachments/55aeedbc-d645-4a86-8424-ab4a554f0025)
Poster

На виртуалке в фаловом менеджере я в ftp не смогла войти почему-то:
image

А на реальной машине вошла:
image

Пробую подключиться
image

К серверу подключился, но файл не скачал

На виртуалке в фаловом менеджере я в ftp не смогла войти почему-то: ![image](/attachments/5879717b-2e1d-4639-8785-4ef79f861871) А на реальной машине вошла: ![image](/attachments/3bd333c1-577d-4a26-9856-91a42822c923) Пробую подключиться ![image](/attachments/937e8c01-836e-4cd0-9b35-3acb971c4002) К серверу подключился, но файл не скачал
Owner

Ещё один пример рабочий.

Сервер: 192.168.215.91

# Создаём хранилище и рапозиторий №1 для http публикации
repo-manager add -d /home/public/storage_1 -r manual_1 upac-2.3-1-any.pkg.tar.zst ubsave-1.30-1-any.pkg.tar.zst ubmutils-2.21-1-any.pkg.tar.zst ubmodulemenu-1.0-1-any.pkg.tar.zst
# Создаём хранилище и рапозиторий №2 для ftp публикации
repo-manager add -d /home/public/storage_2 -r manual_2 veyon-4.10.0-1-x86_64.pkg.tar.zst wv-1.2.9-6-x86_64.pkg.tar.zst yad-14.1-2-x86_64.pkg.tar.zst yaml-cpp-0.8.0-1-x86_64.pkg.tar.zst

# Публикуем репозиторий №1 http
ubconfig set [update] REPOPUBLIC_WEB[/home/public/storage_1]=enable:listing
# Публикуем репозиторий №2 ftp
ubconfig set [update] REPOPUBLIC_FTP[/home/public/storage_2]=enable

Клиент: 192.168.215.47

# Подключаем репозиторий №1 http
ubconfig set [update] REPOSITORY[manual_1]='http://192.168.215.91/$repo/$arch'
# Подключаем репозиторий №2 ftp
ubconfig set [update] REPOSITORY[manual_2]='ftp://192.168.215.91/$repo/$arch'

# Включаем управление репозиториями
ubconfig set [update] REPOSITORY=enable

Проверка подключенных репозиториев:

pacman -Syy
# Получить список пакетов из репозитория подключенного
pacsift --sync --exact --repo manual_1
pacsift --sync --exact --repo manual_2
Ещё один пример рабочий. Сервер: 192.168.215.91 ``` # Создаём хранилище и рапозиторий №1 для http публикации repo-manager add -d /home/public/storage_1 -r manual_1 upac-2.3-1-any.pkg.tar.zst ubsave-1.30-1-any.pkg.tar.zst ubmutils-2.21-1-any.pkg.tar.zst ubmodulemenu-1.0-1-any.pkg.tar.zst # Создаём хранилище и рапозиторий №2 для ftp публикации repo-manager add -d /home/public/storage_2 -r manual_2 veyon-4.10.0-1-x86_64.pkg.tar.zst wv-1.2.9-6-x86_64.pkg.tar.zst yad-14.1-2-x86_64.pkg.tar.zst yaml-cpp-0.8.0-1-x86_64.pkg.tar.zst # Публикуем репозиторий №1 http ubconfig set [update] REPOPUBLIC_WEB[/home/public/storage_1]=enable:listing # Публикуем репозиторий №2 ftp ubconfig set [update] REPOPUBLIC_FTP[/home/public/storage_2]=enable ``` Клиент: 192.168.215.47 ``` # Подключаем репозиторий №1 http ubconfig set [update] REPOSITORY[manual_1]='http://192.168.215.91/$repo/$arch' # Подключаем репозиторий №2 ftp ubconfig set [update] REPOSITORY[manual_2]='ftp://192.168.215.91/$repo/$arch' # Включаем управление репозиториями ubconfig set [update] REPOSITORY=enable ``` Проверка подключенных репозиториев: ``` pacman -Syy # Получить список пакетов из репозитория подключенного pacsift --sync --exact --repo manual_1 pacsift --sync --exact --repo manual_2 ```
Collaborator

Ещё один пример рабочий.

Сервер: 192.168.215.91

# Создаём хранилище и рапозиторий №1 для http публикации
repo-manager add -d /home/public/storage_1 -r manual_1 upac-2.3-1-any.pkg.tar.zst ubsave-1.30-1-any.pkg.tar.zst ubmutils-2.21-1-any.pkg.tar.zst ubmodulemenu-1.0-1-any.pkg.tar.zst
# Создаём хранилище и рапозиторий №2 для ftp публикации
repo-manager add -d /home/public/storage_2 -r manual_2 veyon-4.10.0-1-x86_64.pkg.tar.zst wv-1.2.9-6-x86_64.pkg.tar.zst yad-14.1-2-x86_64.pkg.tar.zst yaml-cpp-0.8.0-1-x86_64.pkg.tar.zst

# Публикуем репозиторий №1 http
ubconfig set [update] REPOPUBLIC_WEB[/home/public/storage_1]=enable:listing
# Публикуем репозиторий №2 ftp
ubconfig set [update] REPOPUBLIC_FTP[/home/public/storage_2]=enable

Клиент: 192.168.215.47

# Подключаем репозиторий №1 http
ubconfig set [update] REPOSITORY[manual_1]='http://192.168.215.91/$repo/$arch'
# Подключаем репозиторий №2 ftp
ubconfig set [update] REPOSITORY[manual_2]='ftp://192.168.215.91/$repo/$arch'

# Включаем управление репозиториями
ubconfig set [update] REPOSITORY=enable

Проверка подключенных репозиториев:

pacman -Syy
# Получить список пакетов из репозитория подключенного
pacsift --sync --exact --repo manual_1
pacsift --sync --exact --repo manual_2

image

Способ работает если сервер находится в режиме полной совместимости, если сервер включен в режиме песочницы происходит ошибка именно с FTP сервером
image

> Ещё один пример рабочий. > > Сервер: 192.168.215.91 > ``` > # Создаём хранилище и рапозиторий №1 для http публикации > repo-manager add -d /home/public/storage_1 -r manual_1 upac-2.3-1-any.pkg.tar.zst ubsave-1.30-1-any.pkg.tar.zst ubmutils-2.21-1-any.pkg.tar.zst ubmodulemenu-1.0-1-any.pkg.tar.zst > # Создаём хранилище и рапозиторий №2 для ftp публикации > repo-manager add -d /home/public/storage_2 -r manual_2 veyon-4.10.0-1-x86_64.pkg.tar.zst wv-1.2.9-6-x86_64.pkg.tar.zst yad-14.1-2-x86_64.pkg.tar.zst yaml-cpp-0.8.0-1-x86_64.pkg.tar.zst > > # Публикуем репозиторий №1 http > ubconfig set [update] REPOPUBLIC_WEB[/home/public/storage_1]=enable:listing > # Публикуем репозиторий №2 ftp > ubconfig set [update] REPOPUBLIC_FTP[/home/public/storage_2]=enable > ``` > > Клиент: 192.168.215.47 > ``` > # Подключаем репозиторий №1 http > ubconfig set [update] REPOSITORY[manual_1]='http://192.168.215.91/$repo/$arch' > # Подключаем репозиторий №2 ftp > ubconfig set [update] REPOSITORY[manual_2]='ftp://192.168.215.91/$repo/$arch' > > # Включаем управление репозиториями > ubconfig set [update] REPOSITORY=enable > ``` > > Проверка подключенных репозиториев: > ``` > pacman -Syy > # Получить список пакетов из репозитория подключенного > pacsift --sync --exact --repo manual_1 > pacsift --sync --exact --repo manual_2 > ``` ![image](/attachments/935ebb26-b913-4da3-9bda-0cc130724133) Способ работает если сервер находится в режиме полной совместимости, если сервер включен в режиме песочницы происходит ошибка именно с FTP сервером ![image](/attachments/16cde41e-b831-46d7-8704-82fe3751bf9e)
Collaborator

Решил детально пройтись по всем вариантам создания FTP и HTTP репозиториев, и подключения к ним
В качестве примера было настроено 2 виртуальные машины, подключенные по "Сеть NAT"
image
image
(аналогично client)

Сервер: 10.0.2.15/24
Клиент: 10.0.2.4/24

Оба устройства включаем в режиме полного сохранения

Сервер -> Клиент

0 ✓ superadmin@ubstation:~$ ping -c 3 10.0.2.4
PING 10.0.2.4 (10.0.2.4) 56(84) bytes of data.
64 bytes from 10.0.2.4: icmp_seq=1 ttl=64 time=0.996 ms
64 bytes from 10.0.2.4: icmp_seq=2 ttl=64 time=1.01 ms
64 bytes from 10.0.2.4: icmp_seq=3 ttl=64 time=0.954 ms

--- 10.0.2.4 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.954/0.986/1.008/0.023 ms

Клиент -> Сервер

$ ping -c 3 10.0.2.15
PING 10.0.2.15 (10.0.2.15) 56(84) bytes of data.
64 bytes from 10.0.2.15: icmp_seq=1 ttl=64 time=0.939 ms
64 bytes from 10.0.2.15: icmp_seq=2 ttl=64 time=1.06 ms
64 bytes from 10.0.2.15: icmp_seq=3 ttl=64 time=1.02 ms

--- 10.0.2.15 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.939/1.006/1.060/0.050 ms

В случае терминала

На сервере создать 2 репозитория для HTTP и FTP сервера:

cd /var/cache/pacman/pkg/
# Создаём хранилище и репозиторий №1 для http публикации
repo-manager add -d /home/public/storage_1 -r manual_1 upac-2.3-1-any.pkg.tar.zst ubsave-1.30-1-any.pkg.tar.zst ubmutils-2.21-1-any.pkg.tar.zst ubmodulemenu-1.0-1-any.pkg.tar.zst

# Создаём хранилище и репозиторий №2 для ftp публикации
repo-manager add -d /home/public/storage_2 -r manual_2 veyon-4.10.0-1-x86_64.pkg.tar.zst yad-14.1-2-x86_64.pkg.tar.zst

image
image

# Публикуем репозиторий №1 http
ubconfig set [update] REPOPUBLIC_WEB[/home/public/storage_1]=enable:listing
# Публикуем репозиторий №2 ftp
ubconfig set [update] REPOPUBLIC_FTP[/home/public/storage_2]=enable

image

На клиенте, подключаем репозитории

# Подключаем репозиторий №1 http
ubconfig set [update] REPOSITORY[manual_1]='http://10.0.2.15/$repo/$arch'
# Подключаем репозиторий №2 ftp
ubconfig set [update] REPOSITORY[manual_2]='ftp://10.0.2.15/$repo/$arch'

# Включаем управление репозиториями
ubconfig set [update] REPOSITORY=enable

image

Проверяем доступ:

pacman -Syy
pacsift --sync --exact --repo manual_1
pacsift --sync --exact --repo manual_2

image

В случае приложения

для примера создадим репозиторий storage_3 для FTP
image
На сервере запускаем ubl-settings-update
image

Добавляем необходимый репозиторий
image
И сохраняем изменения
image

Добавляем репозиторий клиенту и проверяем работу:
image

Решил детально пройтись по всем вариантам создания FTP и HTTP репозиториев, и подключения к ним В качестве примера было настроено 2 виртуальные машины, подключенные по "Сеть NAT" ![image](/attachments/99173881-1ed3-4ca2-8c78-f4c927f49085) ![image](/attachments/8f797929-31b3-42bd-a798-7387e57a6bc7) (аналогично client) Сервер: 10.0.2.15/24 Клиент: 10.0.2.4/24 Оба устройства включаем в режиме полного сохранения Сервер -> Клиент ``` 0 ✓ superadmin@ubstation:~$ ping -c 3 10.0.2.4 PING 10.0.2.4 (10.0.2.4) 56(84) bytes of data. 64 bytes from 10.0.2.4: icmp_seq=1 ttl=64 time=0.996 ms 64 bytes from 10.0.2.4: icmp_seq=2 ttl=64 time=1.01 ms 64 bytes from 10.0.2.4: icmp_seq=3 ttl=64 time=0.954 ms --- 10.0.2.4 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 0.954/0.986/1.008/0.023 ms ``` Клиент -> Сервер ``` $ ping -c 3 10.0.2.15 PING 10.0.2.15 (10.0.2.15) 56(84) bytes of data. 64 bytes from 10.0.2.15: icmp_seq=1 ttl=64 time=0.939 ms 64 bytes from 10.0.2.15: icmp_seq=2 ttl=64 time=1.06 ms 64 bytes from 10.0.2.15: icmp_seq=3 ttl=64 time=1.02 ms --- 10.0.2.15 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 0.939/1.006/1.060/0.050 ms ``` ### В случае терминала На сервере создать 2 репозитория для HTTP и FTP сервера: ``` cd /var/cache/pacman/pkg/ # Создаём хранилище и репозиторий №1 для http публикации repo-manager add -d /home/public/storage_1 -r manual_1 upac-2.3-1-any.pkg.tar.zst ubsave-1.30-1-any.pkg.tar.zst ubmutils-2.21-1-any.pkg.tar.zst ubmodulemenu-1.0-1-any.pkg.tar.zst # Создаём хранилище и репозиторий №2 для ftp публикации repo-manager add -d /home/public/storage_2 -r manual_2 veyon-4.10.0-1-x86_64.pkg.tar.zst yad-14.1-2-x86_64.pkg.tar.zst ``` ![image](/attachments/9b817e2c-de17-41b0-b9ec-828aea6f44ed) ![image](/attachments/2be060ca-1cd4-4329-9ad6-6108ffc49bac) ``` # Публикуем репозиторий №1 http ubconfig set [update] REPOPUBLIC_WEB[/home/public/storage_1]=enable:listing # Публикуем репозиторий №2 ftp ubconfig set [update] REPOPUBLIC_FTP[/home/public/storage_2]=enable ``` ![image](/attachments/f9fe5ba5-8e62-40b1-80d8-0f5235bcf879) На клиенте, подключаем репозитории ``` # Подключаем репозиторий №1 http ubconfig set [update] REPOSITORY[manual_1]='http://10.0.2.15/$repo/$arch' # Подключаем репозиторий №2 ftp ubconfig set [update] REPOSITORY[manual_2]='ftp://10.0.2.15/$repo/$arch' # Включаем управление репозиториями ubconfig set [update] REPOSITORY=enable ``` ![image](/attachments/18a5e9a3-e121-41e1-9fda-19fff440a74a) Проверяем доступ: ``` pacman -Syy pacsift --sync --exact --repo manual_1 pacsift --sync --exact --repo manual_2 ``` ![image](/attachments/3da55eac-644c-4f9c-8e17-3a7fd809e7a9) ### В случае приложения для примера создадим репозиторий storage_3 для FTP ![image](/attachments/62112682-8e94-4d6c-bd98-2ad629920643) На сервере запускаем ubl-settings-update ![image](/attachments/3d98239a-110e-428c-981b-4e26f04c0cbb) Добавляем необходимый репозиторий ![image](/attachments/5eefd0cb-cbfe-4067-845e-570d67b06104) И сохраняем изменения ![image](/attachments/bb33e399-717c-4925-b6a1-5c2b792bea38) Добавляем репозиторий клиенту и проверяем работу: ![image](/attachments/2877299d-efad-4e47-8be4-be5eef93b4f7)
Owner

Ну вот всё работает, в любых режимах должо работать, самое главное смотри, что-бы хранилище было доступно.

Ну вот всё работает, в любых режимах должо работать, самое главное смотри, что-бы хранилище было доступно.
Poster

Проверила, всё работает, закрываю

Проверила, всё работает, закрываю
elenav closed this issue 2 months ago
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: Applications/ubl-settings-update#128
Loading…
There is no content yet.