나는 많이 검색했지만 성공하지 못했습니다. 내 문제는 Arch Linux에 여러 응용 프로그램 인스턴스를 설치하고 싶다는 것입니다. 더 구체적으로 말하자면, 최신 Skype 인스턴스 2~3개를 원합니다. 하나는 업무용, 하나는 개인용, 하나는 대학용입니다. 각각은 서로 다른 디렉터리, 서로 다른 데스크탑 항목 및 서로 다른 설정을 가지고 있어야 합니다. 이것은 단지 스카이프 문제가 아닙니다. Windows에서는 이것이 쉽습니다. 설치 경로를 다르게 설정하면 다른 인스턴스가 생깁니다. 하지만 리눅스에서는 이것을 할 수 없습니다. 다른 소프트웨어에서도 이 작업을 수행하는 방법을 알고 싶습니다.
맞춤 포장으로 해야 할 것 같은데 어디서부터 시작해야 할지 모르겠어요!
감사해요
답변1
아마도 당신이 잘못된 것을 찾고 있다고 생각합니다. 프로그램(바이너리)과 설정은 매우 다릅니다. 동일한 프로그램 바이너리를 다른 설정(예: 다른 사용자)에서 사용할 수 있습니다.
Windows에서는 응용 프로그램의 설정을 "프로그램 파일"에 저장하는 경향이 있었지만 이러한 현상은 점점 줄어들고 있습니다. 일반적으로 사용자 애플리케이션에 대한 설정은 Windows 및 Linux의 홈 디렉터리 어딘가에 저장됩니다. Linux에서 설정을 응용 프로그램 디렉터리에 저장하는 것은 /etc
.
다른 설정으로 애플리케이션을 두 번 실행하는 방법을 찾고 있습니다.
환경 HOME
변수는 일반적으로 홈 디렉터리 위치로 설정됩니다. 설정을 위해 홈 디렉터리를 사용하는 애플리케이션은 HOME
환경 변수만 읽을 수 있습니다. 애플리케이션을 실행하기 전에 이를 변경하면 이러한 요구 사항을 충족하기에 충분합니다. 명령줄에서 이 작업을 수행하거나 간단한 쉘 스크립트를 작성하여 수행할 수 있습니다.
#!/bin/bash
mkdir -p ~/.work
export HOME=~/.work
skype
이것이 작동하지 않으면 응용 프로그램을 설정하고 사용하기 위해 더 극단적인 조치가 필요할 수 있습니다.chroot환경.
답변2
간단하고 깔끔한 방법은 다른 사용자로부터 해당 응용 프로그램을 시작하는 것입니다.
이 방법으로 실행된 바이너리는 동일합니다(/usr등) 그러나 $HOME
다릅니다.
이 솔루션에는 몇 가지 중요한 단점이 있으며 귀하의 요구 사항과 호환되지 않을 수 있습니다.
- 각 인스턴스에는 새로운 사용자가 필요합니다
- 할 수 없다공유하다그들 사이에 데이터를 쉽게 전송
하나진화이 개념의 핵심은 다음을 사용하여 애플리케이션을 시작하는 것입니다.가상 기기;
나는 이것이 위의 문제를 극복한 이전 솔루션의 진화라고 봅니다.
- 새로운 인스턴스는 다음을 통해 쉽게 생성될 수 있습니다.클론가상 기기
- 데이터 공유 가능용이하게VM 간, VM과 호스트 간
단점은 리소스가 많이 필요하다는 점
이지만, 명심하세요.이것은비율VM 발명의 업스트림!