Linux에서 소스 코드를 컴파일해야 하는 이유는 무엇입니까?
이유: 1. Linux 버전은 많지만 버전마다 사용하는 소프트웨어나 커널 버전이 다르며, 바이너리 패키지가 의존하는 환경이 반드시 정상적으로 실행되지 않을 수도 있으므로 대부분의 소프트웨어는 컴파일 및 설치를 위한 소스 코드를 직접 제공합니다. 2. 다양한 요구 사항을 충족하도록 쉽게 사용자 정의할 수 있습니다. 3. 운영 및 유지관리가 편리하고, 개발자 유지관리가 편리합니다. 소스코드를 바이너리로 패키징할 수 있지만, 이 소프트웨어를 패키징하려면 유지관리를 포함한 비용이 많이 드는 추가 작업이 필요하므로 소스코드인 경우 소프트웨어 제조업체가 직접 유지관리합니다. .
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
Linux에서 소스 코드 컴파일이 필요한 이유
일반적으로 소프트웨어 설치 방법에는 yum(rpm) 및 소스 코드 컴파일이 포함됩니다. 그러면 일부 소프트웨어를 설치하려면 소스 코드 컴파일이 필요한 이유는 무엇입니까? 소프트웨어를 컴파일하고 설치하기 위해 소스 코드를 선택하는 데에는 여러 가지 이유가 있습니다:
다양한 운영 플랫폼을 충족하기 위해. 우리는 많은 Linux 버전을 가지고 있지만 각 버전은 서로 다른 소프트웨어 또는 커널 버전을 사용하며 바이너리 패키지가 의존하는 환경이 있을 수 있습니다. 제대로 작동하지 않으므로 대부분의 소프트웨어는 소스 코드를 직접 제공합니다!
다양한 요구 사항에 맞게 쉽게 사용자 정의할 수 있습니다. 필요한 소프트웨어를 여러 번 사용자 정의할 수 있습니다. 대부분의 바이너리 코드는 한 번의 클릭으로 설치할 수 있으므로 자유도가 높지 않습니다.
저희 소스코드는 바이너리로 패키징할 수 있지만, 이 소프트웨어를 패키징하려면 유지관리를 포함한 비용이 많이 드는 추가 작업이 필요하므로 소스코드인 경우 소프트웨어 제조업체에서 직접 처리해야 합니다. 유지 관리는 가능하지만 바이너리인 경우에는 일반적으로 Linux 배포자에서 제공합니다.
linux 컴파일 소스 코드 튜토리얼
Linux의 거의 모든 소프트웨어는 GPL 라이센스가 있으므로 거의 모든 소프트웨어가 소스 코드를 제공합니다.
Linux에서 실행하려면 소프트웨어가 바이너리 파일이어야 합니다. 따라서 소프트웨어 소스 코드를 얻을 때 Linux에서 실행되기 전에 이를 바이너리 파일로 컴파일해야 합니다.
1. 소프트웨어 컴파일 프로세스
소스 코드를 Linux에서 실행할 수 있는 바이너리 파일로 컴파일하려면 두 단계를 거쳐야 합니다.
gcc 컴파일러를 사용하여 소스 코드를 개체 파일로 컴파일합니다.
gcc를 다시 사용하세요. 컴파일러는 개체 파일을 바이너리 파일로 연결합니다
이 과정은 간단해 보이지만 그렇지 않습니다. 소프트웨어의 소스 코드는 여러 소스 파일에 캡슐화되는 경우가 많습니다. 또한 이러한 파일은 복잡한 종속성을 가지며 컴파일은 지정된 순서에 따라 엄격하게 수행되어야 하므로 의심할 여지 없이 컴파일의 난이도가 높아집니다. 다행스럽게도 make 명령은 컴파일 프로세스를 단순화하는 데 도움이 될 수 있습니다.
전체 컴파일 프로세스는 Makefile 파일에 압축되어 있습니다(make 명령에 프로그램을 컴파일하고 링크하는 방법을 알려줌). make 명령이 실행되면 make는 현재 디렉터리에서 Makefile 파일을 찾고 그에 따라 전체 컴파일을 완료합니다. 파일의 요구 사항에 따라.
Makefile 파일은 구성 명령에 의해 생성됩니다. 구성 명령을 실행할 때 구성은 make 명령에서 사용할 현재 시스템 환경을 기반으로 이 시스템에 적합한 Makefile을 동적으로 생성합니다.
2. Linux 소스코드 설치 단계
소스코드 받기
소프트웨어의 소스코드를 /usr/local/에 다운로드하고 압축을 푼다.INSTALL 및 README 파일 보기
압축 해제 후 INSTALL 및 README 파일을 확인하세요. 이 두 파일에는 본 소프트웨어의 설치 방법과 주의 사항이 자세히 설명되어 있습니다.Makefile 만들기
configure 명령을 실행하여 Makefile을 생성하세요.컴파일
make clean;make 명령을 실행하여 소스 코드를 바이너리 파일로 컴파일합니다.
PS: make clean 명령은 마지막 컴파일에서 생성된 대상 파일을 지우는 데 사용됩니다. 이 단계는 선택사항이지만 성공적인 컴파일을 위해서는 추가하는 것이 좋습니다. 소프트웨어의 잔여 개체 파일로 인한 컴파일 실패를 방지합니다.Installation
make install 명령을 실행하여 이전 단계에서 컴파일한 바이너리 파일을 지정된 디렉터리에 설치합니다.
3. 설치 설치 데모
1)/usr/local/를 입력하고 memcached 디렉토리를 만듭니다. 소스 코드
cd /usr/local/ mkdir memcached
4) Makefile을 생성하려면 구성을 실행하세요.
wget http://memcached.org/files/memcached-1.4.29.tar.gz
이때 현재 디렉터리에 Makefile이 생성됩니다.
참고: –prefix 매개변수는 소프트웨어 설치 디렉터리를 지정합니다. make install 명령이 실행되면 이 경로에 소프트웨어가 설치됩니다. 이 매개변수를 지정하지 않고 접두사를 지정하지 않으면 실행 파일은 기본적으로 /usr/local/bin에 배치되고 라이브러리는 설치됩니다. 파일은 기본적으로 /usr/local/lib에 위치하며, 구성 파일은 기본적으로 /usr/local/etc에 위치합니다. 다른 리소스 파일은 /usr/local/share에 있습니다.5) make를 실행하고 Makefile의 지침을 읽고 소스 코드를 컴파일합니다
make
此时make会读取Makefile文件,将源码编译成二进制文件,并存放在当前目录下。
执行这一步之前可以先进行清理作业:
make clean && make uninstall
6)执行make install,将软件安装至指定目录
make install
此时二进制文件会被安装到先前configure prefix参数设置的路径中去。
安装完成!
4、cmake命令(了解)
cmake就是一个与make同级别的编译工具,只不过它依靠的不是Makefile作为编译规则,而是根据CMakeLists.txt来编译的。
CMake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,通过编写CMakeLists.txt,可以控制生成的Makefile,从而控制编译过程。
CMake自动生成的Makefile不仅可以通过make命令构建项目生成目标文件,还支持安装(make install)、测试安装的程序是否能正确执行(make test,或者ctest)、生成当前平台的安装包(make package)、生成源码包(make package_source)、产生Dashboard显示数据并上传等高级功能,只要在CMakeLists.txt中简单配置,就可以完成很多复杂的功能,包括写测试用例。
如果有嵌套目录,子目录下可以有自己的CMakeLists.txt。
相关推荐:《Linux视频教程》
위 내용은 Linux에서 소스 코드를 컴파일해야 하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Root로 MySQL에 로그인 할 수없는 주된 이유는 권한 문제, 구성 파일 오류, 암호 일관성이 없음, 소켓 파일 문제 또는 방화벽 차단입니다. 솔루션에는 다음이 포함됩니다. 구성 파일의 BAND-ADDRESS 매개 변수가 올바르게 구성되어 있는지 확인하십시오. 루트 사용자 권한이 수정 또는 삭제되어 재설정되었는지 확인하십시오. 케이스 및 특수 문자를 포함하여 비밀번호가 정확한지 확인하십시오. 소켓 파일 권한 설정 및 경로를 확인하십시오. 방화벽이 MySQL 서버에 연결되는지 확인하십시오.

