Primeiro, você deve entender que, se um pacote for substituído durante uma atualização, isso está sendo feito por um motivo válido. Sempre que isso acontecer, você deve olhar atentamente para o changelog desse pacote, há uma boa chance de ele estar sendo atualizado relacionado a alguma vulnerabilidade de segurança. Se for esse o caso, então você deve estar baixando a fonte atualizada e reconstruindo o seu pacote local.
Em qualquer caso, se você quiser forçar um pacote a não ser atualizado, é necessário configurá-lo para o estado hold . Para definir um pacote a ser executado, execute o comando aptitude hold {packagename}
ou, no seu caso, aptitude hold libcurl3
.