![a.out 파일(실행 파일)을 복사하는 것과 애플리케이션을 설치하는 것의 차이점은 무엇인가요?](https://rvso.com/image/898931/a.out%20%ED%8C%8C%EC%9D%BC(%EC%8B%A4%ED%96%89%20%ED%8C%8C%EC%9D%BC)%EC%9D%84%20%EB%B3%B5%EC%82%AC%ED%95%98%EB%8A%94%20%EA%B2%83%EA%B3%BC%20%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%9D%84%20%EC%84%A4%EC%B9%98%ED%95%98%EB%8A%94%20%EA%B2%83%EC%9D%98%20%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80%EC%9A%94%3F%20.png)
응용프로그램을 설치하는 것과 응용프로그램의 실행파일(예:a.out)을 복사하는 것의 차이점은 무엇인가요? a.out 파일을 실행하면 결과가 나오고, 설치된 애플리케이션을 실행해도 결과가 나옵니다. 어떤 사람이 "응용 프로그램 설치"라고 말하는 것과 실행 파일을 복사하는 경우의 차이점을 이해하지 못합니다. 응용 프로그램이 설치되면 실제로 어떤 일이 발생합니까? 한 컴퓨터에서 다른 컴퓨터(동일한 OS 및 유사한 하드웨어)로 실행 파일을 복사하여 실행하는 것과 어떻게 다릅니까?
답변1
글쎄, 말할 때설치dpkg
이는 일반적 으로 더 높은 수준의 제품군 과 같은 패키지 관리자를 사용한다는 의미입니다 apt
. 이 경우 실행 파일은 실행 파일, 맨페이지, 개발자 파일, 구성 파일 등을 실행하는 데 필요한 추가 라이브러리를 포함할 수 있는 패키지로 제공됩니다. 이것의 장점은 관리자가 무엇이 설치되어 있는지 추적하고 또한 새 소프트웨어나 업데이트를 설치할 때 새 소프트웨어가 이미 설치된 다른 소프트웨어 및 라이브러리와 충돌하여 다른 응용 프로그램이 충돌할 수 없도록 보장합니다.
따라서 실행 파일을 다른 시스템에 복사하는 것만으로도 작동할 수 있지만 문제가 발생할 수 있으므로 권장되지 않습니다. /bin/
, /sbin
, /usr/bin
, 와 같은 시스템 경로 외부에 실행 파일을 복사하는 것이 안전합니다 /usr/sbin
. 이러한 목적으로 및
를 사용하거나 실행 파일 아래에 디렉터리를 만들어 거기에 배치하는 것이 더 좋습니다. 그런 다음 전체 경로로 실행 파일을 호출하거나 환경 변수에 실행 파일 경로를 추가합니다./usr/local/bin
/usr/local/sbin
/opt
PATH
$ mkdir -p /opt/myapp/bin
$ cp myexec /opt/myapp/bin/
$ /opt/myapp/bin/myexec
또는
$ export PATH=$PATH:/opt/myapp/bin
$ myexec
답변2
모든 Unix 계열 운영 체제(Ubuntu 등)의 핵심 원칙은 다음과 같습니다.모든 것이 파일이다. 패키지의 내용을 살펴보면 실행 파일도 찾을 수 있으며, 그렇습니다. 소프트웨어와 하드웨어의 조합이 정확히 동일한(또는 적어도 매우 유사한) 두 컴퓨터에 대한 것입니다(플랫폼), 실행 파일을 사용할 수 있습니다. 그러나 대부분의 프로그램은 단 하나의 실행 파일로만 구성되지 않습니다. 더 복잡한 패키지의 예를 실행해 보세요 ls -R /usr |grep libreoffice
. 개별 위치에 있는 모든 파일을 지금 직접 복사하고 싶지는 않을 것입니다. 그렇죠?
어떤 경우에는(특히 작은 프로그램을 테스트할 때) 누군가에게 실행할 수 있는 실행 파일을 보내는 것이 의미가 있지만 거의 항상 완성된 제품에 대한 패키지를 제공하고 싶을 것입니다.
패키지 관리자는 일반적으로 종속성 설치, 설치된 애플리케이션 및 PATH 목록에 프로그램 추가, 마지막으로 새 버전이 출시될 때 프로그램을 업데이트하는 옵션도 제공합니다.