Installera Plesk på CentOS 7
Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser
LLVM är en kompilatorinfrastruktur med öppen källkod. LLVM startades 2000 och har använts och modifierats flitigt av Apple sedan 2005. Clang är en C, C++, Objective-C och Objective-C++ kompilator som fungerar med LLVM-systemet. Clang startades 2007 av Apple och sedan dess har Google och Intel engagerat sig i dess fortsatta utveckling.
Clangs utvecklare hävdar att den jämfört med GCC kompilerar snabbare, använder mindre minne, ger mer användarvänlig diagnostik under kompilering och är kompatibel med GCC.
CentOS följer utvecklingen av Red Hat Enterprise Linux (RHEL). RHEL strävar efter att vara en stabil serverplattform, vilket innebär att den inte har bråttom att inkludera de senaste versionerna av allt.
När denna artikel skrevs distribuerar CentOS 6 officiellt LLVM & Clang v3.4.2. Clang v3.6 har dock släppts.
Det officiella förslaget är att om du behöver en nyare version av LLVM & Clang, bör du överväga en annan UNIX-distribution som är mer fokuserad på att stödja de senaste versionerna av mjukvarupaket.
Lyckligtvis kan du installera en nyare version LLVM & Clang GCC på CentOS. Detta avviker från att enbart använda den officiellt distribuerade programvaran, men ibland kan du känna att du har lite val.
Den här artikeln beskriver hur du installerar CentOS 6-versionen av LLVM & Clang som officiellt stöds, och hur du installerar en nyare version. Den här artikeln förutsätter att du har en nyinstallerad CentOS 6 VPS, men du kan säkert följa instruktionerna på en VPS som du redan har använt.
Clang är i stort sett oberoende av GCC, men när den här artikeln skrivs använder Clang fortfarande flera delade bibliotek installerade av GCC (nämligen crtbegin.o
, gcc
, och gcc_s
). Om du installerar LLVM & Clang på CentOS 6 kommer du inte att kunna kompilera någonting om du inte också har GCC på ditt system för dessa delade bibliotek. Helst skulle yum ha ett paketberoende för clang av gcc och gcc-c++, men när den här artikeln skrevs är yum omedveten om beroendet.
Att bygga en nyare version av LLVM & Clang från källan kräver dessutom G++ v4.7+, som du bara kan få på CentOS 6 genom att installera den efter källa.
Om du kör alla stegen nedan kommer du att sluta med 2 versioner av GCC och 2 versioner av LLVM & Clang. Detta inkluderar en officiellt stödd binär äldre version och en nyare version från källan för varje program. Det finns dock ingen anledning att köra alla stegen nedan. Du kan bestämma om du vill ha den officiellt stödda binära äldre versionen av LLVM & Clang, eller den nyare versionen från källan, och köra vilken del av instruktionerna som passar ditt beslut.
VIKTIG! Installera först en officiellt stödd (äldre) version av GCC, genom att utföra stegen i artikeln Hur man installerar GCC på CentOS 6 -- du behöver INTE utföra stegen under den artikelns rubrik "Installera en nyare version av GCC från källan ".
Installera LLVM & Clang
sudo yum install clang
--- This will bring in llvm as a dependency
Kontrollera de installerade versionerna och se var de finns.
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++
För att bygga LLVM & Clang efter källa på CentOS måste du ha GCC v4.7 eller högre. CentOS 6 har inte den här höga versionen i yum, så du måste först installera en nyare GCC från källan.
VIKTIG! Installera först en nyare version av GCC från källan, genom att utföra stegen i artikeln Hur man installerar GCC på CentOS 6 -- du måste utföra alla steg i den artikeln, inklusive under rubriken "Installera en nyare version av GCC från källa".
Installera ytterligare nödvändiga paket.
sudo yum install cmake
Installera en nyare version av Python. LLVM & Clang v3.6.0 kräver Python v2.7+, men CentOS 6 yum repository har bara 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
Bestäm vilken version av LLVM & Clang du vill ha. Detta kommando visar dig "taggarna" för de tillgängliga versionerna.
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/
Skaffa källan till versionen av LLVM & Clang som du vill ha. Detta kommer att pågå i några minuter. Resten av den här artikeln är skriven för RELEASE_360/
och kommer att ladda ner källorna till ~/sourceInstallations/llvm_RELEASE_360/
-- Du måste byta ut rätt tagg för att passa framtida versioner. Katalogen nedan för compiler-rt
, libcxx
, och libcxxabi
är inte absolut nödvändiga, men innehåller några av de funktioner som LLVM & Clang har som GCC inte har, så de ingår i den här artikeln. Det finns andra LLVM "underprojekt" du kan välja att använda, såsom dragonegg, LLDB, OpenMB, vmkit, polly, libclc, klee, SAFECode och lld. Du kan läsa om dem på LLVM:s webbplats .
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. Detta kommer att pågå ett tag. Om detta slutförs korrekt kommer den sista raden du ser att säga "framgång". Det är normalt att se några felmeddelanden som snabbt rullar förbi. Det är alltid en bra idé att bygga saker i en annan katalog än en källkatalog.
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.
Kontrollera de installerade versionerna och se var de finns.
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++
Lägg till de nya biblioteken till ld (GNU-länken).
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.
Gör eventuellt ett "hej världen"-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!
Använd LLVM & Clang när du vill.
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.
Eventuellt återta hårddiskutrymme. Din ~/sourceInstallations
mapp kommer att ta upp cirka 11 GB diskutrymme. Det är förmodligen klokt att behålla mapparna, eftersom det finns valfria konfigurationsalternativ du kan behöva använda någon gång i framtiden, och det skulle vara snabbare att ha mycket redan gjort. Och, som nämnts ovan, finns det ytterligare "delprojekt" du kan lägga till i LLVM & Clang. Byggprocessen skapar också loggar som du senare kan kontrollera och arbeta utifrån om något går fel. Men efter att ha kört "sudo make install" tidigare, är din installerade LLVM & Clang inte beroende av någonting i den här katalogen, och utrymmet kan vara mycket dyrt, så du kan göra detta steg och återta 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 nu din nyare LLVM & Clang i /usr/local/bin
, dina nyare 64-bitars LLVM & Clang libs i /usr/local/lib
, och dina nyare LLVM & Clang inkluderar filer i /usr/local/include
.
Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser
Squid är ett populärt, gratis Linux-program som låter dig skapa en webbproxy för vidarebefordran. I den här guiden ser du hur du installerar Squid på CentOS för att förvandla dig
Inledning Lighttpd är en apachegaffel som syftar till att vara mycket mindre resurskrävande. Den är lätt, därav namnet, och är ganska enkel att använda. Installera
VULTR har nyligen gjort ändringar på deras sida, och allt borde nu fungera bra direkt när NetworkManager är aktiverat. Om du vill inaktivera
Icinga2 är ett kraftfullt övervakningssystem, och när det används i en master-klient-modell kan det ersätta behovet av NRPE-baserade övervakningskontroller. Master-klienten
Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög
Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig
Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa
Använder du ett annat system? Mattermost är ett alternativ med öppen källkod, självvärd till meddelandetjänsten Slack SAAS. Med andra ord, med Mattermost, du ca
Vad du behöver En Vultr VPS med minst 1 GB RAM. SSH-åtkomst (med root-/administrativa privilegier). Steg 1: Installera BungeeCord Först till kvarn
Plesks kontrollpanel har en mycket trevlig integration för Lets Encrypt. Lets Encrypt är en av de enda SSL-leverantörerna som ger ut certifikat fullständigt
Lets Encrypt är en certifikatmyndighet dedikerad till att tillhandahålla SSL-certifikat gratis. cPanel har byggt en snygg integration så att du och din klient
Använder du ett annat system? Concrete5 är ett CMS med öppen källkod som erbjuder många distinkta och användbara funktioner för att hjälpa redaktörer att producera innehåll enkelt och
Använder du ett annat system? Review Board är ett gratis och öppen källkodsverktyg för att granska källkod, dokumentation, bilder och många fler. Det är webbaserad mjukvara
I den här guiden lär du dig hur du ställer in HTTP-autentisering för en Nginx-webbserver som körs på CentOS 7. Krav För att komma igång behöver du
YOURLS (Your Own URL Shortener) är ett webbadressförkortnings- och dataanalysprogram med öppen källkod. I den här artikeln kommer vi att täcka installationsprocessen
Använder du ett annat system? Inledning ArangoDB är en NoSQL-databas med öppen källkod med en flexibel datamodell för dokument, grafer och nyckel-värden. Det är
Inledning Katalogen /etc/ spelar en avgörande roll för hur ett Linux-system fungerar. Anledningen till detta är att nästan varje systemkonfiguration
Många systemadministratörer hanterar stora mängder servrar. När filer behöver nås över olika servrar, logga in på var och en individuellt ca
Denna handledning kommer att täcka processen att installera en Half Life 2-spelserver på CentOS 6 System. Steg 1: Installera förutsättningarna För att ställa in ou
Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.
Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.
Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.
Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.
Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...
När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.
Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.
Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.
I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.
Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer