기본 구성이나 시작 파일이 존재할 때 개인 구성이나 시작 파일을 더 쉽게 배포할 수 있도록 하려면 어떻게 해야 합니까?

기본 구성이나 시작 파일이 존재할 때 개인 구성이나 시작 파일을 더 쉽게 배포할 수 있도록 하려면 어떻게 해야 합니까?

그 후에 후속 질문이 있습니다.https://unix.stackexchange.com/a/435293/674

예를 들어, 백업 외장 하드 드라이브나 github 저장소에 개인 구성이나 시작 파일 .profile(또는 기타 구성이나 시작 파일) 이 있다고 가정해 보겠습니다.

일시적으로 또는 영구적으로 새로운 Ubuntu 시스템으로 전환한다고 가정해 보겠습니다. 새로운 운영 체제에는 기본값이 있습니다 ~/.profile.

백업 파일을 새 시스템에 배포할 때 백업 파일과 기본 파일을 수동으로 병합해야 합니까, 아니면 새 시스템의 기본 파일을 백업 파일로 덮어쓸 수 있습니까?

구성 파일의 기본 섹션이 이전 시스템과 새 시스템 간에 다를 수 있으므로 덮어쓰기가 좋은 생각인지 잘 모르겠습니다.

배포를 더 간단하고 쉽게 만들 수 있는 모범 사례가 있습니까?

예를 들어, 백업 파일에 수동으로 추가한 명령만 포함하고 이를 새 시스템에 배포할 때 새 시스템의 기본 콘텐츠 파일을 백업에 추가하는 것이 좋은 생각인지 궁금합니다. 새 시스템의 기본 파일을 백업 파일에 대한 심볼릭 링크로 바꿉니다.

감사해요.

답변1

백업 파일을 새 시스템에 배포할 때 백업 파일과 기본 파일을 수동으로 병합해야 합니까, 아니면 새 시스템의 기본 파일을 백업 파일로 덮어쓸 수 있습니까?

필요한? 기술적으로는 그렇지 않습니다. 사실 맞아요. 실제로, 일반적으로 병합보다 더 많은 것을 고려해야 합니다. 이전 파일의 일부 명령이 새 파일에 대해 잘못된 것을 발견하고 간단히 삭제할 수 있기 때문입니다.

구성 파일의 기본 섹션이 이전 시스템과 새 시스템에서 다를 수 있으므로 덮어쓰기가 좋은 생각인지 잘 모르겠습니다.

일반적으로 환경 설정 파일에는 두 가지 광범위한 명령 범주가 있습니다.

  • 구성 관련 설정소프트웨어 및 기능호스트에서 사용할 수 있으며
  • 쉘 환경맞춤 제작

후자는 쉘 버전 간의 비호환성으로 인해 발생할 수 있는 유일한 문제이므로 전송하기에 어느 정도 안전합니다. 실제로 이러한 문제가 발생하는 경우는 거의 없습니다. 그러나 전자는 전혀 의미 전달이 없을 수도 있습니다.

설치되지 않은 소프트웨어에서 사용할 환경 변수를 설정하거나 실제로 존재하지 않는 경로 요소를 추가하는 것은 일반적으로 해롭지 않지만 기본 셸 시작 파일의 내용을 손상시키는 경우 사용 가능한 소프트웨어에 액세스하지 못할 수 있습니다. 또는 보다 심층적인 사용자 정의를 수행하면 새 시스템과 함께 제공되지 않는 소프트웨어에 의존하거나 새 시스템의 소프트웨어에서 요구하는 대로 작동하지 않는다는 것을 알 수 있습니다.

배포를 더 간단하고 쉽게 만들 수 있는 모범 사례가 있습니까?

예. 시스템은 사용자별 셸 시작 파일에 의존하지 않거나 최소한 위의 첫 번째 설정을 입력하지 않아야 합니다. 사용자별 파일을 설정하거나 관리할 필요가 없는 사용자 환경을 구성하기 위한 훌륭하고 잘 테스트된 메커니즘이 있습니다. 이상적으로 시스템은 비어 있지 않은 사용자별 셸 시작 파일을 전혀 제공하지 않습니다.

사용자 측에서는 셸 환경 사용자 정의를 특정 도구 및 애플리케이션 구성과 분리하는 것이 좋습니다. 별도의 파일을 사용하는 것이 좋습니다. 이상적으로는 후자가 거의 필요하지 않으며 필요한 것은 모듈식인 것이 좋습니다.

예를 들어, 백업 파일에 수동으로 추가한 명령만 포함하고 이를 새 시스템에 배포할 때 새 시스템의 기본 콘텐츠 파일을 백업에 추가하는 것이 좋은 생각인지 궁금합니다. 새 시스템의 기본 파일을 백업 파일에 대한 심볼릭 링크로 바꿉니다.

~/.profile-Tim기본 파일(있는 경우)을 추가 항목과 별도로 유지하려면 추가 항목을 완전히 다른 파일(예:

test -r ~/.profile-Tim && . ~/.profile-Tim

백업하거나 전송하지 말고 ~/.profile필요에 따라 다시 업데이트하여 맞춤 콘텐츠를 얻으세요.

그러나 마이그레이션하는 개인 소프트웨어 구성 설정이 새 환경에 적합하지 않을 수 있으므로 문제가 발생할 수 있습니다. 사용자 정의를 모듈식으로 유지하여 관리하기 쉽게 만들 수 있지만 사용자 정의의 특성은 기본 시스템에 특정 수준의 특수성을 갖는 것입니다.

관련 정보