Создание зеркала: //mirrors.ubuntu.com очень доступно

Никакое задание и никакой клиент не стоят рабочего PHP 4, если они не платят Вам огромную сумму денег, поскольку рабочий PHP 4 налагает большую угрозу безопасности, и в этом случае Вы не будете спрашивать здесь.

Изолированная установка PHP 4 так, как Вы можете и помещать его в отдельный сегмент сети предпочтительно позади некоторого веб-прокси, где можно санировать запросы, прибывающие из сети для общие уязвимости (nginx, лак, и т.д.).

необходимо также удостовериться, что выполнение код PHP имеет как можно меньше полномочий. Имейте другого пользователя для владельца .php файлов и различных интернет-пользователей и сожмите полномочия записи как можно больше, удостоверившись, что файлы в записываемых местоположениях не могут быть выполнены (или оболочкой или с PHP).

машина рабочий PHP 4 успешно подвергнется нападению, или это уже было, если это не firewalled от широкой публики.

мне жаль говорить, но никто в их правильном уме не предоставит PHP 4 пакета, поскольку PHP 4 был EOLed 7 лет 8 месяцев назад: https://secure.php.net/eol.php, таким образом, я - испуганное выполнение из источников, является Вашей единственной опцией.

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

26
задан 18.05.2020, 05:34

6 ответов

Я ценю весь вклад в этот вопрос, но так как никто не придумал простого решения, которое соответствовало бы нашим обстоятельствам, я решил решить проблему самостоятельно.

Я создал инструмент (специально для Ubuntu), который я назвал apt-spy2.

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

Я не делаю предположений о том, является ли выбранный сервер обязательно самым близким и самым быстрым. Я не делаю пинг или трюки с GEO DNS - но пока это работает, когда что-то ломается.

Как это работает - в двух словах:

  1. Я использую http://mirrors.ubuntu.com или список зеркал панели запуска для получения серверы.
  2. Я делаю простую проверку каждого (для кода статуса ответа HTTP).
  3. LBNL, я обновляю /etc/apt/sources.list.

Обратите внимание: Это предполагает, что люди играют красиво и ставят дополнительные зеркала (например, сторонние репозитории в /etc/apt/sources.list.d. Но я думаю, это означает, что есть место для улучшений.

] Вы можете получить этот инструмент следующим образом:

$ [sudo] gem install apt-spy2

Cli поставляется с list, check, fix и help (с расширенной информацией о том, как использовать его).

Я пытался документировать как можно больше в проекте README .

Текущая версия очень консервативна 0.5.0.

[ 1128] Код с открытым исходным кодом и лицензия либеральная. И я принимаю все взносы.

4
ответ дан 18.05.2020, 05:36
  • 1
    @Braiam можно получить этот инструмент как так: драгоценный камень sudo устанавливает склонный-spy2 – user32141 18.05.2020, 05:37
  • 2
    Вы загрузил это на репозитории человечности? – Pwnna 18.05.2020, 05:37
  • 3
    @Braiam I didn' t упаковывают его, но я приветствовал бы его, если бы кто-то сделал это.:) – Jason Plank 18.05.2020, 05:38
  • 4
    @RaduRДѓdeanu I' m выяснение, если он загрузил его, начиная с I' m заинтересованный упаковкой чего-то к Debian. – ManuelSchneid3r 18.05.2020, 05:38
  • 5
    @Braiam Btw, это вряд ли будет работать с Debian.; (Только работы с Ubuntu. – Howard Pinsley 18.05.2020, 05:38

В Debian 6.0.4 была такая команда:

apt-spy

Это помогло автоматически найти следующий ближайший доступный сервер и сгенерировать a new sources.list

В Ubuntu эта команда, кажется, не существует?

Она все еще существует в Debian 7.0 wheezy:

https://launchpad.net / debian / wheezy / + source / apt-spy / + copyright

Вы можете скачать свой пакет * .deb здесь:

http: //packages.debian. org / sid / apt-spy

... все еще ищет источники ...

Вам, очевидно, нужна Debian-7.0-Installation для получения исходного кода после редактирования списка источников с записью:

deb-src http://http.debian.net / debian wheezy main

Затем, после обновления sudo apt-get, вы просто всасываете код:

sudo apt-get source apt-spy [ 1115]

2
ответ дан 18.05.2020, 05:34
  • 1
    @Till Делают Вы имеете в виду: Создайте его...! или Созданный это...? - Я забочусь в следующий раз - теперь полная луна здесь и является любящей выпить... – h2ooooooo 18.05.2020, 05:34
  • 2
    @Till - это - всегда что-то с битом больше рытья..., как только Linux становится более требовательным. – Suresh Dhakal 18.05.2020, 05:35
  • 3
    Вы быстры! – hakre 18.05.2020, 05:35
  • 4
    Спасибо за предложение способный шпион выглядит великим действительно. I' m не уверенный, что работы хорошо. Каждый раз I' ve установил материал debian в человечность, это повредилось рано или поздно из-за других зависимостей. – Ziezi 18.05.2020, 05:36
  • 5
    Сборка это для человечности: rubygems.org/gems/apt-spy2 и github.com/lagged/apt-spy2 – Reinaldo Guedes 18.05.2020, 05:36

Я написал скрипт Python под названием apt-select , который будет служить альтернативой CLI методу GUI.

Сценарий запрашивает каждое зеркало через TCP, печатает на стандартные зеркала с наименьшей задержкой и генерирует новый файл sources.list. Есть также несколько опций, которые позволяют вам выбирать из списка ранжированных зеркал и получать информацию, например, когда зеркало было обновлено в последний раз и его пропускную способность.

1
ответ дан 18.05.2020, 05:35

Вы можете попробовать настроить свое собственное зеркало Ubuntu. Таким образом, обновления будут локальными.

apt-mirror требуется высокоскоростное подключение к Интернету и много дискового пространства

Настроить собственное зеркало Ubuntu очень просто, используя apt-mirror.

1) Зайдите в репозиторий apt-mirror. Создайте резервную копию файла sources.list следующим образом:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.old

