Cách cài đặt SuiteCRM trên Ubuntu 16.04
Hướng dẫn cài đặt SuiteCRM, một giải pháp CRM mã nguồn mở, trên Ubuntu 16.04 với các bước chi tiết và dễ hiểu.
GDB là trình gỡ lỗi cho C, C ++, Objective-C, Pascal, Fortran, Go, D, OpenCL C, Ada và Modula-2.
CentOS dựa trên RHEL (Red Hat Enterprise Linux). Một trong những mục tiêu chính của RHEL là trở thành một hệ điều hành máy chủ ổn định, nghĩa là các phiên bản mới hơn của các gói phần mềm không phải lúc nào cũng có sẵn.
Tại thời điểm viết bài, CentOS 6 cung cấp GDB v7.2. Nhóm GDB, tuy nhiên, gần đây đã phát hành mã cho v7.91.
Chính thức đề xuất chạy một bản phân phối Linux khác để sử dụng phiên bản GDB mới hơn. Điều này không phải lúc nào cũng lý tưởng. May mắn thay, có thể cài đặt các phiên bản GDB mới hơn trên CentOS 6. Vì GDB là trình gỡ lỗi chứ không phải là thành phần cốt lõi của hệ thống, nên bạn khá an toàn khi sử dụng phiên bản mới hơn.
Bài viết này giải thích cách cài đặt cả phiên bản GDB được hỗ trợ và không được hỗ trợ trên CentOS 6.
Tôi cũng sẽ giải thích cách thiết lập GDB để cung cấp cho bạn thông tin gỡ lỗi dễ đọc hơn khi sử dụng Thư viện chuẩn C ++ (như chuỗi) và Thư viện mẫu chuẩn (như vectơ). Tính năng này được gọi là in ấn đẹp.
Đăng nhập vào VPS của bạn. Điều này có thể được thực hiện bằng cách nhấp vào "Xem Bảng điều khiển" trong bảng điều khiển Vultr hoặc với ứng dụng khách SSH.
(a) Đăng nhập bằng root.
(b) Tạo tài khoản người dùng của riêng bạn. Đặt mật khẩu.
adduser <username>
passwd <username>
(c) Cấp quyền truy cập sudo cho người dùng.
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) Đăng xuất bằng root, sau đó đăng nhập lại bằng tài khoản người dùng của bạn. An toàn hơn nhiều khi không bao giờ thực sự đăng nhập bằng root. Sử dụng sudo là một thực hành tốt hơn.
Cài đặt GDB.
sudo yum install gdb
Kiểm tra phiên bản đã cài đặt và xem vị trí của nó.
gdb --version
May say: GNU gdb (GDB) Red Hat Enterprise Linux (7.2-75.el6)
which gdb
/usr/bin/gdb
Cài đặt trình biên dịch C, chẳng hạn như GCC. Trình biên dịch C ++ không cần thiết để xây dựng GDB từ nguồn, nhưng cần thiết để thể hiện tính năng in đẹp của GDB. Bạn có thể xây dựng một phiên bản GCC mới hơn từ nguồn bằng cách thực hiện các bước trong bài viết Cách cài đặt GCC trên CentOS 6 . Hoặc, bạn có thể cài đặt phiên bản GCC được hỗ trợ chính thức của CentOS 6 bằng cách chạy:
sudo yum install gcc gcc-c++
Cài đặt thêm các gói yêu cầu.
sudo yum install wget tar gzip ncurses-devel texinfo svn python-devel
Quyết định phiên bản GDB nào bạn muốn xây dựng từ nguồn. Truy cập trang web GDB FTP để xem các phiên bản có sẵn để tải xuống.
Lấy nguồn của phiên bản GDB mà bạn muốn. Phần còn lại của bài viết này được viết cho v7.9.1 và sẽ tải xuống các nguồn vào ~/sourceInstallations/gdb-7.9.1/- bạn sẽ phải thay thế số phiên bản phù hợp cho các phiên bản mới hơn.
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
Xây dựng GDB. Nếu điều này hoàn thành chính xác, dòng cuối cùng bạn sẽ thấy sẽ nói "thành công". Việc nhìn thấy một số thông báo tìm lỗi nhanh chóng là điều bình thường. Đây là an toàn để bỏ qua.
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ài đặt C ++ in ấn đẹp.
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.
Kiểm tra phiên bản đã cài đặt và vị trí của nó.
gdb --version
May say: GNU gdb (GDB) 7.9.1
which gdb
/usr/local/bin/gdb
Tùy chọn chạy GDB và thấy in ấn đẹp.
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.
Tùy chọn lấy lại dung lượng ổ cứng. Thư mục của bạn ~/sourceInstallationssẽ chiếm khoảng 386MB. Có thể là khôn ngoan để giữ các thư mục, vì có một số tùy chọn cấu hình tùy chọn mà bạn có thể cần sử dụng tại một thời điểm nào đó trong tương lai, và sẽ nhanh hơn nếu có nhiều việc đã được thực hiện. Ngoài ra, quá trình xây dựng tạo ra các bản ghi mà sau này bạn có thể kiểm tra và làm việc nếu có sự cố. Nhưng, sau khi chạy sudo make installtrước đó, GDB đã cài đặt của bạn không phụ thuộc vào bất cứ thứ gì trong thư mục này và không gian có thể ở mức cao hơn, vì vậy bạn có thể thực hiện bước này và lấy lại 386MB hoặc hơn. QUAN TRỌNG: không xóa ~/gdb_printers/thư mục! Nội dung của thư mục này được tải mỗi khi bạn chạy GDB. Chúng KHÔNG được biên dịch vào chính GDB.
cd ~/
rm -rf sourceInstallations
--- Again, if you can spare the space, you may someday be happy to have left it there.
Hướng dẫn cài đặt SuiteCRM, một giải pháp CRM mã nguồn mở, trên Ubuntu 16.04 với các bước chi tiết và dễ hiểu.
ReactOS, một hệ điều hành mã nguồn mở và miễn phí đã có phiên bản mới nhất. Liệu nó có thể đáp ứng đủ nhu cầu của người dùng Windows hiện đại và hạ gục Microsoft? Hãy cùng tìm hiểu thêm về trải nghiệm hệ điều hành kiểu cũ nhưng mới hơn này.
Các cuộc tấn công ransomware đang gia tăng, nhưng liệu AI có thể giúp đối phó với loại virus máy tính mới nhất? AI có phải là câu trả lời? Đọc ở đây biết là AI boone hay cấm
Whatsapp cuối cùng đã ra mắt ứng dụng Máy tính để bàn cho người dùng Mac và Windows. Giờ đây, bạn có thể truy cập Whatsapp từ Windows hoặc Mac một cách dễ dàng. Có sẵn cho Windows 8+ và Mac OS 10.9+
Hãy đọc phần này để biết Trí tuệ nhân tạo đang trở nên phổ biến như thế nào đối với các công ty quy mô nhỏ và làm thế nào nó đang tăng khả năng khiến họ phát triển và giúp đối thủ cạnh tranh của họ có thể cạnh tranh.
Gần đây Apple đã phát hành macOS Catalina 10.15.4 một bản cập nhật bổ sung để khắc phục các sự cố nhưng có vẻ như bản cập nhật đang gây ra nhiều vấn đề hơn dẫn đến việc máy mac bị chai. Đọc bài viết này để tìm hiểu thêm
13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn
Máy tính của chúng tôi lưu trữ tất cả dữ liệu một cách có tổ chức được gọi là hệ thống tệp Ghi nhật ký. Đây là một phương pháp hiệu quả cho phép máy tính tìm kiếm và hiển thị các tệp ngay khi bạn nhấn tìm kiếm. Https://wethegeek.com/? P = 94116 & preview = true
Khi Khoa học phát triển với tốc độ nhanh chóng, chiếm rất nhiều nỗ lực của chúng ta, những rủi ro của việc phục tùng bản thân trước một Điểm kỳ dị không thể giải thích cũng tăng lên. Hãy đọc, điểm kỳ dị có thể có ý nghĩa gì đối với chúng ta.
Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1