Eu acho que o / bin / true tem que ser o mais antigo que funciona ..
Bem, você pode chamar um arquivo de zero bytes de binário?
touch /tmp/old_true
chmod 755 /tmp/old_true
/tmp/old_true
echo $?
Em uma discussão sobre compatibilidade com versões anteriores no kernel do Linux e ABIs da GUI , Alan Cox observa que " meu kernel 3.6rc ainda executará um binário Rogue criado em 1992. O X é compatível com aplicativos muito mais antigos que o Linux. "
Então, quão compatíveis com versões anteriores são as interfaces binárias do aplicativo do Linux?
Qual é o executável binário mais antigo, realmente escrito e compilado anos atrás, que ainda será executado em uma distribuição Linux moderna de propósito geral?
Tenho certeza de que todas essas palavras estão sujeitas a interpretação. Minha principal noção é que não é justo executá-lo através de um emulador ou máquina virtual especializada ou tradutor binário, mas algumas dessas coisas provavelmente estão embutidas em algumas distros modernas, e aprender sobre isso é parte da diversão aqui.
Variações por arquitetura de hardware, formato de arquivo executável , idioma e principais dependências de carregamento dinâmico da biblioteca também são de interesse.
Note que, quando as regras estão relaxadas, aqui está um exemplo de ir mais longe. A página da Web de 2002 A execução de executáveis no moderno Red Hat Linux fala sobre como usar realmente antigos executáveis Linux pré-ELF a.out-format depois de fazer modprobe binfmt_aout
e obter /lib/ld.so
e libc.so.4
Novamente, isso é de interesse periférico para essa questão, mas ilustra o tipo de coisas que podem estar envolvidas quando se busca mais. / p>
Atualize para você fãs do BSD, é ótimo ver que o iBCS2 estava suportando aplicativos antigos do Xenix (como o zork / dungeon-2.5.6 de 1990) e aplicativos do SCO OpenServer 5.0.x recentemente como o NetBSD 4.0.1 (de 2008): iBCS2 & NetBSD | Diversão com a virtualização . Mas a mesma coisa parece quebrada no NetBSD 5.0.x.
Atualização 2 : um ano depois, depois de receber um selo "Anunciante" para essa pergunta, ainda estou procurando uma resposta. E para esclarecer, uma vez que isso é sobre APIs, deve ser um binário "real" (comprimento diferente de zero), que ainda pelo menos funciona na maior parte do modo original.
Eu acho que o / bin / true tem que ser o mais antigo que funciona ..
Bem, você pode chamar um arquivo de zero bytes de binário?
touch /tmp/old_true
chmod 755 /tmp/old_true
/tmp/old_true
echo $?
So just how backwards-compatible are the Linux Application binary interfaces?
Você pode ver o relatório de análise do ABI do kernel Linux aqui (2.6.36-4.4. 5 versões):
OmesmorelatórioquevocêpodeencontrarparaváriasbibliotecasdebasedoLinuxem
Muitomaisrelatóriosparacercade700bibliotecasLinuxquevocêpodeencontrarno
Tags compatibility history linux elf