Windows 레지스트리와 동등한 Linux


57

Linux가 Windows 레지스트리와 동등한 것은 무엇입니까? Linux에 동등하거나 유사한 구조가없는 경우 Windows 레지스트리에서 수행되는 작업은 Linux에서 어떻게 처리됩니까?

답변:


54

Linux 응용 프로그램은 일반적으로 해당 구성을 응용 프로그램 고유의 텍스트 기반 파일에 저장합니다. 머신 특정 설정은 일반적으로 / etc 디렉토리 트리에 저장됩니다. 사용자 별 설정은 일반적으로 사용자의 홈 디렉토리에 있으며 "."로 시작하는 "숨겨진"파일에 있습니다. ( 'ls -a'를 사용하여 확인하십시오).


5
또한 이러한 텍스트 파일은 사람이 읽을 수 있으며 특정 구성 항목을 설명하는 주석이 포함되어 있다고 덧붙일 수도 있습니다. 따라서 문서를 변경해야 할 때 문서가 종종 바로 앞에 있습니다. 예를 들어 왜 무언가를 변경했는지 등의 메모를 추가 할 수도 있습니다. Windows 레지스트리에는 그러한 "메타 데이터"가 없습니다.
Keith

레지스트리의 목적은 설정을 유지하는 것이 아니라 dll 및 셸 확장과 같은 구성 요소를 운영 체제에 등록하는 것이기 때문에 분명히이 답변에 결함이 있습니다. 거기에 프로그램 구성 저장 기술에 찡그림이 있습니다.
Adam Casey

12
"마중"에 대해 확실하지 않지만 정기적으로 수행됩니다. 대부분의 MS 프로그램과 많은 타사 저장소 구성 데이터가 있습니다.
uSlackr

7
@Dotmister : Windows 3.1 시대에 그 목적이있었습니다. 32 비트 Windows (95 및 NT)부터 레지스트리는 구성 데이터데이터베이스 가되었습니다 .
grawity

흠 ... 그래서 리눅스는 본질적으로 Windows 레지스트리가 방지하도록 설계된 것을합니까?
Iszi

11

/proc 커널 관련 내용

/etc 소프트웨어 관련 자료

그놈 설정은 Windows 레지스트리와 비슷한 것으로 간주 될 수 있습니다.

그러나 Linux와 Windows의 핵심 철학은 직경이 다르기 때문에 (Linux ~ 공개 및 호환, Windows ~ 폐쇄 및 방해) 직접적인 병렬은 없습니다.

편집 : 동의하지 않는 사람들을 위해 여기에 당신을위한 약간의 역사가 있습니다 : http://www.faqs.org/docs/artu/ (당신의 배경이 무엇이든간에 멋진 독서)


28
소프트웨어 설계 철학이 특정 구성 스토리지 구현의 특수성과 어떤 관련이 있는지 알 수 없습니다. 직접적인 병렬성이없는 이유는 Microsoft가 자유를 싫어하기 때문이 아니라 근본적으로 다른 아키텍처이기 때문입니다.
Shinrai 2016 년

8
@Shinrai Unix (및 Linux)의 기본 디자인 철학은 표준화 된 텍스트 형식을 사용하는 것입니다. Windows 레지스트리는 독점 바이너리 형식입니다. "마이크로 소프트는 자유를 싫어한다"는 문맥에서 완전히 벗어났다 Windows는 가능한 한 Unix와 호환되지 않도록 설계되었으며 고유 한 국제 표준을 무시했습니다. 이것은 오래된 역사이지만 Windows 레지스트리의 출처입니다.
Let_Me_Be 2018 년

7
@Let_Me_Be-죄송합니다. 귀하의 말은 "오픈 소스가 최고입니다! Microsoft는 사악한 화신입니다!" 콘텐츠의 리터럴 형식에 대한 토론보다는 웹상의 많은 * nix 광신자와 같습니다. 댓글이 철회되었지만 일부 사람들이 내가 한 것처럼 읽은 것처럼 보이기 때문에 조금 더 명확하게 말할 수 있습니다. (나는 여기에 '폐쇄적 인'것은 특히 잘못된 인상을 준다고 생각합니다.)
Shinrai