MySQL 시작이 실패하는 데는 여러 가지 이유가 있으며 오류 로그를 확인하여 진단 할 수 있습니다. 일반적인 원인에는 포트 충돌 (포트 점유 체크 및 구성 수정), 권한 문제 (서비스 실행 사용자 권한 실행), 구성 파일 오류 (파라미터 설정 확인), 데이터 디렉토리 손상 (데이터 복원 또는 테이블 공간 재건), IBDATA 테이블 공간 문제 (IBDATA1 파일 확인), 플러그로드 (확인 오류 로그)가 포함됩니다. 문제를 해결할 때 오류 로그를 기반으로 문제를 분석하고 문제의 근본 원인을 찾고 문제를 방지하고 해결하기 위해 정기적으로 데이터를 백업하는 습관을 개발해야합니다.

MySQL은 Android에서 직접 실행할 수는 없지만 다음 방법을 사용하여 간접적으로 구현할 수 있습니다. Android 시스템에 구축 된 Lightweight Database SQLite를 사용하여 별도의 서버가 필요하지 않으며 모바일 장치 애플리케이션에 매우 적합한 작은 리소스 사용량이 있습니다. MySQL 서버에 원격으로 연결하고 데이터 읽기 및 쓰기를 위해 네트워크를 통해 원격 서버의 MySQL 데이터베이스에 연결하지만 강력한 네트워크 종속성, 보안 문제 및 서버 비용과 같은 단점이 있습니다.

