Installer Plesk på CentOS 7
Bruker du et annet system? Plesk er et proprietært kontrollpanel for webverten som lar brukere administrere sine personlige og/eller klienters nettsteder, databaser
LLVM er en åpen kildekode-kompilatorinfrastruktur. LLVM ble startet i 2000, og har vært mye brukt og modifisert av Apple siden 2005. Clang er en C, C++, Objective-C og Objective-C++ kompilator som fungerer med LLVM-systemet. Clang ble startet i 2007 av Apple, og siden den gang har Google og Intel blitt involvert i den fortsatte utviklingen.
Clangs utviklere hevder at sammenlignet med GCC, kompilerer den raskere, bruker mindre minne, gir mer brukervennlig diagnostikk under kompilering og er kompatibel med GCC.
CentOS følger utviklingen av Red Hat Enterprise Linux (RHEL). RHEL streber etter å være en stabil serverplattform, noe som betyr at den ikke haster med å inkludere de nyeste versjonene av alt.
Når denne artikkelen skrives, distribuerer CentOS 6 offisielt LLVM & Clang v3.4.2. Imidlertid har Clang v3.6 blitt utgitt.
Det offisielle forslaget er at hvis du trenger en nyere versjon av LLVM & Clang, bør du vurdere en annen UNIX-distribusjon som er mer fokusert på å støtte de nyeste versjonene av programvarepakker.
Heldigvis kan du installere en nyere versjon LLVM & Clang GCC på CentOS. Dette avviker fra ren bruk av den offisielt distribuerte programvaren, men noen ganger kan du føle at du har lite valg.
Denne artikkelen beskriver hvordan du installerer CentOS 6 offisielt støttet versjon av LLVM & Clang, og hvordan du installerer en nyere versjon. Denne artikkelen forutsetter at du har en nyinstallert CentOS 6 VPS, men du kan absolutt følge instruksjonene på en VPS du allerede har brukt.
Clang er stort sett uavhengig av GCC, men når denne artikkelen skrives, bruker Clang fortsatt flere delte biblioteker installert av GCC (nemlig crtbegin.o
, gcc
, og gcc_s
). Hvis du installerer LLVM & Clang på CentOS 6, vil du ikke kunne kompilere noe hvis du ikke også har GCC på systemet ditt for disse delte bibliotekene. Ideelt sett ville yum ha en pakkeavhengighet for klang av gcc og gcc-c++, men når denne artikkelen skrives, er yum uvitende om avhengigheten.
I tillegg krever det å bygge en nyere versjon av LLVM & Clang fra kilden G++ v4.7+, som du bare kan få på CentOS 6 ved å installere den etter kilde.
Hvis du kjører alle trinnene nedenfor, vil du ende opp med 2 versjoner av GCC og 2 versjoner av LLVM & Clang. Dette inkluderer en offisielt støttet binær eldre versjon og en nyere versjon fra kilden for hvert program. Det er imidlertid ikke nødvendig å kjøre alle trinnene nedenfor. Du kan bestemme om du vil ha den offisielt støttede binære eldre versjonen av LLVM & Clang, eller den nyere versjonen fra kilden, og kjøre den delen av instruksjonene som passer din avgjørelse.
VIKTIG! Installer først en offisielt støttet (eldre) versjon av GCC, ved å utføre trinnene i artikkelen Hvordan installere GCC på CentOS 6 -- du trenger IKKE å utføre trinnene under den artikkelens overskrift "Installer en nyere versjon av GCC fra kilden ".
Installer LLVM & Clang
sudo yum install clang
--- This will bring in llvm as a dependency
Sjekk de installerte versjonene og se plasseringene deres.
clang --version
May say: clang version 3.4.2 (tags/RELEASE_34/dot2-final)
which clang
/usr/bin/clang
gcc --version
May say: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
g++ --version
May say: g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
which gcc
/usr/bin/gcc
which g++
/usr/bin/g++
For å bygge LLVM & Clang etter kilde på CentOS, må du ha GCC v4.7 eller nyere. CentOS 6 har ikke så høye versjoner i yum, så du må først installere en nyere GCC fra kilden.
VIKTIG! Installer først en nyere versjon av GCC fra kilden, ved å utføre trinnene i artikkelen Hvordan installere GCC på CentOS 6 -- du MÅ utføre alle trinnene i den artikkelen, inkludert under overskriften "Installer en nyere versjon av GCC fra kilde".
Installer ekstra nødvendige pakker.
sudo yum install cmake
Installer en nyere versjon av Python. LLVM & Clang v3.6.0 krever Python v2.7+, men CentOS 6 yum repository har bare Python v2.6.6.
mkdir ~/sourceInstallations
cd ~/sourceInstallations
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -xvf Python-2.7.9.tgz
cd Python-2.7.9
./configure && make && sudo make install
Bestem hvilken versjon av LLVM & Clang du vil ha. Denne kommandoen vil vise deg "taggene" for de tilgjengelige versjonene.
svn ls http://llvm.org/svn/llvm-project/llvm/tags | grep RELEASE
RELEASE_1/
...
RELEASE_352/
RELEASE_360/
RELEASE_361/
svn ls http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_361
rc1/
--- At this time, there is no final, just a release candidate. You could certainly use a release candidate, but this article will show how to use a final release.
svn ls http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_360
final/
rc1/
rc2/
rc3/
rc4/
Få kilden til versjonen av LLVM & Clang du vil ha. Dette vil gå i noen minutter. Resten av denne artikkelen er skrevet for RELEASE_360/
og vil laste ned kildene til ~/sourceInstallations/llvm_RELEASE_360/
-- Du må erstatte riktig tag for å passe fremtidige versjoner. Katalogene nedenfor for compiler-rt
, libcxx
, og libcxxabi
er ikke absolutt nødvendige, men inneholder noen av funksjonene som LLVM & Clang har som GCC ikke har, så de er inkludert i denne artikkelen. Det er andre LLVM "underprosjekter" du kan velge å bruke, for eksempel dragonegg, LLDB, OpenMB, vmkit, polly, libclc, klee, SAFECode og lld. Du kan lese om dem på LLVM-nettstedet .
cd ~/sourceInstallations
svn co http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_360/final llvm_RELEASE_360
cd llvm_RELEASE_360/tools
svn co http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_360/final clang
cd ../projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/tags/RELEASE_360/final compiler-rt
svn co http://llvm.org/svn/llvm-project/libcxx/tags/RELEASE_360/final libcxx
svn co http://llvm.org/svn/llvm-project/libcxxabi/tags/RELEASE_360/final libcxxabi
cd ..
svn update
At revision X.
--- Hopefully this outputs one line saying "At revision X", but numbers instead of "X". If it downloads more source files, a new revision was released while you were downloading the source code. This is highly unlikely unless you're using trunk (the most up to date, maybe unstable code.) But, if this happens, perform a svn update in the tools/clang, projects/compiler-rt, projects/libcxx, projects/libcxxabi, and again ~/sourceInstallations/llvm_RELEASE_360, until you are fully up to date.
Bygg LLVM & Clang. Dette vil gå en stund. Hvis dette fullføres riktig, vil den siste linjen du ser "suksess". Det er normalt å se noen feilmeldinger som ruller forbi raskt. Det er alltid en god idé å bygge ting i en annen katalog enn en kildekatalog.
mkdir ../llvm_RELEASE_360_build
cd ../llvm_RELEASE_360_build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/local/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ ../llvm_RELEASE_360 && make && sudo make install && echo success
--- If your VPS has multiple cores, you can speed up the build by changing the middle part
--- of this line from "&& make &&" to "&& make -j <number of cores> &&".
--- You can see the number of cores your VPS has by running "nproc"
--- If you omit -DCMAKE_BUILD_TYPE=Release, the build defaults to debug. This is great if you need to debug LLVM & Clang itself, but slows down compilation of your end programs considerably.
--- If you omit the references to gcc and g++, it will default to using the older binary versions in /usr/bin/, and will not compile.
Sjekk de installerte versjonene og se plasseringene deres.
clang --version
May say: clang version 3.6.0 (tags/RELEASE_360/final 237229)
clang++ --version
May say: clang version 3.6.0 (tags/RELEASE_360/final 237229)
which clang
/usr/local/bin/clang
which clang++
/usr/local/bin/clang++
Legg til de nye bibliotekene til ld (GNU-linkeren).
echo "/usr/local/lib" > usrLocalLib.conf
sudo mv usrLocalLib.conf /etc/ld.so.conf.d/
sudo ldconfig
--- This may say a file or two "is not an ELF file - it has the wrong magic bytes at the start."
--- You may ignore this message. It is silent about the work it successfully completed.
Lag eventuelt et "hallo verden"-program.
mkdir ~/code
cd ~/code
Create a file main.cpp that says:
#include <iostream>
using namespace std;
int main() {
cout << "Hello world!" << endl;
return 0;
}
--- One way to create this file is to run "vi main.cpp", hitting "i" to enter insert mode,
--- typing the above file, hitting ESC, and hitting "ZZ" to save.
clang++ main.cpp -o main
./main
Hello World!
clang++ -stdlib=libc++ -lc++abi main.cpp -o main
--- This uses Clang's libc++ and libc++abi, instead of the GNU stdlibc++ and stdlibc++abi
./main
Hello world!
Bruk LLVM & Clang når du vil.
You could set LLVM & Clang to be your system's default C and C++ compiler by running:
echo "export CC=/usr/local/bin/gcc" >> ~/.bashrc
echo "export CXX=/usr/local/bin/g++" >> ~/.bashrc
source ~/.bashrc
Once and a while there is a difference between Clang and GCC, but it's becoming more and more rare. To be more conservative, you could specify in your code's buildsystem to use LLVM & Clang, but otherwise leave your system's default to the source build of GCC.
Eventuelt gjenvinne plass på harddisken. Din ~/sourceInstallations
mappe vil være å ta opp rundt 11 GB diskplass. Det er sannsynligvis lurt å beholde mappene, siden det er valgfrie konfigurasjonsalternativer du kanskje må bruke på et tidspunkt i fremtiden, og det vil være raskere å ha mye allerede gjort. Og, som nevnt ovenfor, er det flere "delprosjekter" du kan legge til LLVM & Clang. Byggeprosessen lager også logger som du senere kan sjekke og jobbe fra hvis noe går galt. Men etter å ha kjørt "sudo make install" tidligere, er ikke din installerte LLVM & Clang avhengig av noe i denne katalogen, og plassen kan være på en premie, så du kan gjøre dette trinnet og gjenvinne 11 GB.
cd ~/
rm -rf sourceInstallations
--- Again, if you can spare the space, you may someday be happy to have left it there.
Du har nå din nyere LLVM & Clang i /usr/local/bin
, dine nyere 64-bit LLVM & Clang libs i /usr/local/lib
, og dine nyere LLVM & Clang inkluderer filer i /usr/local/include
.
Bruker du et annet system? Plesk er et proprietært kontrollpanel for webverten som lar brukere administrere sine personlige og/eller klienters nettsteder, databaser
Squid er et populært, gratis Linux-program som lar deg lage en webproxy for videresending. I denne veiledningen vil du se hvordan du installerer Squid på CentOS for å gjøre deg om
Introduksjon Lighttpd er en apachegaffel som har som mål å være mye mindre ressurskrevende. Den er lett, derav navnet, og er ganske enkel å bruke. Installer
VULTR har nylig gjort endringer på sin side, og alt skal nå fungere bra ut av boksen med NetworkManager aktivert. Skulle du ønske å deaktivere
Icinga2 er et kraftig overvåkingssystem, og når det brukes i en master-klient-modell, kan det erstatte behovet for NRPE-baserte overvåkingskontroller. Mester-klienten
Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy
Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg
Bruker du et annet system? Vanilla forum er en åpen kildekode-forumapplikasjon skrevet i PHP. Det er en fullt tilpassbar, enkel å bruke og støtter ekstern
Bruker du et annet system? Mattermost er et åpen kildekode, selvdrevet alternativ til Slack SAAS-meldingstjenesten. Med andre ord, med Mattermost kan du ca
Hva du trenger En Vultr VPS med minst 1 GB RAM. SSH-tilgang (med root/administratorrettigheter). Trinn 1: Installere BungeeCord Først
Plesk-kontrollpanelet har en veldig fin integrasjon for Lets Encrypt. Lets Encrypt er en av de eneste SSL-leverandørene som gir ut sertifikater komplett
Lets Encrypt er en sertifiseringsinstans dedikert til å tilby SSL-sertifikater gratis. cPanel har bygget en ryddig integrasjon slik at du og din klient
Bruker du et annet system? Concrete5 er et åpen kildekode CMS som tilbyr mange karakteristiske og nyttige funksjoner for å hjelpe redaktører med å produsere innhold enkelt og
Bruker du et annet system? Review Board er et gratis og åpen kildekodeverktøy for gjennomgang av kildekode, dokumentasjon, bilder og mye mer. Det er nettbasert programvare
I denne veiledningen lærer du hvordan du setter opp HTTP-autentisering for en Nginx-webserver som kjører på CentOS 7. Krav For å komme i gang trenger du
Bruker du et annet system? GoAccess er en åpen kildekode-nettlogganalysator. Du kan bruke den til analyse av logger på sanntidsbasis i enten terminalen eller
YOURLS (Your Own URL Shortener) er en åpen kildekode-applikasjon for URL-forkorting og dataanalyse. I denne artikkelen vil vi dekke installasjonsprosessen
Bruker du et annet system? Introduksjon ArangoDB er en åpen kildekode NoSQL-database med en fleksibel datamodell for dokumenter, grafer og nøkkelverdier. Det er
Innledning /etc/-katalogen spiller en kritisk rolle i måten et Linux-system fungerer på. Grunnen til dette er fordi nesten alle systemkonfigurasjoner
Mange systemadministratorer administrerer store mengder servere. Når filer må åpnes på tvers av forskjellige servere, logger du på hver enkelt individuelt ca
Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.
Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.
Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.
Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.
Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...
Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.
Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.
Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.
I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.
Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer