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

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.


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 ++.


„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).


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.