instalar o composer no debian buster

sudo apt install php-cli php-zip wget unzip
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
php -r "unlink('composer-setup.php');"

atualização do debian 9 (stretch) para o debian 10 (buster) num só comando

apt update -y && apt upgrade -y && apt full-upgrade -y && apt --purge autoremove -y && cp -v /etc/apt/sources.list /root/ && cp -rv /etc/apt/sources.list.d/ /root/ && sed -i 's/stretch/buster/g' /etc/apt/sources.list && sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/* && apt update -y && apt upgrade -y && apt full-upgrade -y && apt --purge autoremove -y && reboot

instalação de pacotes de versões distintas no debian e gestão de prioridades

consideremos que neste momento estamos a utilizar a versão estável do debian (buster) mas que pretendemos instalar um pacote específico (por ex: iputils-ping) da versão testing (bullseye) (este tipo de ação tem que ser sempre devidamente ponderado na medida em que determinados pacotes, pela quantidade de dependências que têm, poderão levar a uma situação de inconsistência do sistema).

começamos por adicionar o repositório da versão testing:
printf 'deb http://ftp.pt.debian.org/debian/ bullseye main contrib non-free' > /etc/apt/sources.list.d/bullseye.list