Por que linguagens de programação posso supor em um servidor Linux aleatório por padrão?

6

Existem muitas distribuições Linux por aí e todas possuem pacotes diferentes instalados por padrão.

Quais idiomas geralmente são instalados por padrão?

Eu sei que é possível instalar novos pacotes, mas alguns administradores não gostam disso.

Atualmente, eu diria: (Edit: Eu adicionei algumas respostas. Obrigado)

  • Bash
  • C (executado, mas sem compilação)

Geralmente, fornece idiomas  - Python  - Perl

Ferramentas (não idiomas)

  • grep
  • fazer
  • sed
  • yacc
por ayckoster 23.06.2011 / 12:54

4 respostas

4

Você não pode presumir que Perl ou Python estejam instalados, mesmo que eles geralmente sejam. Por exemplo, distribuições semelhantes a redhat geralmente instalam o Python, mas outras distribuições geralmente não o fazem.

Você deve segmentar distribuições específicas se isso for um problema - ou então você terá que criar seu próprio (por exemplo, python) e enviá-lo você mesmo - esta é a única maneira de garantir que ele esteja disponível. Na verdade, se você está escrevendo um software não trivial que precisa ser portátil para muitas distros, provavelmente é necessário enviar seu próprio Python.

    
por 23.06.2011 / 21:00
5

O mínimo que você pode esperar encontrar em qualquer sistema unix que não seja antigo ou incorporado é POSIX / Singe UNIX . Especificamente, todos os atuais unices estão em conformidade com o POSIX: 2004, a.k.a. Um único Unix número 6 . Isso te dá sh, sed e awk como linguagens de programação.

Se pacotes de desenvolvimento estiverem instalados (o que eles geralmente não estão em um servidor), você pode fazer desenvolvimento com cc (compilador C), lex, yacc, make; mas além de fazer isso não é útil nas máquinas que você vai implantar seu aplicativo, apenas em máquinas de desenvolvimento.

Se você acredita que o Linux, a maioria das distribuições segue o Linux Standard Base até certo ponto. O LSB vai além do POSIX. A especificação principal inclui um tempo de execução C com suporte para multithreading, NSS, PAM, ncurses, libz, SSL e mais algumas bibliotecas. O LSB não requer bash, apenas um POSIX sh que pode ser ash ou ksh, mas, na prática, a maioria das distribuições Linux não embarcadas distribui o bash como parte da instalação padrão. A especificação de idiomas inclui Perl e Python. Na prática, nem todas as distribuições fazem com que o suporte LSB completo faça parte de sua instalação padrão, mas geralmente é possível afirmar que, se for especificado pelo LSB (mas não na especificação de desktop LSB, obviamente), ele deve ser instalado em um servidor Linux .

Em outros sistemas, o Perl está frequentemente disponível. O Python não é tão comum, mas está ganhando popularidade. Você pode muito bem contar com bash ou pdksh (mas nem sempre; o IIRC NetBSD tem apenas cinza em sua instalação padrão). Para linguagens compiladas, você sempre encontrará um tempo de execução C e quase sempre encontrará um tempo de execução C ++.

    
por 25.06.2011 / 23:01
1

Make e yacc podem não estar lá. Dependendo se você está ou não em sistemas embarcados, o bash pode não estar lá também. Code to sh, e Perl se você quiser ir além disso (não consigo pensar em uma única distro que não venha com Perl).

    
por 23.06.2011 / 22:00
0

Como muitos outros já disseram, depende da sua distro. Por exemplo, se você tem o Fedora, você provavelmente tem o seguinte:

  • C / gcc
  • C ++ / g ++
  • perl
  • python
  • fazer
  • e os componentes padrão do Linux / Unix

Para descobrir quais linguagens de programação estão no seu sistema, digite:     linguagem k homem E para descobrir que utilitários / ferramentas / misc você tem em seu sistema, digite:     nome do homem -k ou:     nome do homem

    
por 31.10.2016 / 04:43

Tags