CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin
CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.
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, gccve 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, libcxxve libcxxabikesinlikle 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 ~/sourceInstallationsklasö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/libve daha yeni LLVM & Clang'ınız dosyaları içeriyor /usr/local/include.
CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.
Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.
OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.
Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
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.
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.
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.