12
@Let_Me_Be : Standartized 텍스트 형식을? 농담해야합니다. Windows는 여러 가지면에서 좋지만 일반적인 Registry API가 그 중 하나입니다.
grawity

7
@Let_Me_Be : 단어는 "문서화되지 않은" "표준화"되었습니다. 차라리 하나 개의 배포 것 .reg(또는 파일을 .ini, .xml, .json정규 표현식에 20 개여 설정 파일의 지옥을보다에서 X 기계를 통해, 당신이 원하는 무엇이든) /etc/... 전체 네트워크 설정을 변경하지만 관련이없는 지역 추가를 유지하는 동안 당신 동안 Windows 레지스트리 하이브에 대해 완벽하게 자세한 설명을 찾을 수 는 없으며 그 구조 는 전적으로 비밀이 아닙니다 . (flamewar를 남긴다)
grawity

7

시스템 전체 설정은의 파일에 있으며 /etc, 사용자 별 설정은 일반적으로 사용자 홈 디렉토리에서 숨겨진 파일 (시작 : a.)로 있습니다. 특정 프로그램에 대한 자세한 내용은 해당 매뉴얼 페이지를 참조하십시오 man [program name].


.*rc사용자의 홈 디렉토리에있는 파일 을 언급 할 수 있습니다. /etc시스템 전체에 불과합니다.
Mike DeSimone 2016 년

5

대부분의 응용 프로그램은 텍스트 기반 구성 파일을 사용합니다 (일부 응용 프로그램은 XML 또는 JSON을 사용하지만 각 프로그램마다 고유 한 형식을 가짐). 시스템 전체 구성은 아래에 유지됩니다 /etc.

사용자 구성은 일반적으로 사용자의 홈 디렉토리에 소위 "도트 파일" ( " ."로 시작하는 파일 이름 ; 파일 ls -a을 표시하는 데 사용)으로 저장됩니다. "dotfile creep"을 피하기 위해 최근 프로그램은 XDG 기본 디렉토리 사양 에 ~/.config/따라 구성을 유지하기 시작했습니다 .

다양한 데스크탑 환경에는 자체 레지스트리와 유사한 API가 있습니다. 그놈의 Gconf (더 이상 사용되지 않음) 및 dconf / GSettings (신규); Xfce의 Xfconf


3

Linux에서 분할됩니다. 하나의 장소가 없습니다.

사용자가 실행하는 프로그램의 경우 파일 인 경우 일반적으로 $ HOME / .someprogramrc에 있고 하위 디렉토리를 보증 할만큼 복잡하면 $ HOME / .somedirname에 있습니다. KDE 앱은 모두 $ HOME / .kde의 하위 영역을 찾습니다. 일반적으로 자체 디렉토리를 생성하지 않습니다.

디렉토리를 나열하는 일반적인 작업은 파일 .을 숨김 으로 처리하는 것이므로 ls -A명령 줄에서 사용 show hidden files하거나 GUI 설정을 사용해야합니다 .

시스템에 의해 실행되는 프로그램의 경우 일반적으로 파일입니다. /etc/디렉토리에는 일반적으로 .d끝에 표시되지만 실제로는 명명 규칙이 없습니다 .

커널의 경우 /etc/sysconfig.conf/ proc / sys / *에 쓰는 /etc/init.d의 시작 스크립트 또는에 있습니다.

대부분의 시스템 구성은 시스템을 /etc보다 쉽게 ​​백업 할 수 있도록합니다. /etc/따라서 바이너리가 아닌 구성 파일 만 보유하면 크기가 작습니다.


0

리눅스에는 레지스트리가 없습니다. 그러나 gconf-editor 및 dconf-editor ...와 홈 디렉토리 내부의 숨겨진 파일 / 폴더 (점으로 시작하는 이름 포함), 주로 특정 프로그램에 대한 일부 구성을 포함하는 일반 (TXT) 파일을 살펴 봐야합니다.


-1

Windows 레지스트리는 운영 체제 및 프로그램에 대한 다양한 .ini 및 기타 구성 파일을 자동화하여 더 빨리로드되도록하기 위해 만들어졌습니다. 레지스트리의 모든 정보는 컴퓨터의 다른 곳에도 포함되어 있지만 오늘날에는 일반적으로 쓰기 방지되어 있습니다. Linux는 Vi (시각적 편집기) 또는 기타 편집기를 사용하여 Linux에서 이러한 구성 파일에 액세스하여 편집합니다.


2
안녕하세요, superuser.com에 오신 것을 환영합니다. 나는 당신이 포스터에 말하려고하는 것이 정확하다고 생각하지만, 당신의 대답에는 잘 나오지 않습니다. Linux와 Windows의 작동 방식에 대해 제대로 이해하지 않는 한 달성하려는 내용을 이해하기 어렵다고 생각합니다. 다른 사람이 이해할 수 있도록 답을 다시 생각하고 다시 작성하십시오.
Mogget

-1

Windows :-디렉토리 계층 내의 파일에 데이터를 저장합니다.-이 파일은 언급 된 .dll 및 기타 지원 파일과 유사합니다. 그런 다음 파일은 데이터베이스 (레지스트리)와 같은 관리 시스템을 통해 관리되므로 사용자와보다 쉽게 ​​상호 작용할 수 있습니다. . -이것은 우리가 가리키고 클릭하는 것을 의미하지만 사용 편의성, 빠른 접근성 및 사용하기 쉬운 이름으로 불필요한 데이터 저장을 위해 TONS 데이터가 백그라운드로 기록됩니다.

Linux :-파일은 분리 된 파티션에 저장됩니다 (Linux에서는 화면을 포함하여 하드웨어에 더 직접 액세스 할 수 있음을 기억해야합니다. 모든 것이 CLI를 통해 액세스 가능함). -이러한 파일은 이미 디렉토리 계층 구조에 있습니다 (OS와 같은 스토리지 시스템에서는 Windows와 유사하지만 폴더로 구분되지 않음). 파일을 더 읽기 쉽고 액세스하기는 쉽지만 CLI에 대한 지식이 필요합니다. 그들을 활용할 수 있습니다.

주요 차이점 : Windows는 사용자, 시스템 등의 상호 작용을 관리하기 위해 OS 인터페이스에 데이터베이스 "계층"을 추가합니다. 이렇게하면 GUI를 사용하여 모든 것을 액세스하고 수행하는 것이 더 쉬워 지지만 사용자와 시스템도 만들어집니다. 대부분의 기능을 위해이 데이터베이스 시스템에 크게 의존합니다. 반면에 Linus는 구성 요소와 직접 인터페이스 할 수 있으므로 Windows 포인트 앤 클릭 방식 대신 "언어"를 입력해야합니다. 예, Windows를 통해 CLI를 활용할 수 있지만 Windows와 Linux 비교를 실제로 비교하는 것은 아닙니다. 차이점은 사용자가 데이터에 액세스하는 방법, 시스템이 데이터를 활용하는 방법 및 Windows가 "시스템"을 통해 더 많은 "관리"를 추가하여 "보다 쉬운"방법을 만드는 방법에 있습니다.

CLI / Linux 환경에 익숙하지 않은 사람으로 평가하는 것은 이해할 만하지 만 두 시스템의 의도를 먼저 적용 할 때 훨씬 더 합리적입니다. Linux는 "레지스트리 통합으로 Microsvck가 시도한 시도를 전복시키는 것이 아니라"사용자와 하드웨어 간의 추상화 계층을 제거하여 사용자에게 더 많은 힘을 제공합니다.

