CentOS 7de Tavşan Kümesini Kümeleme
RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir
LLVM açık kaynaklı bir derleyici altyapısıdır. LLVM 2000 yılında başlatıldı ve 2005 yılından bu yana Apple tarafından yaygın olarak kullanıldı ve değiştirildi. Clang, LLVM sistemiyle çalışan bir C, C ++, Objective-C ve Objective-C ++ derleyicisidir. Clang, 2007 yılında Apple tarafından başlatıldı ve o zamandan beri Google ve Intel, sürekli gelişimine dahil oldu.
Clang'ın geliştiricileri, GCC'ye kıyasla daha hızlı derlendiğini, daha az bellek kullandığını, derleme sırasında daha kullanıcı dostu tanılama sağladığını ve GCC ile uyumlu olduğunu iddia ediyor.
CentOS, Red Hat Enterprise Linux'un (RHEL) gelişimini takip ediyor. RHEL, her şeyin en son sürümlerini eklemek için acele etmediği anlamına gelen istikrarlı bir sunucu platformu olmaya çalışır.
Bu makalenin yazımından itibaren CentOS 6, LLVM & Clang v3.4.2'yi resmi olarak dağıtır. Ancak, Clang v3.6 yayınlandı.
Resmi öneri, LLVM & Clang'ın daha yeni bir sürümüne ihtiyacınız varsa, yazılım paketlerinin en son sürümlerini desteklemeye odaklanan farklı bir UNIX dağıtımını düşünmelisiniz.
Neyse ki, CentOS'a daha yeni bir sürüm LLVM & Clang GCC kurabilirsiniz. Bu sadece resmi olarak dağıtılmış yazılımı kullanmaktan sapar, ancak bazen çok az seçeneğiniz varmış gibi hissedebilirsiniz.
Bu makalede, LLOSM & Clang'ın resmi olarak desteklenen CentOS 6 sürümünün nasıl yükleneceği ve daha yeni bir sürümün nasıl yükleneceği açıklanır. Bu makalede, yeni kurulmuş bir CentOS 6 VPS olduğu varsayılmaktadır, ancak daha önce kullanmakta olduğunuz bir VPS'deki yönergeleri kesinlikle uygulayabilirsiniz.
Clang GCC büyük ölçüde bağımsızdır, ancak bu makalenin yazı olarak, Clang hala GCC tarafından yüklenen çeşitli paylaşılan kütüphaneleri (yani kullanır crtbegin.o
, gcc
ve gcc_s
). LLVM & Clang'ı CentOS 6'ya kurarsanız, bu paylaşılan kütüphaneler için sisteminizde GCC yoksa hiçbir şey derleyemezsiniz. İdeal olarak yum, gcc ve gcc-c ++ için bir paket bağımlılığına sahip olacaktır, ancak bu makalenin yazımından itibaren yum bağımlılığın farkında değildir.
Ayrıca, kaynağından LLVM & Clang'ın daha yeni bir sürümünü oluşturmak için G ++ v4.7 + gerekir, bu da CentOS 6'yı kaynak tarafından yükleyerek alabilirsiniz.
Aşağıdaki adımların tümünü uygularsanız, 2 GCC sürümü ve 2 LLVM & Clang sürümü ile yüklenirsiniz. Bu, resmi olarak desteklenen bir ikili eski sürümü ve her program için kaynaktan daha yeni bir sürümü içerir. Ancak, aşağıdaki tüm adımları uygulamanıza gerek yoktur. LLVM & Clang'ın resmi olarak desteklenen ikili eski sürümünü mü yoksa daha yeni sürümünü kaynağından mı isteyeceğinize karar verebilir ve talimatların hangi bölümünün kararınıza uygun olduğunu çalıştırabilirsiniz.
ÖNEMLİ! İlk olarak, GCC'yi CentOS 6'ya Yükleme başlıklı makalede belirtilen adımları uygulayarak resmi olarak desteklenen (eski) bir GCC sürümünü yükleyin - bu makalenin "GCC'nin daha yeni bir sürümünü kaynaktan yükleme" ".
LLVM ve Clang'ı yükle
sudo yum install clang
--- This will bring in llvm as a dependency
Yüklü sürümleri kontrol edin ve konumlarını görün.
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++
CentOS'ta LLVM & Clang'ı kaynağına göre oluşturmak için GCC v4.7 veya üstü sürümlere sahip olmanız gerekir. CentOS 6, yum'da bu kadar yüksek bir sürüme sahip değildir, bu yüzden önce kaynaktan daha yeni bir GCC yüklemeniz gerekir.
ÖNEMLİ! İlk olarak, GCC'yi CentOS 6'ya yükleme hakkında makaledeki adımları uygulayarak kaynaktan daha yeni bir GCC sürümünü yükleyin - bu makaledeki "GCC'nin daha yeni bir sürümünü yükleyin" başlığı dahil tüm adımları gerçekleştirmeniz gerekir. kaynak".
Ek olarak gerekli paketleri kurun.
sudo yum install cmake
Python'un daha yeni bir sürümünü yükleyin. LLVM & Clang v3.6.0, Python v2.7 + gerektirir, ancak CentOS 6 yum deposunda yalnızca Python v2.6.6 bulunur.
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
Hangi LLVM & Clang sürümünü istediğinize karar verin. Bu komut kullanılabilir sürümler için "etiketler" i gösterir.
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/
İstediğiniz LLVM & Clang sürümünün kaynağını alın. Bu birkaç dakika sürecek. Bu makalenin geri kalanı için yazılmıştır RELEASE_360/
ve kaynakları içine indirir ~/sourceInstallations/llvm_RELEASE_360/
- Gelecekteki sürümlere uyacak şekilde uygun etiketi değiştirmeniz gerekecektir. Aşağıda dizinleri compiler-rt
, libcxx
ve libcxxabi
kesinlikle gerekli değildir, ancak LLVM & Clang GCC, bu nedenle bu makalenin içerdiği etmediğini sahip olduğu bazı özellikleri içerir. Dragonegg, LLDB, OpenMB, vmkit, polly, libclc, klee, SAFECode ve lld gibi kullanmayı seçebileceğiniz diğer LLVM "alt projeleri" vardır. Bunları LLVM web sitesinde okuyabilirsiniz .
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.
LLVM ve Clang oluşturun. Bu bir süre devam edecek. Bu doğru şekilde tamamlanırsa, göreceğiniz son satırda "başarı" yazacaktır. Bazı hata görünümlü mesajların hızla kaydırıldığını görmek normaldir. İşleri kaynak dizinden farklı bir dizinde oluşturmak her zaman iyi bir fikirdir.
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.
Yüklü sürümleri kontrol edin ve konumlarını görün.
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++
Yeni kütüphaneleri ld'ye (GNU bağlayıcısı) ekleyin.
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.
İsteğe bağlı olarak "merhaba dünya" programı yapın.
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!
İstediğiniz zaman LLVM & Clang kullanın.
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.
İsteğe bağlı olarak sabit sürücü alanını geri kazanın. Kişisel ~/sourceInstallations
klasör disk alanı 11TR etrafında alacak. Gelecekte bir noktada kullanmanız gerekebilecek isteğe bağlı yapılandırma seçenekleri olduğu için muhtemelen klasörleri saklamak akıllıca olacaktır ve zaten çok şey yapmak daha hızlı olacaktır. Ve yukarıda belirtildiği gibi, LLVM & Clang'a ekleyebileceğiniz ek "alt projeler" vardır. Ayrıca, derleme işlemi daha sonra bir şeyler ters giderse kontrol edip çalışabileceğiniz günlükler oluşturur. Ancak, daha önce "sudo make install" komutunu çalıştırdıktan sonra, kurulu LLVM & Clang bu dizindeki hiçbir şeye bağlı değildir ve alan bir premium olabilir, bu nedenle bu adımı uygulayabilir ve 11GB'yi geri alabilirsiniz.
cd ~/
rm -rf sourceInstallations
--- Again, if you can spare the space, you may someday be happy to have left it there.
Artık daha yeni LLVM & Clang'ınız /usr/local/bin
, daha yeni 64-bit LLVM & Clang kütüphaneleriniz var /usr/local/lib
ve daha yeni LLVM & Clang'ınız dosyaları içeriyor /usr/local/include
.
RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir
Farklı Bir Sistem mi Kullanıyorsunuz? Pagekit PHP ile yazılmış açık kaynaklı bir CMSdir. Pagekit kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size
Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak
Belirli durumlarda, Sistem Yöneticisinin bir kullanıcı hesabı oluşturması ve yalnızca kendi dosyalarını sFTP yoluyla yönetmek için erişimini kısıtlaması gerekebilir, ancak b
Bu makalede, ModSecurity tarafından korunan bir LEMP yığını oluşturmayı açıklayacağım. ModSecurity faydalı bir açık kaynaklı web uygulaması güvenlik duvarıdır.
Giriş LAMP, Linux, Apache, MySQL ve PHPnin kısaltmasıdır. Bu yazılım yığını, kurulum için en popüler açık kaynaklı çözümdür.
Farklı Bir Sistem mi Kullanıyorsunuz? Chamilo, çevrimiçi eğitim ve takım işbirliği için yaygın olarak kullanılan ücretsiz ve açık kaynaklı bir öğrenme yönetim sistemidir (LMS).
Eskiden OpenERP olarak bilinen Odoo, iyi bilinen bir açık kaynaklı ERP iş platformudur. Her büyüklükteki işletme, bol miktarda lis sayesinde Odoodan yararlanabilir
Icinga2 güçlü bir izleme sistemidir ve bir ana istemci modelinde kullanıldığında, NRPE tabanlı izleme kontrollerine olan ihtiyacın yerini alabilir. Master-Clien
Farklı Bir Sistem mi Kullanıyorsunuz? Couch CMS, web tasarımcılarının tasarlamalarını sağlayan basit ve esnek, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)
Farklı Bir Sistem mi Kullanıyorsunuz? Netdata, gerçek zamanlı sistem ölçümleri izleme alanında yükselen bir yıldızdır. Aynı türdeki diğer araçlarla karşılaştırıldığında, Netdata:
Farklı Bir Sistem mi Kullanıyorsunuz? ERP veya Kurumsal Kaynak Planlaması, temel iş süreçlerini yönetmek için kullanılan bir kurumsal uygulama paketidir. ERPNext ücretsizdir
Başka bir Vultr eğitimine hoş geldiniz. Burada, bir SAMP sunucusunun nasıl kurulacağını ve çalıştırılacağını öğreneceksiniz. Bu kılavuz CentOS 6 için yazılmıştır. Önkoşullar
Genel Bakış Bu makale, bir Kubernetes kümesini hemen kurup kubeadm ile çalıştırmanıza yardımcı olmak içindir. Bu kılavuz iki sunucuyu
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Sails.js, Ruby on Railse benzer şekilde Node.js için bir MVC çerçevesidir. Modern uygulamalar geliştirmek için yapar
Bu eğitimde, CentOS 6 Sistemine Half Life 2 oyun sunucusu kurma süreci ele alınacaktır. 1. Adım: Önkoşulları kurma
PrestaShop popüler bir açık kaynaklı e-ticaret çözümüdür. Kendi çevrimiçi mağazanızı ücretsiz oluşturmak için kullanabilirsiniz. Bu eğitimde, size
Farklı Bir Sistem mi Kullanıyorsunuz? MODX Revolution hızlı, esnek, ölçeklenebilir, ücretsiz ve açık kaynaklı, kurumsal düzeyde bir İçerik Yönetim Sistemi (CMS)
Giriş Linux sistemleri, süreçleri ve disk alanını izlemeye yardımcı olan varsayılan olarak top, df ve du gibi izleme araçlarıyla birlikte gelir. Çoğu zaman, onlar ar
Farklı Bir Sistem mi Kullanıyorsunuz? Kolab Groupware, ücretsiz ve açık kaynaklı bir web tabanlı grup yazılımı uygulamasıdır. Özellikleri e-posta iletişiminden, olaylardan oluşur
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun