O Ubuntu oferece meios convenientes para compilar um pacote em sua própria máquina. No entanto, não há como verificar se o executável em um pacote binário que você baixou foi obtido a partir desse código-fonte. O processo de assinatura usado pelo Ubuntu reduz substancialmente o risco de adulteração dos pacotes por terceiros, mas você ainda precisa confiar que nenhum código nocivo foi adicionado antes da compilação que não se reflete no código fonte para download.
A razão é que é tremendamente difícil obter exatamente os mesmos binários que existem nos pacotes compilados, pois eles dependem da versão precisa do compilador, de suas opções e provavelmente também existem alguns caminhos ou variáveis de ambiente compiladas no binário. Portanto, você não será capaz de obter exatamente o mesmo binário ao se compilar, o que "verificaria" o binário baixado.
Na verdade, existe uma pequena comunidade de pesquisa em torno precisamente desse problema - como tornar a compilação reproduzível.
Dito isto, uma comparação manual de um binário baixado e um auto-compilado pode detectar código adicionado / modificado, portanto, seria arriscado para alguém que oferece binários e o código-fonte ocultar algo nos binários, pois isso pode ser detectado.
Mas também há o problema de confiar no compilador, como já mencionado ...
apt-get source
ou usá-lo para compilar seu próprio código. Veja esta pergunta: askubuntu.com/questions/28372/…