2) Отредактируйте файл sources.list следующим образом:

gksudo gedit /etc/apt/sources.list

3) И вставьте следующее в новую строку:

deb http://apt-mirror.sourceforge.net/ apt-mirror

4) Давайте обновим индекс пакета

sudo apt-get update

5) И установим apt-mirror

sudo apt-get install apt-mirror

6) Apt-mirror теперь настроен Итак, давайте расскажем, какие серверы для зеркалирования:

sudo cp /etc/apt/mirror.list /etc/apt/mirror.list.old
gksudo gedit /etc/apt/mirror.list

Конфигурация по умолчанию поместит ваши скачанные файлы в папку / var / spool / apt-mirror. Вот как выглядит файл mirror.list:

############# config ##################
#
set base_path /media/silo/repo
#
# if you change the base path you must create the directories below with write privlages
#
# set mirror_path $base_path/mirror
# set skel_path $base_path/skel
# set var_path $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch <running host architecture>
set nthreads 20
set tilde 0
#
############# end config ##############
deb http://archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid -updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid -backports main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid -security main restricted universe multiverse
clean http://archive.ubuntu.com/ubuntu

он отражает только двоичные пакеты, но если вы хотите исходные пакеты, вы должны вставить соответствующие строки. Они обычно принимают вид:

deb-src http://gh.archive.ubuntu.com/ubuntu/ lucid main restricted

7) Теперь запустите apt-mirror. Это займет много времени. Не волнуйтесь, если вы не можете загрузить все файлы за один раз, apt-mirror может возобновить загрузку (убить его комбинацией клавиш Ctrl + C и перезапустить его когда хочешь продолжить). Хорошо, запустите apt-mirror примерно так:

sudo apt-mirror /etc/apt/mirror.list

Также посмотрите Как создать локальное зеркало Debian / Ubuntu с помощью apt-mirror

Source : Используйте Apt-mirror для создания собственного зеркала Ubuntu

1
ответ дан 18.05.2020, 05:35
  • 1
    Спасибо за ответ и it' s большой ресурс для установки зеркала и I' ve полагал что, но тогда I' d нужен этот setuo по крайней мере в 3 различных местах. Я знаю, что я придирчив здесь, но я все еще чувствую, что mirrors.ubuntu.com должен работать.:) – Thomas Kekeisen 18.05.2020, 05:36
  • 2
    @till mirrors.ubuntu.com никогда не будет решать mirrors.ubuntu.com, но сервер, который является самым близким Вам. Проблема состоит в том, что сервер, который это разрешает, является ненадежным. Ваша лучшая игра использует надежный сервер из официального списка. – bohoej 18.05.2020, 05:36
  • 3
    @Braiam какая-либо идея, почему ненадежные зеркала возвращаются им тогда? – Mohini 18.05.2020, 05:36
  • 4
    BTW, удостоверьтесь, что отметили потребность большого количества пространства в HD для загрузки полного зеркала;) – Liuqing Hu 18.05.2020, 05:37
  • 5
    Если не изменяет память, меня право, apt-mirror доступно в репозиториях человечности. – Gloson 18.05.2020, 05:37

Лично я считаю, что лучший способ выбрать лучшие зеркала репозиториев Ubuntu - это использовать метод GUI:

