몇 년 전에 GUI 기반 Linux를 구축하려고 시도했지만 실제로는 *nix 시스템에 대한 경험이 전혀 없었습니다. 나는 BSD의 철학과 품질에 대한 엄격한 초점, 릴리스 개발 주기에 대한 약간 보수적인 접근 방식을 좋아하고 다른 *nix 제품보다 BSD에 대한 경험이 더 많기 때문에 이번에 BSD로 직접 뛰어들었습니다.
제가 정말로 확신할 수 없는 부분 중 하나는 설정에 대한 구성 변경 사항을 추적하는 것입니다. 모든 구성은 "/path/rc.things 편집" 또는 "이 줄을 pkg-x.conf에 추가" 또는 "환경 또는 pkg에서 이러한 변수 설정"의 경우입니다. 이런 지침은 만족스럽습니다. 유지 관리와 재사용이 문제입니다. 설정하고 사용하는 동안 변경한 내용을 정확히 추적하려면 어떻게 해야 하며, 해당 변경 사항을 다른 시스템에서 다시 적용하려면 어떻게 해야 합니까? 앞으로는 3개월을 할애하지 않고 앞에 있는 파일을 하나하나 구별하고 한줄씩 확인해서 쉽게 변경할 수 있도록 하는 방법은 무엇일까요? 경험을 통해 배우면서 처음에는 많은 것을 얻을 수 있을 것으로 기대합니다.
내 목표는 유사하거나 동일한 설정(단일 LAN에서 공통)으로 구성된 대부분의 시스템/패키지로 두 번째 서버를 설정하거나 학습 곡선의 일부로 백업, 지우기 및 다시 설치하려는 것입니다. 시스템을 업데이트하려면 txt 파일 목록이 필요하지 않습니다. 조각난 구성으로 400개의 파일을 계속 나열하고 있는데, 모두 수동으로 다시 생성해야 하거나 콘솔에서 여러 줄을 편집해야 합니다. 또한 아무 생각 없이 모든 파일을 복원하거나, 내가 모르는 구성이나 기타 기록/활동 정보가 포함된 파일을 찾거나, 환경 데이터를 잃어버리고 파일 위치를 파악하는 데 많은 시간을 소비하고 싶지 않습니다. 새 시스템에서 복사하거나 편집해야 합니다. 콘텐츠가 숨겨질 수 있습니다.
(주요 운영 체제에서) 정말 간단한 솔루션이 있는지 잘 모르겠습니다. GUI가 있는 Windows에서도 다양한 디렉터리, 레지스트리 분기 등에 저장된 파일과 항목을 고려해야 합니다. 하지만 적어도 나는 Windows에서 수년간의 시행착오를 겪었기 때문에 컴퓨터를 어떻게 사용하는지에 따라 무엇을 얻을 수 있는지 정확히 알고 패키지별로 상당히 빠르게 수행할 수 있습니다. 나는 어떤 패키지를 사용하는지, 어떤 패키지의 구성 디렉터리나 레지스트리 설정을 복원할 수 있는지, GUI나 다른 수단을 통해 무엇을 해야 하는지, 어떤 유용한 시스템 조정을 추가해야 하는지 알고 있습니다.
또한 어떤 경우에는 이전 구성이나 상태를 복원하기 위해 폴더를 복사하는 것이 안전하며 어떤 경우에는 설정하고 system/pkg에서 수행해야 하는 다른 사항이 있으므로 그렇게 하지 않는 것이 더 좋은 경우도 알고 있습니다. 갈 길이 멀다.
저는 아직 BSD에 대해 잘 모릅니다.
긍정적인 측면으로는, 내가 할 때 무엇을 해야 하는지 대략적으로 파악할 수 있는 충분한 지식과 경험이 있고, 완전한 재난을 피할 수 있는 충분한 보안과 모범 사례가 있다고 생각합니다. 또는 그렇게 할 수 있었으면 좋겠습니다. 따라서 현재 BSD 연습을 사용하는 것이 제가 배울 수 있는 유일한 실제 방법입니다.
BSD 사용/관리 분야에 어떻게 접근해야 하며, BSD를 아는 사람들은 결국 어떤 솔루션을 사용하게 됩니까?
즉, BSD를 사용하기 시작할 때 그렇게 힘들거나 시간이 많이 걸리지 않는 방식으로 설정을 추적, 단순화 및 복원하는 방법(콘솔 파일을 편집하고 비교하는 데 며칠을 소비하지 않고 선택적으로 복원할 수 있도록!) 올바르게, 또는 워크플로우와 프로세스에 관해서라면 어떤 지식이나 패키지가 도움이 될까요?
답변1
많은 직업이 고립될 수 있습니다. /etc에는 미러링할 수 있는 일반적으로 사용되는 편집 파일이 많이 있습니다 /usr/local/etc
. 로컬 변경 사항을 여기에 넣으면 일반적으로 적용됩니다.
rc.conf
조금 지저분하지만 거기에 줄을 넣어 다른 곳에서 물건을 가져올 수 있습니다. periodic.conf
그것은 거의 같은 방식으로 작동합니다.
rc.d
파일(있는 경우)을 에 넣을 수 있으며 /usr/local/etc/rc.d
시스템 파일과 별도로 보관할 수 있습니다.
작은 파일을 사용하여 원하는 작업을 수행 할 수 syslog.conf
있으므로 편집할 필요가 없습니다 . 이러한 디렉터리를 복사하는 것은 원본 개별 파일을 편집하는 것보다 훨씬 쉽습니다. 원본 단일 파일의 일부로 실행되는 모든 작은 파일을 넣을 수 있는 .d로 끝나는 다양한 디렉터리가 있습니다. 조심하세요 . 모든 파일 이름을 끝내야 합니다 . 그렇지 않으면 무시됩니다! newsyslog.conf
/usr/local/etc/{newsyslog,syslog}.conf.d
syslog.conf.d
.conf
및 (예: /etc
및 /boot
)에는 가 .local
포함됩니다 /boot/loader.conf.local
. 이러한 디렉토리는 기본 시스템 디렉토리와 잘 분리되어 있지 않지만 이름이 지정되어 있어 알아보고 유지 관리하기가 더 쉽습니다.
커널 구성 파일이 있는 경우 예를 들어 /root/config
. 그런 다음 커널을 빌드하기 전에 /sys/i386/conf
(또는 어디에서나) 심볼릭 링크를 만듭니다 . 그렇지 않으면 업데이트를 통해 /usr/src
해당 파일이 지워집니다. 커널 구성 파일을 다시 생성(또는 복원)하는 것보다 심볼릭 링크를 다시 생성하는 것이 더 쉽습니다.
이러한 유용한 도우미 파일이 모두 기본적으로 존재하는 것은 아닙니다. 그렇기 때문에 "기본" 파일의 매뉴얼 페이지를 확인하여 어떤 대안이 사용 가능한지 확인해야 합니다.
요컨대
편집하고 있는 각 파일에 대해 해당 맨 페이지를 주의 깊게 읽으십시오. 대부분의 경우 로컬 파일을 편집 또는 생성하거나 파일을 로컬 디렉터리에 배치할 수 있습니다. 이것은 거의 모든 것을 함께 가져옵니다 /usr/local/etc
.