Индекс предупреждение при настройке частного хранилища APT - PullRequest
2 голосов
/ 07 декабря 2011

Я настраиваю частный репозиторий APT для развертывания приложений на кластере серверов. Я установил репозиторий срещением по существу, следуя инструкциям здесь , но используя предварительно сгенерированный ключ GPG.

Однако, я продолжаю получать эту ошибку при запуске обновления apt-get на целевых серверах:

W: Failed to fetch http://domU-xx-xx-xx-xx-xx-xx.compute-1.internal/aptrepo/dists/oneiric/non-free/i18n/Index
No Hash entry in Release file /var/lib/apt/lists/partial/domU-xx-xx-xx-xx-xx-xx.compute-1.internal_aptrepo_dists_oneiric_non-free_i18n_Index

Мне нужно беспокоиться об этом? Как мне это исправить, если я это сделаю?

Ответы [ 3 ]

5 голосов
/ 22 мая 2012

Я какое-то время получал эту проблему, и она терпела неудачу в нашей автоматической сборке, а поиск в Google ничего не дал нам. Мы обнаружили, что эта проблема связана с конфигурацией нашего веб-сервера. Мы строим репо, используя:

reprepro -V --ignore=wrongdistribution -b repository include precise <some-package.changes>

И затем мы сопоставили каталог репозитория с сайтом nginx. Настройка nginx по умолчанию имела следующую конфигурацию, которая причиняла нам боль:

try_files $uri $uri/ index.html;

Это сопоставляло все файлы с ресурсами, а затем все, что не было найдено, было сопоставлено со страницей index.html. Поэтому, когда apt искал dist / main / i18n / Index, он получал HTTP 200, но файл не соответствовал ожидаемому apt, отсюда и ошибка. Мы заменили часть конфигурации в файле try_files:

server {
    ...
    location / {
        ...
        try_files $uri $uri/; # index.html;
        ...
    }
    ...
}

А затем все запросы к * / i18n / Index возвращали некоторый код ошибки HTTP, и затем он не стал пытаться их проанализировать, и проблема исчезла. Не знаю, поможет ли это вам, но это заставило нас 2 часа боли, пытаясь выяснить, что у нас не было проблем с нашими дебами или репо, кроме нашего веб-сервера.

0 голосов
/ 24 октября 2013

Имея те же ошибки, я решил, добавив строки тезиса в .htaccess:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  ## Folowing rule is tested for user-agent 'Debian APT-HTTP/1.3 (0.8.10.3)'
  ## used by apt-get, aptitude and synaptic -> send a 403 answer (Forbidden).
  RewriteCond %{HTTP_USER_AGENT} ^Debian\ APT-HTTP
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^.* - [F,L]
</IfModule>
0 голосов
/ 23 октября 2013

У меня просто была такая же проблема, но с Apache. Приведенное выше решение можно легко перенести в файл .htaccess:

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteRule (.*) $1
</IfModule>
...