Por favor, não faça várias perguntas em uma.
Em relação à sua primeira pergunta, você deve usar get_distro_information() . get_lsb_information() é usado internamente para carregar substituições de /etc/lsb-release ; get_distro_information() usa isso, junto com outros métodos da classe, para fornecer as informações apropriadas.
Em relação à sua segunda pergunta, se SUDO_USER não estiver realmente presente no ambiente exportado por sudo (execute sudo env para verificar), isso provavelmente significa que sua configuração sudoers exclui a variável do ambiente.