Инсталирайте Plesk на CentOS 7
Използване на различна система? Plesk е собствен контролен панел за уеб хост, който позволява на потребителите да администрират своите лични и/или клиентски уебсайтове, бази данни
GDB е дебъгер за C, C++, Objective-C, Pascal, Fortran, Go, D, OpenCL C, Ada и Modula-2.
CentOS е базиран на RHEL (Red Hat Enterprise Linux). Една от основните цели на RHEL е да бъде стабилна сървърна операционна система, което означава, че по-новите версии на софтуерните пакети не винаги са налични.
Към момента на писане CentOS 6 предлага GDB v7.2. Екипът на GDB обаче наскоро пусна код за v7.91.
Официално се предлага да стартирате различна Linux дистрибуция, за да използвате по-нова версия на GDB. Това не винаги е идеално. За щастие е възможно да се инсталират по-новите версии на GDB на CentOS 6. Тъй като GDB е дебъгер, а не основен компонент на системата, вие сте сравнително безопасни да използвате по-нова версия.
Тази статия обяснява как да инсталирате поддържани и неподдържани версии на GDB на CentOS 6.
Ще обясня също как да настроите GDB, за да ви даде по-лесна за четене информация за отстраняване на грешки, когато използвате стандартната библиотека на C++ (като низ) и стандартната библиотека с шаблони (като вектор). Тази функция се нарича красив печат.
Влезте във вашия VPS. Това може да стане, като щракнете върху "Преглед на конзолата" в контролния панел на Vultr или с SSH клиент.
(a) Влезте като root.
(b) Създайте свой собствен потребителски акаунт. Задайте паролата.
adduser <username>
passwd <username>
(c) Предоставете на потребителя sudo достъп.
visudo
After the line "root ALL=(ALL) ALL"
Add the line "<username> ALL=(ALL) ALL"
--- If you aren't familiar with vi, go to the line "root ALL=(ALL) ALL".
--- Hit "o" to create a new line after that line and enter insert mode.
--- Type "<username> ALL=(ALL) ALL".
--- Hit ESC.
--- Type "ZZ" to save.
(d) Излезте като root, след което влезте отново с вашия потребителски акаунт. Много по-сигурно е никога да не влизате като root. Използването на sudo е по-добра практика.
Инсталирайте GDB.
sudo yum install gdb
Проверете инсталираната версия и вижте нейното местоположение.
gdb --version
May say: GNU gdb (GDB) Red Hat Enterprise Linux (7.2-75.el6)
which gdb
/usr/bin/gdb
Инсталирайте C компилатор, като GCC. Компилатор на C++ не е необходим за изграждане на GDB от източник, но е необходим, за да демонстрира красивата функция за печат на GDB. Можете да създадете по-нова версия на GCC от източника, като изпълните стъпките в статията Как да инсталирате GCC на CentOS 6 . Или можете да инсталирате официално поддържаната версия на GCC от CentOS 6, като изпълните:
sudo yum install gcc gcc-c++
Инсталирайте допълнително необходими пакети.
sudo yum install wget tar gzip ncurses-devel texinfo svn python-devel
Решете коя версия на GDB искате да изградите от източник. Посетете сайта на GDB FTP, за да видите версиите, които са налични за изтегляне.
Вземете източника на версията на GDB, която искате. Останалата част от тази статия е написана за v7.9.1 и ще изтегли източниците в ~/sourceInstallations/gdb-7.9.1/
- ще трябва да замените правилния номер на версията за по-нови версии.
mkdir ~/sourceInstallations
cd ~/sourceInstallations
wget ftp://ftp.gnu.org/gnu/gdb/gdb-7.9.1.tar.gz .
tar -zxvf gdb-7.9.1.tar.gz
Изградете GDB. Ако това приключи правилно, последният ред, който ще видите, ще гласи "успех". Нормално е да видите някои съобщения за грешка да превъртат бързо. Те са безопасни за игнориране.
mkdir gdb-7.9.1.build
cd gdb-7.9.1.build
../gdb-7.9.1/configure --with-python=yes && 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"
--- The parameter "--with-python=yes" is necessary for the pretty printing feature
Инсталирайте C++ за красив печат.
cd ~/
svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python gdb_printers
Create a file ~/.gdbinit of:
python
import sys
sys.path.insert(0, '/home/<yourUserName>/gdb_printers/')
from libstdcxx.v6.printers import register_libstdcxx_printers
end
--- One way to create this file is to run "vi ~/.gdbinit", hitting "i" to enter insert mode,
--- typing the above file, hitting ESC, and hitting "ZZ" to save.
Проверете инсталираната версия и нейното местоположение.
gdb --version
May say: GNU gdb (GDB) 7.9.1
which gdb
/usr/local/bin/gdb
По желание стартирайте GDB и вижте красив печат.
mkdir ~/gdbExample
cd ~/gdbExample
Create a file gdbExample.cpp of:
#include <string>
#include <vector>
using namespace std;
int main() {
string foo = "bar";
vector<string> vec;
vec.push_back("foo");
vec.push_back("bar");
vec.push_back("foobar");
}
--- One way to create this file is to run "vi gdbExample.cpp", hitting "i" to enter insert mode,
--- typing the above file, hitting ESC, and hitting "ZZ" to save.
g++ -ggdb gdbExample.cpp -o gdbExample
Start GDB traditionally, by running "gdb ./gdbExample". Or, start GDB by using its terminal user interface (basically a text mode GUI), by running "gdb --tui ./gdbExample".
Enter "break main" to set a breakpoint at the beginning of function main() -- and it will say:
Breakpoint 1 at 0x<someAddress>: file gdbExample.cpp, line 6.
Enter "run" to start the program, which will immediately hit the breakpoint you just set -- and it will say:
Starting program: /home/<yourUserName>/gdbExample/gdbExample
Breakpoint 1, main () at gdbExample.cpp:6
6 string foo = "bar";
Enter "next" and hit enter four times, and gdb will move up to just before executing:
10 vec.push_back("foobar");
Enter "print foo" and gdb will show:
$1 = "bar"
Enter "print vec" and gdb will show:
$2 = std::vector of length 2, capacity 2 = {"foo", "bar"}
--- Remember, line 10 hasn't executed yet to add "foobar" to the vector
Enter "quit" and "y" to quit anyway.
По избор възстановите място на твърдия диск. Вашата ~/sourceInstallations
директория ще заема около 386MB. Вероятно е разумно да запазите директориите, тъй като има незадължителни опции за конфигурация, които може да се наложи да използвате в някакъв момент в бъдещето, и би било по-бързо, ако вече сте направили много. Освен това процесът на изграждане прави регистрационни файлове, които по-късно можете да проверите и да работите, ако нещо се обърка. Но след като стартирате sudo make install
по-рано, вашата инсталирана GDB не зависи от нищо в тази директория и пространството може да бъде ограничено, така че можете да направите тази стъпка и да си върнете 386MB или така. ВАЖНО: не изтривайте ~/gdb_printers/
директорията! Съдържанието на тази директория се зарежда всеки път, когато стартирате GDB. Те НЕ бяха компилирани в самата GDB.
cd ~/
rm -rf sourceInstallations
--- Again, if you can spare the space, you may someday be happy to have left it there.
Използване на различна система? Plesk е собствен контролен панел за уеб хост, който позволява на потребителите да администрират своите лични и/или клиентски уебсайтове, бази данни
Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне
Въведение Lighttpd е форк на Apache, чиято цел е да бъде много по-малко ресурсоемка. Той е лек, откъдето идва и името му, и е доста лесен за използване. Инсталирайте
VULTR наскоро направи промени от своя страна и вече всичко трябва да работи добре от кутията с активиран NetworkManager. Ако желаете да деактивирате
Icinga2 е мощна система за наблюдение и когато се използва в модел главен-клиент, тя може да замени необходимостта от проверки на базата на NRPE. Главният клиент
Използване на различна система? Apache Cassandra е безплатна система за управление на база данни NoSQL с отворен код, която е проектирана да осигури мащабируемост, висока
Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже
Използване на различна система? Mattermost е самостоятелно хоствана алтернатива с отворен код на Slack SAAS услугата за съобщения. С други думи, с Mattermost, вие ca
Какво ви трябва Vultr VPS с поне 1 GB RAM. SSH достъп (с root/административни привилегии). Стъпка 1: Инсталиране на BungeeCord На първо място
Контролният панел на Plesk разполага с много приятна интеграция за Lets Encrypt. Lets Encrypt е един от единствените доставчици на SSL, които предоставят пълно сертификати
Lets Encrypt е сертифициращ орган, посветен на предоставянето на SSL сертификати безплатно. cPanel изгради чиста интеграция, така че вие и вашият клиент
Използване на различна система? Concrete5 е CMS с отворен код, който предлага много отличителни и полезни функции за подпомагане на редакторите при лесното създаване на съдържание и
Използване на различна система? Review Board е безплатен инструмент с отворен код за преглед на изходен код, документация, изображения и много други. Това е уеб базиран софтуер
В това ръководство ще научите как да настроите HTTP удостоверяване за уеб сървър на Nginx, работещ на CentOS 7. Изисквания За да започнете, ще ви трябва
YOURLS (Your Own URL Shortener) е приложение за съкращаване на URL адреси и анализ на данни с отворен код. В тази статия ще разгледаме процеса на инсталиране
Използване на различна система? Въведение ArangoDB е NoSQL база данни с отворен код с гъвкав модел на данни за документи, графики и ключ-стойности. то е
Въведение Директорията /etc/ играе критична роля в начина, по който функционира една Linux система. Причината за това е, че почти всяка системна конфигурация
Много системни администратори управляват големи количества сървъри. Когато файловете трябва да бъдат достъпни на различни сървъри, влизането във всеки от тях поотделно ок
Този урок ще обхване процеса на инсталиране на сървър за игри Half Life 2 на CentOS 6 System. Стъпка 1: Инсталиране на предпоставките За да настроите ou
Laravel GitScrum или GitScrum е инструмент за производителност с отворен код, предназначен да помогне на екипите за разработка да внедрят методологията на Scrum по подобен начин.
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече