O debian atualizará os pacotes que eu construí pessoalmente a partir de suas fontes oficiais?

O debian atualizará os pacotes que eu construí pessoalmente a partir de suas fontes oficiais?

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 updatehoje apt-get -V upgradepara 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

informação relacionada