Existem algumas diferenças entre Lex e Flex, mas é necessário abusar de Lex para encontrar problemas com o Flex. (Eu tenho um programa que abusa de Lex e, portanto, não funciona com o Flex.) Isso é principalmente na área de procura de entrada; em Lex, você pode fornecer seu próprio código de entrada e modificar o fluxo de caracteres; O Flex não permite que você faça isso.
Yacc e Bison são bastante compatíveis, embora Bison tenha alguns truques extras que ele pode fazer.
Você provavelmente não consegue encontrar cópias legítimas (das versões original e AT&T) de Lex e Yacc para instalar no Ubuntu. Eu não diria necessariamente que é impossível, mas não estou ciente disso. Flex e Bison estão prontamente disponíveis e são equivalentes para a maioria dos propósitos. Você também pode encontrar vários programas alternativos e aproximadamente equivalentes no mundo do BSD.
Lex e Yacc são mantidos pelas licenças Unix SVRx - empresas como IBM (AIX), HP (HP-UX) e Sun (Solaris) têm versões modificadas de Lex e Yacc sob seu comando. A MKS também fornece MKS Lex e MKS Yacc; no entanto, o Yacc tem pelo menos algumas extensões não padrão.
Flex e Bison são gratuitos. (AT&T) Lex e Yacc não são.