터미널에서 MySQL에 액세스 할 수 없음 : MySQL 서비스가 실행되지 않음; 연결 명령 오류; 불충분 한 권한; 방화벽 블록 연결; MySQL 구성 파일 오류.

Linux는 서버, 임베디드 시스템 및 데스크탑 환경에서 널리 사용됩니다. 1) 서버 필드에서 Linux는 안정성 및 보안으로 인해 웹 사이트, 데이터베이스 및 응용 프로그램을 호스팅하기에 이상적인 선택이되었습니다. 2) 임베디드 시스템에서 Linux는 높은 사용자 정의 및 효율성으로 인기가 있습니다. 3) 데스크탑 환경에서 Linux는 다양한 사용자의 요구를 충족시키기 위해 다양한 데스크탑 환경을 제공합니다.

MySQL 및 MariaDB 데이터베이스의 효과적인 모니터링은 최적의 성능을 유지하고 잠재적 인 병목 현상을 식별하며 전반적인 시스템 신뢰성을 보장하는 데 중요합니다. Prometheus MySQL Expler는 능동적 인 관리 및 문제 해결에 중요한 데이터베이스 메트릭에 대한 자세한 통찰력을 제공하는 강력한 도구입니다.

MySQL 연결은 다음과 같은 이유로 인한 것일 수 있습니다. MySQL 서비스가 시작되지 않았고 방화벽이 연결을 가로 채고 포트 번호가 올바르지 않으며 사용자 이름 또는 비밀번호가 올바르지 않으며 My.cnf의 청취 주소가 부적절하게 구성되어 있습니다. 1. MySQL 서비스가 실행 중인지 확인합니다. 2. MySQL이 포트 3306을들을 수 있도록 방화벽 설정을 조정하십시오. 3. 포트 번호가 실제 포트 번호와 일치하는지 확인하십시오. 4. 사용자 이름과 암호가 올바른지 확인하십시오. 5. my.cnf의 바인드 아드 드레스 설정이 올바른지 확인하십시오.

Centos 인터뷰에 대한 자주 묻는 질문과 답변에는 다음이 포함됩니다. 1. yum 또는 dnf 명령을 사용하여 Sudoyumininstallnginx와 같은 소프트웨어 패키지를 설치하십시오. 2. SudouserAdd-m-s/bin/bashnewuser와 같은 userADD 및 GroupADD 명령을 통해 사용자 및 그룹을 관리합니다. 3. 방화구를 사용하여 SudofiRewall-CMD와 같은 방화벽을 구성하십시오. 4. Sudoyuminstallyum-Cron과 같은 Yum-Cron을 사용하도록 자동 업데이트를 설정하고 apply_updates = 예를 구성하십시오.