download server

Теперь, чтобы улучшить ситуацию, описанную в вопрос, вам нужно как-то установить некоторые правила. Эти правила должны действовать по mirrors.ubuntu.com. Я могу предложить следующие правила:

  • составить список лучших / предпочтительных зеркал; Есть много зеркал, как вы можете видеть здесь , здесь или здесь
  • , если вы нашли хорошее зеркало, добавьте его к list
  • , если зеркало иногда было сломано или сломано, это означает, что оно не является хорошим зеркалом, и вы должны удалить его из списка
  • , которое вы можете использовать netselect , apt-spy или apt-fast
  • и другие, в зависимости от ваших требований.

Далее, чтобы увидеть, как вы можете обойти это, я могу дать вам метод, описанный шаг за шагом с тремя примерами скриптов bash. Первый сценарий использует зеркала из страны, в которой вы находитесь в данный момент, вместо mirrors.ubuntu.com/mirrors.txt (для каждой страны есть текстовый файл с ассоциированными зеркалами; см. http://mirrors.ubuntu.com/ ) :

  • В терминале запустите mkdir -p bin - эта команда создаст каталог bin в вашей папке home, если у вас его еще нет. [1142 ]
  • После запуска gedit ~/bin/change_sources.sh - это создаст новый файл change_sources.sh в gedit.
  • Скопируйте и вставьте один из следующих сценариев в новый созданный файл:
#!/bin/bash

export DISPLAY=:0

if ! [ "`ping -c 1 google.com`" ]; then
    notify-send "No internet connection"
    exit 0  
fi

ip=$(curl -s 'http://ipecho.net/plain')
country=$(curl -s 'http://geoiplookup.net/geoapi.php?output=countrycode' \
    | awk '{ print toupper($2) }')
release=$(lsb_release -sc)

file="/etc/apt/sources.list"
old_file="/etc/apt/sources.list.old"

line=$(head -n 1 $file)
new_line="## Ubuntu Repos for $ip"

if [ "$line" == "$new_line" ] ; then
    exit 0
fi

cp -f $file $old_file

printf "$new_line
deb mirror://mirrors.ubuntu.com/$country.txt $release main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/$country.txt $release-updates main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/$country.txt $release-backports main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/$country.txt $release-security main restricted universe multiverse
" > $file

notify-send "$file has been changed" "The old file has been put in $old_file"

exit 0

или что-то похожее на то, что можно найти на http: // repogen .simplylinux.ch / :

#!/bin/bash

export DISPLAY=:0

if ! [ "`ping -c 1 google.com`" ]; then
    notify-send "No internet connection"
    exit 0  
fi

ip=$(curl -s 'http://ipecho.net/plain')
country=$(curl -s 'http://geoiplookup.net/geoapi.php?output=countrycode' \
    | awk '{ print tolower($2) }')
release=$(lsb_release -sc)

file="/etc/apt/sources.list"
old_file="/etc/apt/sources.list.old"

line=$(head -n 1 $file)
new_line="## Ubuntu Main Repos for $ip"

if [ "$line" == "$new_line" ] ; then
    exit 0
fi

cp -f $file $old_file

printf "$new_line
deb http://$country.archive.ubuntu.com/ubuntu/ $release main restricted universe  multiverse
deb-src http://$country.archive.ubuntu.com/ubuntu/ $release main restricted universe multiverse

## Ubuntu Update Repos for $ip
deb http://$country.archive.ubuntu.com/ubuntu/ $release-security main restricted universe multiverse
deb http://$country.archive.ubuntu.com/ubuntu/ $release-updates main restricted universe multiverse
deb-src http://$country.archive.ubuntu.com/ubuntu/ $release-security main restricted universe multiverse
deb-src http://$country.archive.ubuntu.com/ubuntu/ $release-updates main restricted universe multiverse
" > $file

notify-send "$file has been changed" "The old file has been put in $old_file"

exit 0

или сценарий, использующий netselect (скачать из здесь , установить инструкции здесь ) как ] izx объяснил очень хорошо в этот ответ :

#!/bin/bash

export DISPLAY=:0

if ! [ "`ping -c 1 google.com`" ]; then
    notify-send "No internet connection"
    exit 0  
fi

url=$(netselect \
    `wget -q -O- https://launchpad.net/ubuntu/+archivemirrors \
        | grep -P -B8 "statusUP|statusSIX" \
        | grep -o -P "(f|ht)tp.*\"" \
        | tr '"\n' '  '` \
    | awk '{print $2}')
release=$(lsb_release -sc)

if [ "$url" == "" ] ; then
    exit 0
fi

file="/etc/apt/sources.list"
old_file="/etc/apt/sources.list.old"

