A razão para esse padrão é que os scripts de mantenedor nos pacotes Debian tendem a começar set -e, o que faz com que o shell saia assim que qualquer comando (estritamente falando, pipeline, lista ou comando composto) sai com um status diferente de zero. Isso garante que os erros não se acumulem: assim que algo der errado, o script é interrompido.
Nos casos em que um comando no script pode falhar, a adição || truegarante que o comando composto resultante sempre saia com status zero, para que o script não seja interrompido. Por exemplo, remover um diretório não deve ser um erro fatal (impedir que um pacote seja removido); então nós usamos
rmdir ... || true
pois rmdirnão tem uma opção para dizer para ignorar erros.
||:é outra maneira idiomática de escrever isso (:sendo outra entrada na tabela embutida apontando paratrue- mas garantida que é uma embutida mesmo de volta a Bourne; isto dito, para o POSIX sh,truetambém é garantido que ela é embutida - por isso é mais concisão do que eficiência em tempos até remotamente modernos).