
Olá e feliz ano novo para todos vocês..
Recentemente eu construí o pacote nginx deb v1.4.4 a partir da fonte backport do debian que, é claro, adicionei ao apt sources.list e tudo correu muito bem.
Minha pergunta:O debian atualizará automaticamente os pacotes que eu construí pessoalmente a partir de suas fontes oficiais? Quero dizer, atualizar os de segurança.
ATUALIZAR:
Eu corri apt-get update
hoje apt-get -V upgrade
para verificar como o debian 7 apt se comportaria.. e foi isso que consegui:
root@debian-lab:~/nginx-1.4.4-packages# apt-get -V upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
nginx-full (1.4.4-1~bpo70+1 => 1.4.4-1~bpo70+1)
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/464 kB of archives.
After this operation, 9,027 kB disk space will be freed.
Do you want to continue [Y/n]?
Como você pode ver, o apt está tentando atualizar do(1.4.4-1~bpo70+1 => 1.4.4-1~bpo70+1), que são basicamente duas versões idênticas, mas meu pacote deb instalado tem módulos nginx personalizados adicionados ao nginx-full padrão e após a atualização, todos os meus módulos personalizados desapareceram e foram substituídos pelo debian wheezy backport deb padrão. pacote backport deb da fonte backport debian e instalei o build-deb através do backport também, mas algumas dependências foram instaladas automaticamente a partir do estábulo, foi o que vi na saída detalhada.
Você pode me ajudar a evitar isso com um exemplo?
ATUALIZAR
Tentei fixar o pacote e não funcionou e aqui está o resultado que obtive:
apt-cache policy nginx-full
nginx-full:
Installed: 1.4.4-1~bpo70+1
Candidate: 1.4.4-1~bpo70+1
Version table:
1.4.4-1~bpo70+1 0
100 http://ftp.uk.debian.org/debian/ wheezy-backports/main amd64 Packages
*** 1.4.4-1~bpo70+1 0
100 /var/lib/dpkg/status
1.2.1-2.2+wheezy2 0
500 http://ftp.uk.debian.org/debian/ wheezy/main amd64 Packages
500 http://security.debian.org/ wheezy/updates/main amd64 Packages
E a seguir está a política do apt-cache nginx:
/etc/apt/preferences.d# apt-cache policy nginx
nginx:
Installed: 1.4.4-1~bpo70+1
Candidate: 1.4.4-1~bpo70+1
Package pin: 1.4.4-1~bpo70+1
Version table:
*** 1.4.4-1~bpo70+1 1001
100 http://ftp.uk.debian.org/debian/ wheezy-backports/main amd64 Packages
100 /var/lib/dpkg/status
1.2.1-2.2+wheezy2 1001
500 http://ftp.uk.debian.org/debian/ wheezy/main amd64 Packages
500 http://security.debian.org/ wheezy/updates/main amd64 Packages
Mas ainda assim o apt está tentando atualizá-lo e substituí-lo!!
Conteúdo da lista de fontes:
deb http://ftp.uk.debian.org/debian/ wheezy main
deb-src http://ftp.uk.debian.org/debian/ wheezy main
deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main
# wheezy-updates, previously known as 'volatile'
deb http://ftp.uk.debian.org/debian/ wheezy-updates main
deb-src http://ftp.uk.debian.org/debian/ wheezy-updates main
# Wheezy Backports repository
deb http://ftp.uk.debian.org/debian wheezy-backports main
deb-src http://ftp.uk.debian.org/debian wheezy-backports main
Eu tentei fixar uma vez o nome do pacote 'nginx' e outra vez com nginx-full.
Mas ambos não conseguem segurar o pacote!!!
Responder1
Eu recomendo que você altere a versão do pacote. O APT sabe que os dois pacotes não são iguais e está tentando instalar o pacote de fontes confiáveis. dch -i
é tudo o que você precisa, basta adicionar uma breve descrição e reconstruir o pacote.
Você também pode fixar o pacote de forma diferente:
Package: nginx-full
Pin: origin ""
Pin-Priority: 999
Isto dará mais prioridade ao pacote instalado localmente.
Se a string da versão do repositório substituir a versão atual instalada e você não tiver nenhuma fixaçãoealguma versão for lançada, sim, o apt irá instalar o pacote dos repositórios (espero que com o patch já aplicado) se você tiver as fontes corretas.
Responder2
Se você fixar o pacote, o apt-get não tentará atualizá-lo.
Para fixar o pacote, crie um arquivo em /etc/apt/preferences.d, por exemplo, /etc/apt/preferences.d/nginx
Coloque isso no arquivo:
Package: nginx
Pin: version 1.4.4-1~bpo70+1
Pin-Priority: 1001