이것을 상상하려면 타자기를 생각하십시오. 키를 누르면 기어가 움직이고 잉크가 종이를 만들어 데이터를 생성합니다. Linux에서 사용자는 시스템 커널과 인터페이스하여 하드웨어에서 조치를 수행하는 명령을 입력합니다. Windows 환경에서는 사용자와 하드웨어 사이에 더 많은 잠재적 계층이 있습니다. 응용 프로그램은 OS와 통신하는 명령을 호출하여 시스템 / 커널과 인터페이스하여 하드웨어와 작동합니다. 이 프로세스는 Windows에서 더 많은 변수가 방정식을 입력함에 따라 더 복잡해집니다. 명령을 실행하기 전에 정보를 검색하기 위해 레지스트리와 상호 작용해야하는 명령과 같습니다. 복잡한 작업. 사전로드 된 서비스 및 프로세스는 Linux에서 사용자가 호출해야하는 기능을 관리 할 수 ​​있도록로드됩니다. 그리고 그렇습니다. 리눅스에서 실행되는 프로세스가 있지만 다른 의견이 부정확 한 이유를 더 잘 표시하기 위해 시스템이 어떻게 다른지에 대한 기본 아이디어를 제공하려고합니다. Linux를 사용하는 아이디어는 사용자와 하드웨어 간의 인터페이스를 최소화하여 혼란을 줄이면서 더 간단하게 유지하는 것입니다. Windows는 사용자에 맞게 조정하고보다 쉽게 ​​액세스 할 수있는 방식으로 더 많은 기능을 포함하려고하지만 복잡한 관리 시스템 (비용이 많이 들기 쉽고 문제가 생길 수 있음)이 발생합니다. 또한 레지스트리는 모든 물리적 연결 및 사용자가 저장하고 저장 한 하드웨어와의 다른 물리적 상호 작용에 대한 디지털 정보를 제공 할 수 있습니다 (사용자 / 프로그램으로 정리하지 않은 경우). 나는' d Windows에서 정기적으로 청소해야하는 다양한 / 많은 지점을 청소하는 것 (및 레지스트리의 BIG 문제가 발생할 가능성이있는)과 비교하여 사용하지 않을 때 수동으로 삭제할 수있는 읽기 가능한 파일을 선호합니다. 장면 뒤의 사물을 관리하고 사용자가 저장에 걸리는 더 많은 디지털 트레일을 설정하는 것은 또 다른 계층입니다.

불행히도 많은 사용자들이 Windows를 사용하고 있으며 시험판 ​​전에 Linux를 너무 두려워합니다. 많은 맛이 있으며, 일부는 명령, 쉘 등이 다르기 때문에 초보자로 선택하기가 어렵습니다. "Windows 컨디셔닝"을 제거하면 Linux 배포판이 여러 가지면에서 우수합니다 (부풀린 소프트웨어 없음). 개인적으로 Windows가 우수하다고 생각하는 유일한 시나리오는 게임을하는 것입니다. MS가 한 번에 하나의 OS에 통합하기 위해 더 많은 것을 푸시하면서 항상 더 많은 데이터를 얻기를 원하므로 더욱 혼란스러워집니다. 가지고있는 것은 좋은 기술이며, Linux 배포판으로 게임을하면 새로운 사용자가이 게시물을 읽을 때 이러한 질문에 대답 할 수 있습니다.


3
이것은 답변이 아닌 웅덩이처럼 읽습니다. 질문에 따라 실제로 질문에 대답하려고하는지 의심 스럽다. 또한 여러 곳에서 명백히 잘못 되었습니다. (리눅스의 파일은 별도의 파티션에 저장된? 리눅스의 파일에 액세스하기 위해 CLI 지식이 필요? 리눅스 커널과 직접 상호 작용하는 윈도우? 리눅스 사용자에 비해 하드웨어 추상화를 제거? 정말, WTF?) 나는 사이트 취할 것을 권장 투어 에를 우리가 일을 수행하는 방법을 배우고 제안에 대한 좋은 답변작성하는 방법 을 읽어보십시오 . 그런 다음 이 를 편집 할 수 있습니다 .
CVn

1
@ MichaelKjörling :이 답변의 품질에 대해서는 옳지 만 매우 중요한 사항이 하나 있습니다 .Windows 레지스트리 (regedit 프로그램)는 하나의 응용 프로그램으로 내부는 마치 하나의 구성 데이터베이스에 저장된 것처럼 내부를 보여줍니다. 파일은 PC 전체에 퍼져 있습니다. 이것은 원래 질문을 "Windows의 regedit와 같은 시스템의 전체 구성에 대한 요약을 제공하는 Linux 도구가 있습니까?"
Dominique
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.