загрузите пакеты для другого распределения с Кв.

Проверьте свою таблицу маршрутизации.

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan1

Ваши wlan1 взаимодействуют через интерфейс, только знает, как достигнуть 192.168.0.0 сетей. У Вас также есть свой wlan1 и eth0 в той же подсети, которая могла вызвать проблемы. Необходимо добавить маршрут к таблице маршрутизации для любых мест назначения, которых Вы хотите достигнуть в своем интерфейсе wlan. Например,

route add -host 65.55.72.135 gw 192.168.0.1 dev wlan1
ping -I wlan1 65.55.72.135

Обратите внимание, что это не позволит Вам направить приложением. Для этого необходимо будет настроить маршрутизацию политики с чем-то как iptables -m owner --uid-owner ping -S src_ip dest_ip команда на самом деле отошлет пакет с источником Вашего wlan1 IP-адреса, но затем направит пакет eth0, потому что следующий транзитный участок является eth0 в таблице маршрутизации. Ваш лучший выбор состоит в том, чтобы поместить wlan1 и интерфейсы eth0 в отдельных подсетях.

3
23.05.2013, 23:23
4 ответа

Базовое задание APT состоит в том, чтобы разрешить зависимости. Таким образом, Вы не можете действительно обвинить его в жалобе на зависимости.

Необходимо будет вызвать его с другой конфигурацией так, чтобы это не смешивало базы данных пакета. Разделить apt.conf и sources.list файлы и для каждого распределения, например.

apt-get -o Dir::Etc::Main=/path/to/precise/apt.conf -d …

с apt.conf содержа, по крайней мере,

Dig::State::status "/path/to/precise/status";
APT::Get::Download-Only "true";

Вы, возможно, нуждаетесь к символьной ссылке или копируете некоторые файлы в /etc/apt в /path/to/precise каталог (в зависимости от того, что Вы имеете в них).

Не работайте склонный - добираются как корень, когда Вы передаете альтернативную базу данных. Если apt-get имеет разрешение изменить Вашу систему, и Вы случайно неправильно конфигурируете что-то или выключаете -d, Вы могли серьезно испортить свою систему. Выполненный apt-get только с полномочиями этому нужно, который, пока Вы только загружаете материал, не включает корень. У Вас должно будет быть достаточно полномочий записать в каталог кэша /var/cache/apt и его содержание; я рекомендую создать группу для этого (addgroup aptcache; chgrp -R aptcache /var/cache/apt; chmod -R g+w /var/cache/apt и добавление себя к нему).

4
27.01.2020, 21:17
  • 1
    Это, вероятно, работало бы, но в первый раз он делает единственную ошибку - и он будет - она собираться оставить свою систему неисправимой путаницей. –  Shadur 16.01.2013, 10:23
  • 2
    @Shadur, Как так? Базы данных разделены. О, да, я забыл упоминать что-то важное: не выполняйте это как корень, таким образом, Вы не можете испортить. –  Gilles 'SO- stop being evil' 16.01.2013, 12:21
  • 3
    Они являются только отдельными, пока он никогда не забывает ни одного из шагов каждый раз, когда он подкачивает между деревьями. –  Shadur 16.01.2013, 12:29
  • 4
    @Shadur, Что шаги? Какая подкачка? Каждый вызов к apt-get независимо. Любой это работает как корень без альтернативы apt.conf, или это не работает как корень и так ничего не может установить. –  Gilles 'SO- stop being evil' 16.01.2013, 12:33

Трудно различить то, что Вы намереваетесь сделать с этими пакетами после загрузки их, которые действительно помогли бы.

Если Вы загружаете эти пакеты для дальнейшей установки в другой машине, и Вы хотите иметь в наличии их локально, я рекомендовал бы создать частичный способный репозиторий для каждого дистрибутива с помощью reprepro. Если у Вас будет много debian/ubuntu систем в Вашей компании, то Вы, вероятно, захотите сделать это так или иначе.

В моей среде у меня есть Python xmlrpc сервер на репозитории, и клиенты отправляют вывод dpkg --get-selections чтобы быть объединенным с частичным пакетом перечисляют на репозитории, помогая сохранить локальный репозиторий в синхронизации. Они - очень простые сценарии, и когда я получу время, я отправлю их на GitHub.

Если необходимо использовать эти пакеты на локальной машине после загрузки, и пакеты не создаются для системы, которую Вы используете, можно хотеть исследовать использование schroot. schroot пакет позволит Вам выполнять a chroot из каждого распределения так, чтобы можно было протестировать код, или независимо от того, что необходимо сделать.

1
27.01.2020, 21:17

Я действительно, ДЕЙСТВИТЕЛЬНО не может рекомендовать достаточно, что Вы выбираете единственное распределение и осуществляете его использование в сети, если Вам особенно не нравится проводить в пять раз больше времени и усилия, удостоверяясь, что все системы являются актуальными и исправленными проблемами безопасности.

По крайней мере, debian Lenny был объявлен концом жизненного цикла почти год назад - больше не будет обновлений системы защиты. Мне не придется сказать Вам, как плохо идея это должно продолжать управлять им.

Я немного менее знаком с жизненным циклом человечности, но я готов держать пари, что 04/11 вариант не совершенствуется больше также.

Кроме того, даже если Вам удается стать склонными сделать то, что Вы спрашиваете, Вы намеренно отключаете столько внутренних гарантий, что единственная ошибка оставит Вашу систему ужасающей путаницей

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

0
27.01.2020, 21:17
  • 1
    Машины Linux тестируют модели на приложения моей компании. Мы желаем максимальной совместимости в различных конфигурациях и дистрибутивах, и вот почему мы должны установить так или иначе старые выпуски конца жизненного цикла. –  iTayb 17.01.2013, 19:53

Вы можете использовать образ докера для дистрибутива, для которого вы хотите загрузить пакеты, и взять их оттуда. SO ответ для получения зависимостей отсюда .

# Get the distro image of choice
docker pull debian:stretch-slim

# Run the image binding the current (host) directory to container
docker run -it --mount type=bind,source="$(pwd)",target=/packages debian:stretch-slim bash

В командной строке докера

# Change to the packages directory
cd packages

# Update your packages list
apt update

# Define what packages (and their dependencies) you want to download
PACKAGES="wget unzip"

# Downloads to `/packages` i.e. your PWS on host
apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests \
  --no-conflicts --no-breaks --no-replaces --no-enhances \
  --no-pre-depends ${PACKAGES} | grep "^\w")
exit
0
27.01.2020, 21:17

Теги

Похожие вопросы