cp -f $file $old_file

printf "## Ubuntu Best Repos
deb http://extras.ubuntu.com/ubuntu $release main
deb-src http://extras.ubuntu.com/ubuntu $release main
deb $url $release main universe restricted multiverse
deb http://security.ubuntu.com/ubuntu/ $release-security restricted universe main multiverse
deb $url $release-updates restricted universe main multiverse
" > $file

notify-send "$file has been changed" "The old file has been put in $old_file"

exit 0
  • Сохраните файл и закройте его.
  • Вернитесь в терминал и запустите: chmod +x ~/bin/change_sources.sh - предоставить доступ для выполнения скрипта.
  • Просто для проверки, чтобы запустить новый скрипт, наберите терминал ~/bin/change_sources.sh. Это даст вам ошибку, потому что вы не имеете права редактировать /etc/apt/sources.list. Итак, используйте sudo ~/bin/change_sources.sh
  • Отредактируйте файл crontab пользователя root с помощью команды sudo crontab -e и добавьте следующую строку:
@hourly /home/$USER/bin/change_sources.sh  
#change $USER with your user name
  • Я установил задание cron за каждый час, но вы можете изменить, как вы хотите или как вы думаете, лучше. См. http://en.wikipedia.org/wiki/Cron в этом смысле.
  • Сохраните файл и проверьте новую запись в crontab с помощью sudo crontab -l.

ПРИМЕЧАНИЕ. Чтобы отменить изменения, внесенные этим сценарием, удалите задание cron и следуйте указаниям из рисунка выше или используйте следующую команду в терминале:

cp -f /etc/apt/sources.list.bak /etc/apt/sources.list
[ 1158] С этого момента файл будет динамически изменяться после обнаружения изменения IP-адреса.

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

10
ответ дан 18.05.2020, 05:36

Возможно, вы не используете решение, которое вам нравится, но настройка локального кэша для файлов .deb должна быть идеальной, когда вы загружаете несколько МБ пакетов (в основном, я уверен, что они одинаковы) и поскольку вы загружаете из того же пакета. сервер, вы можете пожертвовать ПК, чтобы сделать кеш и сделать сервер менее загруженным.

Процедура

Вы должны иметь возможность установить apt-cacher на машине, на которой много свободного места на жестком диске (она вам понадобится). Вы можете настроить это, используя Руководство по серверу Apt-cacher , но давайте сделаем быстрое резюме.

  1. Установить apt-cacher

    sudo apt-get установить apt-cacher apache2

  2. Редактировать /etc/default/apt-cacher и установить значение autostart в 1 поэтому ваш кеш запускается при включении машины.
  3. Перезапустите apache sudo /etc/init.d/apache2 restart
  4. Проверьте свой кэш, используя http://ip-of.your.cache:3142/apt-cacher.
  5. Вы должны разрешить хосту использовать кеш, поэтому отредактируйте /etc/apt-cacher/apt-cacher.conf и найдите строку allowed_hosts. Вы можете установить подсети, такие как 192.168.0.0/24 или просто * для всех хостов
  6. Ищите быстрый и надежный сервер вокруг . Вы можете использовать apt-spy для этого (эта команда может занять несколько часов, так как она также проверяет скорость каждого сервера).
  7. В ваших клиентах у вас есть две опции:

    • установите sources.list следующим образом:

    deb http: // ip- of.your.cache: 3142 / the.server.you.like / ubuntu / lucid главная ограниченная вселенная мультивселенная

    Измените ip-of.your.cache для ip вашего кеша и the.server.you.like для хоста имя сервера, который вы будете использовать. Вы можете использовать несколько строк.

    • Или установите apt для использования прокси: отредактируйте /etc/apt/apt.conf.d/01proxy и добавьте строку:

    Acquire :: http :: Proxy " http: // ip-of .your.cache: 3142 ";

2
ответ дан 18.05.2020, 05:37
  • 1
    хорошо тогда: способный шпион-a Европа – Kishor Kundan 18.05.2020, 05:38
  • 2
    При использовании способного шпиона во всем мире, это продлилось бы некоторое время..., но можно использовать эту команду с ограничением к, например, Европой: способный шпион-d тестирующий-a Европа – Snilleblixten 18.05.2020, 05:38
  • 3
    @dschinn1001 -d testing пахнет как Debian. – Asad Khan 18.05.2020, 05:38
  • 4
    " downvote"? - я не сделал никакого downvote? - это иногда происходит, что я нажимаю случайно своей мышью - я никогда не вниз-голосую с целью! так проголосовавший Вы! спасибо. – Júlio Paulillo 18.05.2020, 05:39

Теги

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