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

1

Olá e feliz ano novo para todos vocês.

Recentemente eu criei o pacote nginx deb v1.4.4 da fonte backport debian que, é claro, adicionei ao apt sources.list e as coisas correram bem.

Minha pergunta: O debian atualizará pacotes que eu construí pessoalmente de suas fontes oficiais automaticamente? Quero dizer, atualizar os de segurança.

ATUALIZAÇÃO:

Eu corri apt-get update then apt-get -V upgrade hoje para verificar como o debian 7 apt se comportaria .. e é isso que eu 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 de (1.4.4-1 ~ bpo70 + 1 = > 1.4.4-1 ~ bpo70 + 1) , que é basicamente duas versão, mas meu pacote deb instalado tem módulos nginx customizados adicionados ao padrão nginx-full e após a atualização, meus módulos customizados foram todos substituídos pelo padrão debian wheezy backport deb .. Eu criei meu pacote nginx backport deb do backport debian source e instalei o build-deb através do backport também, mas algumas dependências instaladas automaticamente do stable é o que eu vi da saída detalhada.

Você pode me ajudar a evitar isso com um exemplo?

UPDATE

Eu tentei fixar o pacote e não funcionou e aqui está a saída:

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 o seguinte é o nginx da política do apt-cache:

/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 está apto a tentar atualizá-lo e substituí-lo !!

Conteúdo do Sources.list:

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 o nginx-full ..

Mas ambos não conseguem segurar o pacote !!!

    
por Dr.SMS 30.12.2013 / 21:56

2 respostas

3

Eu recomendo que você colida com a versão do pacote. O APT sabe que o pacote não é o mesmo e está tentando instalar o pacote a partir 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 maneira diferente:

Package: nginx-full
Pin: origin ""
Pin-Priority: 999

Isso dará mais prioridade ao pacote instalado localmente.

Se a string de versão do repositório substituir a versão instalada atual e você não tiver nenhuma marcação e alguma versão será lançada, sim, o apt instalará o pacote dos repositórios (esperamos que com o já aplicado patch) se você tiver as fontes corretas.

    
por 30.12.2013 / 22:03
2

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
    
por 31.12.2013 / 11:08