Jakie języki programowania mogę domyślnie założyć na losowym serwerze Linux?

7

Istnieje wiele dystrybucji Linuksa i wszystkie mają domyślnie zainstalowane różne pakiety.

Jakie języki są zazwyczaj instalowane domyślnie?

Wiem, że można instalować nowe pakiety, ale niektórym administratorom to się nie podoba.

Obecnie zakładam: (Edytuj: Dodałem kilka odpowiedzi. Dzięki)

  • Grzmotnąć
  • C (uruchom, ale bez kompilacji)

Często dostarczane języki - Python - Perl

Narzędzia (nie języki)

  • grep
  • robić
  • sed
  • Yacc
ayckoster
źródło
dodaj awkdo swojej listy
3
Python jest dość powszechny.
2
/ bin / sh .. najlepszy. sed jest również uważany za „język”. Za pomocą sh, awk, sed możesz rządzić światem.
sdolgy
na środowisko POSIX Docs wspomnieć standardowych narzędzi wiersza poleceń, takich jak grep, make, seda nawet yacc.
Vlad
1
Nawet jeśli poszczególne języki są wspólne, to która wersja może się znacznie różnić, szczególnie w okresach, gdy zachodzą duże zmiany wersji. Nawet szczególnie niewielkie zmiany mogą powodować problemy, na przykład poleganie na nowych funkcjach Pythona w wersjach 2.7 lub 3.1. PHP jest dość powszechnym językiem również na serwerach Linux, przynajmniej tych, które obsługują serwer WWW.
afrazier

Odpowiedzi:

4

Nie można zakładać, że Perl lub Python są zainstalowane, nawet jeśli często. Na przykład redhatopodobne dystrybucje zwykle instalują Pythona, ale inne dystrybucje zwykle nie.

Powinieneś celować w określone dystrybucje, jeśli jest to problem - albo będziesz musiał zbudować własny (np. Python) i sam go wysłać - to jedyny sposób, aby zagwarantować, że jest dostępny. W rzeczywistości, jeśli piszesz nietrywialne oprogramowanie, które musi być przenośne na wiele dystrybucji, prawdopodobnie konieczne jest dostarczenie własnego Pythona.

MarkR
źródło
Dystrybucje podobne do Debiana instalują również Python.
CarlF,
6

Minimum, jakiego można się spodziewać na dowolnym systemie uniksowym, który nie jest antyczny ani osadzony, to POSIX / Singe UNIX . W szczególności wszystkie obecne jednorożce są w większości zgodne z POSIX: 2004, znanym również jako Single Unix numer 6 . To daje sh, sed i awk jako języki programowania.

Jeśli zainstalowane są pakiety programistyczne (których często nie ma na serwerze), programowanie można wykonać za pomocą cc (kompilator C), lex, yacc, make; ale oprócz tego nie są one przydatne na komputerach, na których będziesz wdrażać swoją aplikację, tylko na komputerach programistycznych.

Jeśli założysz Linuksa, większość dystrybucji w pewnym stopniu jest zgodna z Linuksem Standard Base . LSB wykracza poza POSIX. Szczegółowy rdzeń zawiera wykonawczego C z obsługą wielowątkowości NSS PAM, ncurses libz, SSL, oraz kilka innych bibliotekach. LSB nie wymaga bash, tylko POSIX sh, który może być ash lub ksh, ale w praktyce większość niewbudowanych dystrybucji Linuksa dostarcza bash jako część domyślnej instalacji. Specyfikacja języków obejmuje Perl i Python. W praktyce nie wszystkie dystrybucje włączają pełną obsługę LSB do domyślnej instalacji, ale ogólnie można zrobić dobry przypadek, że jeśli jest to określone przez LSB (ale oczywiście nie w specyfikacji pulpitu LSB), powinno zostać zainstalowane na serwerze Linux .

W innych systemach Perl jest bardzo często dostępny. Python nie jest tak powszechny, ale zyskuje popularność. Możesz liczyć na bash lub pdksh (ale nie zawsze; IIRC NetBSD ma tylko ash w domyślnej instalacji). W przypadku języków skompilowanych zawsze znajdziesz środowisko wykonawcze C i prawie zawsze znajdziesz środowisko wykonawcze C ++.

Gilles
źródło
„C Runtime Library” można opisać jako „Dowolną bibliotekę połączoną w czasie wykonywania [...]. Zazwyczaj jednak termin ten jest zarezerwowany dla bibliotek udostępniających podstawowe interfejsy języka ...” - witaj, cplusplus .pl / forum / general / 13399
ThorSummoner
1

Marka i yacc mogą nie być dostępne. W zależności od tego, czy korzystasz z systemów wbudowanych, bash też może tam nie być. Koduj sh i Perl, jeśli chcesz wyjść poza to (nie mogę wymyślić jednej dystrybucji, która nie pochodzi z Perlem).

fresus
źródło
1
Bardzo dobrze, Arch Linux nie jest dostarczany z Make.
Simon Sheehan,
0

Jak wielu innych już powiedziało, to zależy od twojej dystrybucji. Na przykład, jeśli masz Fedorę, prawdopodobnie masz następujące elementy:

  • C / gcc
  • C ++ / g ++
  • perl
  • pyton
  • robić
  • oraz standardowe komponenty Linux / Unix

Aby dowiedzieć się, jakie języki programowania są w twoim systemie, wpisz: man -k language I aby dowiedzieć się, jakie narzędzia / narzędzia / misc masz w systemie, wpisz: man -k name lub: man name

Jordan Effinger
źródło