Linux เทียบเท่ากับ Windows Registry


57

Windows Registry เทียบเท่ากับ Linux คืออะไร หากไม่มีโครงสร้างเทียบเท่าหรือคล้ายกันใน Linux Windows Registry จะจัดการกับสิ่งต่าง ๆ ใน Linux ได้อย่างไร

คำตอบ:


54

โดยทั่วไปแล้วแอปพลิเคชัน Linux จะจัดเก็บการกำหนดค่าไว้ในไฟล์แบบข้อความเฉพาะสำหรับแอปพลิเคชัน การกำหนดค่าเครื่องโดยทั่วไปจะถูกเก็บไว้ในแผนผังไดเรกทอรี / etc การตั้งค่าเฉพาะของผู้ใช้มักจะอยู่ในไดเรกทอรีหลักของผู้ใช้และมักจะอยู่ในไฟล์ "ซ่อน" ที่ขึ้นต้นด้วย "" (ใช้ 'ls -a' เพื่อดู)


5
นอกจากนี้เรายังสามารถเพิ่มไฟล์ข้อความเหล่านั้นที่มนุษย์สามารถอ่านได้และมักจะรวมถึงความคิดเห็นในพวกเขาที่อธิบายรายการการกำหนดค่าเฉพาะ ดังนั้นเอกสารมักจะอยู่ตรงหน้าคุณเมื่อคุณต้องการเปลี่ยนแปลงบางสิ่ง คุณสามารถเพิ่มบันทึกย่อของคุณเองได้เช่นทำไมคุณเปลี่ยนบางอย่าง รีจิสทรีของ Windows ไม่มี "ข้อมูลเมตา" ดังกล่าว
Keith

แน่นอนคำตอบนี้มีข้อบกพร่องเพราะวัตถุประสงค์ของรีจิสทรีไม่ได้ถือการตั้งค่า แต่การลงทะเบียนส่วนประกอบเช่น dll และส่วนขยายของเชลล์กับระบบปฏิบัติการ การจัดเก็บการกำหนดค่าของโปรแกรมในนั้นมี frowned ตามเทคนิค
Adam Casey

12
ไม่แน่ใจเกี่ยวกับ "ขมวดคิ้ว" แต่จะทำอย่างสม่ำเสมอ โปรแกรม MS ส่วนใหญ่และข้อมูลการกำหนดค่าบุคคลที่สามจำนวนมากเก็บไว้ที่นั่น
uSlackr

7
@Dotmister: นั่นคือจุดประสงค์ของมันแน่นอน ... ในยุคของ Windows 3.1 เริ่มต้นด้วย Windows 32 บิต (95 และ NT) Registry กลายเป็นฐานข้อมูลสำหรับข้อมูลการกำหนดค่า
grawity

เฮ้ ... ดังนั้นลีนุกซ์ทำสิ่งที่ Windows Registry ถูกออกแบบมาเพื่อป้องกันเป็นหลัก?
Iszi

11

/proc สำหรับสิ่งที่เกี่ยวข้องกับเคอร์เนล

/etc สำหรับสิ่งที่เกี่ยวข้องกับซอฟต์แวร์

การกำหนดค่า Gnome นั้นสามารถพิจารณาได้คล้ายกับ Windows Registry เช่นกัน

แต่เนื่องจากปรัชญาหลักของ Linux และ Windows มีความแตกต่างกันในแนวนอน (Linux ~ open and Compatible, Windows ~ ปิดและกีดขวาง) จึงไม่มีการขนานกันโดยตรง

แก้ไข: สำหรับผู้ที่ไม่เห็นด้วยนี่คือประวัติของคุณ: http://www.faqs.org/docs/artu/ (การอ่านที่ยอดเยี่ยมไม่ว่าคุณจะอยู่ที่พื้นหลังของคุณ)


28
ฉันไม่เห็นว่าปรัชญาการออกแบบซอฟต์แวร์เกี่ยวข้องกับลักษณะเฉพาะของการใช้งานเฉพาะของการจัดเก็บการกำหนดค่า เหตุผลที่ไม่มีการขนานกันโดยตรงนั้นเป็นเพราะพวกเขามีสถาปัตยกรรมที่แตกต่างกันโดยพื้นฐานไม่ใช่เพียงเพราะ Microsoft เกลียดความอิสระ
Shinrai

8
@Shinrai ปรัชญาการออกแบบพื้นฐานของ Unix (และ Linux) ใช้รูปแบบข้อความมาตรฐาน Windows Registry เป็นรูปแบบไบนารีที่เป็นกรรมสิทธิ์ "Microsoft เกลียดความคิดเห็นที่สมบูรณ์" ไม่อยู่ที่นี่ Windows ได้รับการออกแบบให้ไม่สามารถใช้กับ Unix ได้มากที่สุดและไม่สนใจมาตรฐานสากลที่เป็นไปได้ทั้งหมด (ในขณะที่สร้างขึ้นมาเอง) นี่คือประวัติเก่า แต่นี่คือที่มาของรีจิสทรี Windows
Let_Me_Be

7
@Let_Me_Be - ฉันขอโทษข้อความของคุณอ่านให้ฉันคิดว่าคุณหมายถึง "โอเพ่นซอร์สที่ดีที่สุด! Microsoft เป็นตัวตนที่ชั่วร้าย!" ชอบ fanatics * ระวังจำนวนมากบนเว็บมากกว่าการอภิปรายในรูปแบบที่แท้จริงของเนื้อหา ความคิดเห็นถูกถอนออก แต่คุณอาจ reword ให้ชัดเจนขึ้นเล็กน้อยเนื่องจากบางคนดูเหมือนจะอ่านเหมือนที่ฉันทำ (ฉันคิดว่า 'สิ่งกีดขวาง' โดยเฉพาะให้ความประทับใจที่ผิดที่นี่)
Shinrai

12
@Let_Me_Be: รูปแบบข้อความที่เป็นมาตรฐานหรือไม่ คุณต้องล้อเล่น. Windows ดูดหลายวิธี แต่ Registry API ทั่วไปเป็นสิ่งหนึ่งที่ทำได้ดี
grawity

7
@Let_Me_Be: คำว่า "ถูกทำให้เป็นมาตรฐาน" ไม่ใช่ "เอกสาร" ฉันอยากจะแจกจ่ายหนึ่ง.regไฟล์ (หรือ.ini, .xml, .jsonสิ่งที่คุณต้องการ) มากกว่าเครื่อง X กว่าต้อง regexp นรกออกจากยี่สิบ config ไฟล์ที่แตกต่างกันใน/etc/ขณะที่พยายามที่จะเปลี่ยนแปลงการตั้งค่าเครือข่ายกว้าง แต่ยังคงมีการเพิ่มในท้องถิ่นที่ไม่เกี่ยวข้องกัน ... ในขณะที่คุณ จะไม่พบคำอธิบายโดยละเอียดที่สมบูรณ์แบบสำหรับกลุ่มรีจิสทรีของ Windows โครงสร้างของพวกเขา ไม่ใช่ความลับทั้งหมด (ออกจาก flamewar)
grawity

7

การตั้งค่าความกว้างของระบบจะอยู่ในไฟล์/etcโดยทั่วไปการตั้งค่าของผู้ใช้จะอยู่ในรูปแบบไฟล์ที่ซ่อนอยู่ (เริ่มต้นด้วย /) ในโฮมไดเร็กตอรี่ของผู้ใช้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโปรแกรมเฉพาะเห็นมันเป็นหน้าคน man [program name]-


อาจต้องการพูดถึง.*rcไฟล์ในไดเรกทอรีบ้านของผู้ใช้ /etcเป็นเพียงสิ่งที่ทั้งระบบ
Mike DeSimone

5

แอปพลิเคชันส่วนใหญ่ใช้ไฟล์กำหนดค่าแบบข้อความ (โดยปกติแล้วแต่ละโปรแกรมจะมีรูปแบบของตัวเองแม้ว่าบางโปรแกรมจะใช้ XML หรือ JSON) /etcการกำหนดค่าทั้งระบบจะถูกเก็บไว้ภายใต้

โดยปกติการกำหนดค่าผู้ใช้จะถูกเก็บไว้ในโฮมไดเร็กตอรี่ของผู้ใช้, ที่เรียกว่า"dot files" (ชื่อไฟล์ที่ขึ้นต้นด้วย " ."; ใช้ls -aเพื่อแสดงผล) เพื่อหลีกเลี่ยงการ "dotfile คืบ" เมื่อเร็ว ๆ นี้โปรแกรมได้เริ่มต้นการรักษาการกำหนดค่าของพวกเขาในการ~/.config/ต่อแบบ XDG ฐานสารบบสเปค

สภาพแวดล้อมเดสก์ท็อปที่หลากหลายมี API ที่คล้ายกับรีจีสทรีของตนเอง: Gconf (เลิกใช้แล้ว) และdconf / GSettings (ใหม่) ใน GNOME Xfconfใน Xfce


3

มันแบ่งบน Linux ไม่มีที่เดียว

สำหรับโปรแกรมที่ดำเนินการโดยผู้ใช้มักจะอยู่ใน $ HOME / .someprogramrc หากเป็นไฟล์หรือ $ HOME / .somedirname หากซับซ้อนเพียงพอที่จะรับประกันไดเรกทอรีย่อย แอปของ KDE ค้นหาค่าใช้จ่ายย่อยของ $ HOME / .kde ฉันเชื่อว่าโดยปกติจะไม่สร้าง dir ของตัวเอง

การดำเนินการทั่วไปสำหรับไดเรกทอรีรายการคือการจัดการไฟล์ที่เริ่มต้นด้วยการ.ซ่อนดังนั้นคุณจะต้องใช้ls -Aจากบรรทัดคำสั่งหรือใช้การshow hidden filesตั้งค่า gui ของคุณ

สำหรับโปรแกรมที่รันโดยระบบมักเป็นไฟล์ในที่ ๆ/etc/ไม่มีการตั้งชื่อที่แท้จริงใน ฯลฯ ถึงแม้ว่าไดเรกทอรีมักจะมีความหมายโดย.dท้ายที่สุด

สำหรับเคอร์เนลที่อยู่/etc/sysconfig.confหรือสคริปต์เริ่มต้นใน /etc/init.d ที่เขียนไปยัง / proc / sys / *

การกำหนดค่าระบบส่วนใหญ่อยู่ใน/etcเพื่อให้ง่ายต่อการสำรองระบบ โดยการถือเฉพาะไฟล์ config และไม่ใช่ไบนารี/etc/ดังนั้นจึงมีขนาดเล็ก


0

ไม่มี Registry ใน linux แต่คุณควรดูที่ gconf-editor และ dconf-editor ... และซ่อนไฟล์ / โฟลเดอร์ในโฮมไดเร็กตอรี่ของคุณ (ด้วยชื่อที่ขึ้นต้นด้วย dot), ไฟล์ธรรมดา (TXT) ส่วนใหญ่จะมีการกำหนดค่าบางอย่างสำหรับโปรแกรมเฉพาะ


-1

รีจิสทรีของ Windows ถูกสร้างขึ้นเพื่อทำให้เป็น. ini และไฟล์การกำหนดค่าอื่น ๆ โดยอัตโนมัติสำหรับระบบปฏิบัติการและโปรแกรมเพื่อให้สามารถโหลดได้เร็วขึ้น ข้อมูลทั้งหมดในรีจิสตรีนั้นมีอยู่ที่อื่นในคอมพิวเตอร์ แต่วันนี้พวกมันมักจะมีการป้องกันการเขียน Linux ใช้ Vi (โปรแกรมแก้ไขภาพ) หรือโปรแกรมแก้ไขอื่น ๆ เพื่อเข้าถึงไฟล์การกำหนดค่าเหล่านี้ใน Linux เพื่อแก้ไข


2
สวัสดีและยินดีต้อนรับสู่ superuser.com แม้ว่าฉันจะเชื่อในสิ่งที่คุณพยายามจะบอกว่าผู้โพสต์นั้นถูกต้อง แต่ก็ไม่ได้ผลดีในคำตอบของคุณ ถ้าคุณไม่มีความเข้าใจที่ดีเกี่ยวกับวิธีการทำงานของ Linux และ Windows ฉันเชื่อว่าเป็นการยากที่จะเข้าใจสิ่งที่คุณพยายามทำ โปรดคิดใหม่และเขียนคำตอบของคุณใหม่เพื่อให้ทุกคนเข้าใจได้
Mogget

-1

Windows: - จัดเก็บข้อมูลในไฟล์ภายในลำดับชั้นไดเรกทอรี - ไฟล์เหล่านี้เป็นไฟล์. dll และไฟล์สนับสนุนอื่น ๆ ที่กล่าวถึง - จากนั้นไฟล์จะถูกจัดการผ่านระบบการจัดการเช่นฐานข้อมูล (Registry) เพื่อให้ผู้ใช้สามารถโต้ตอบกับผู้ใช้ได้ง่ายขึ้น . - ซึ่งหมายความว่าเราชี้และคลิก แต่ข้อมูลจำนวนมากจะถูกบันทึกไว้ในพื้นหลังเพื่อความสะดวกในการใช้งานการเข้าถึงได้เร็วขึ้นและการจัดเก็บข้อมูลที่ไม่จำเป็นในชื่อของการใช้งานที่ง่ายขึ้น

Linux: - ไฟล์ถูกเก็บไว้ในพาร์ติชั่นแยก (เราต้องจำไว้ในลีนุกซ์เราสามารถเข้าถึงฮาร์ดแวร์ได้โดยตรงรวมถึงหน้าจอ - ทุกอย่างสามารถเข้าถึงได้ผ่าน CLI) - ไฟล์เหล่านี้อยู่ในลำดับชั้นของไดเรกทอรีที่มีอยู่แล้ว (ในระบบจัดเก็บข้อมูลของระบบปฏิบัติการคล้ายกับ Windows แต่ไม่ได้แยกออกจากโฟลเดอร์) - ไฟล์อ่านได้ง่ายขึ้นเข้าถึงได้ง่ายขึ้น แต่ต้องการความรู้เกี่ยวกับ CLI สามารถใช้ประโยชน์ได้

ความแตกต่างหลัก: Windows เพิ่มฐานข้อมูล "เลเยอร์" ในอินเทอร์เฟซระบบปฏิบัติการเพื่อจัดการการโต้ตอบจากผู้ใช้ระบบ ฯลฯ ทำให้ "ง่ายขึ้น" ในการใช้ GUI เพื่อเข้าถึงและดำเนินการทุกอย่าง แต่ยังทำให้ผู้ใช้และระบบ ขึ้นอยู่กับระบบฐานข้อมูลนี้เป็นอย่างมากสำหรับการใช้งานส่วนใหญ่ ในอีกทางหนึ่ง Linus อนุญาตการเชื่อมต่อโดยตรงกับส่วนประกอบซึ่งหมายความว่าคุณต้องรู้ "ภาษา" เพื่อพิมพ์แทนวิธีการชี้และคลิกของ Windows ใช่คุณสามารถใช้ CLI ผ่าน Windows ได้ แต่คุณไม่ได้เปรียบเทียบ Windows กับ Linux อย่างแท้จริง ความแตกต่างคือวิธีที่ผู้ใช้เข้าถึงข้อมูลวิธีที่ระบบใช้ข้อมูลและวิธีที่ Windows เพิ่มการจัดการ "(โดยระบบ) มากขึ้นเพื่อสร้าง" ง่ายขึ้น "

เป็นการเปรียบเทียบที่เข้าใจได้ง่ายในการประเมินว่าเป็นคนใหม่สำหรับสภาพแวดล้อม CLI / Linux แต่มันสมเหตุสมผลกว่าเมื่อคุณใช้ความตั้งใจของทั้งสองระบบก่อน ลินุกซ์ไม่ได้ "บ่อนทำลายความพยายามของ Microsvck ที่เกิดขึ้นจากการรวมตัวกันของรีจิสตรี" มันทำให้ผู้ใช้มีพลังอำนาจมากขึ้น

ลองจินตนาการถึงสิ่งนี้ลองนึกถึงเครื่องพิมพ์ดีด คุณกดปุ่มพวกเขาย้ายเกียร์และคุณค้อนหมึกไปยังข้อมูลการผลิตกระดาษ ใน Linux ผู้ใช้ป้อนคำสั่งเพื่อติดต่อกับเคอร์เนลระบบเพื่อดำเนินการกับฮาร์ดแวร์ ในสภาพแวดล้อม Windows คุณมีเลเยอร์ที่อาจเกิดขึ้นระหว่างผู้ใช้และฮาร์ดแวร์ แอปพลิเคชันสามารถเรียกใช้คำสั่งที่สื่อสารกับระบบปฏิบัติการซึ่งอินเตอร์เฟสกับระบบ / เคอร์เนลซึ่งทำงานกับฮาร์ดแวร์ กระบวนการนี้ซับซ้อนมากขึ้นใน Windows เมื่อตัวแปรเข้ามาในสมการมากขึ้นเช่นคำสั่งที่ต้องโต้ตอบกับ Registry เพื่อดึงข้อมูลก่อนที่จะสามารถดำเนินการสิ่งต่าง ๆ ... และนี่คือสาเหตุที่ Windows ใช้ทรัพยากรมากขึ้นในการทำงาน งานที่ซับซ้อน โหลดบริการและกระบวนการที่โหลดไว้ล่วงหน้าเพื่อให้สามารถจัดการฟังก์ชันที่ Linux ต้องการให้ผู้ใช้เรียกใช้ และใช่มีกระบวนการที่ทำงานใน Linux แต่ฉันพยายามที่จะให้แนวคิดพื้นฐานว่าระบบแตกต่างกันอย่างไรเพื่อแสดงผลที่ดีขึ้นว่าทำไมความคิดเห็นอื่น ๆ บางอย่างไม่ถูกต้อง แนวคิดของการใช้ Linux คือการลดการเชื่อมต่อระหว่างผู้ใช้และฮาร์ดแวร์ทำให้สิ่งต่าง ๆ ง่ายขึ้นโดยมีความยุ่งเหยิงน้อยลง Windows ปรับให้เหมาะกับผู้ใช้และพยายามที่จะรวมฟังก์ชันการทำงานให้มากขึ้นในวิธีที่เข้าถึงได้ง่ายขึ้น แต่มีค่าใช้จ่ายในระบบการจัดการที่ซับซ้อน (ซึ่งอาจกลายเป็นรกและมีปัญหา) สำนักทะเบียนยังสามารถจัดหาเส้นทางดิจิตอลของการเชื่อมต่อทางกายภาพทั้งหมดและการโต้ตอบทางกายภาพอื่น ๆ กับฮาร์ดแวร์ที่เพิ่งบันทึกและบันทึกไว้ (ยกเว้นกรณีที่ผู้ใช้ / โปรแกรมทำความสะอาด) ผม' ต้องการให้มีไฟล์ที่สามารถอ่านได้ซึ่งฉันสามารถลบได้ด้วยตนเองเมื่อไม่ได้ใช้เทียบกับการทำความสะอาดจุดต่าง ๆ / หลายจุดที่ต้องทำความสะอาดเป็นประจำใน Windows (และอาจเสี่ยงต่อปัญหาใหญ่ b / c ของรีจิสทรี) มันเป็นอีกชั้นหนึ่งในการจัดการสิ่งต่าง ๆ ที่อยู่เบื้องหลังและสร้างทางดิจิตอลเพิ่มเติมที่ผู้ใช้ติดอยู่กับการจัดเก็บ

น่าเสียดายที่ผู้ใช้หลายคนมีเงื่อนไขสำหรับ Windows และกลัวเกินไปกับ Linux ก่อนทดลองใช้งาน มีรสชาติมากมายบางคนมีคำสั่งที่แตกต่างกันหอย ฯลฯ ซึ่งเป็นการยากที่จะเลือกเป็นผู้เริ่มต้น เมื่อเราลบ "การปรับสภาพ Windows" ของเราออกไปมันจะชัดเจนว่า Linux distros นั้นเหนือกว่าในหลาย ๆ ด้าน (โดยไม่มีซอฟท์แวร์ป้อ) สถานการณ์เดียวที่ฉันรู้สึกว่า Windows ดีกว่าสำหรับการเล่นเกม มันจะกลายเป็นสิ่งที่รบกวนมากขึ้นเมื่อ MS ผลักดันให้มีการรวมเป็นหนึ่งระบบปฏิบัติการมากขึ้นในแต่ละครั้งและต้องการรับข้อมูลเพิ่มเติมจากคุณเสมอ เป็นทักษะที่ดีและการเล่นกับ Linux distro อาจตอบคำถามเหล่านี้สำหรับผู้ใช้ใหม่ที่อ่านโพสต์เหล่านี้


3
การอ่านนี้เป็นการพูดรุนแรงมากกว่าคำตอบ เป็นที่น่าสงสัยว่าจะพยายามตอบคำถามตามที่ถามหรือไม่ มันก็ผิดผิดปกติในหลายแห่ง (แฟ้มในลินุกซ์ที่เก็บไว้ในพาร์ทิชันแยกกันได้อย่างไรแฟ้มในลินุกซ์ต้องมีความรู้ของ CLI ในการเข้าถึง? ลินุกซ์กำจัดฮาร์ดแวร์ abstraction เมื่อเทียบกับ Windows? ผู้ใช้ลินุกซ์มีปฏิสัมพันธ์โดยตรงกับเคอร์เนล? จริงๆ WTF?) ผมแนะนำให้คุณที่จะใช้เว็บไซต์การท่องเที่ยวเพื่อ เรียนรู้วิธีที่เราทำสิ่งต่าง ๆ และอ่านผ่านฉันจะเขียนคำตอบที่ดีสำหรับคำแนะนำได้อย่างไร จากนั้นคุณสามารถแก้ไขได้
CVn

1
@ MichaelKjörling: แม้ว่าคุณจะถูกต้องเกี่ยวกับคุณภาพของคำตอบนี้มันมีสิ่งหนึ่งที่สำคัญมาก: รีจิสทรีของ Windows (โปรแกรม regedit) เป็นแอปพลิเคชั่นเดียวที่แสดง internals ราวกับว่าพวกเขาถูกเก็บไว้ในฐานข้อมูลการกำหนดค่าเดียว ไฟล์จะถูกกระจายไปทั่วพีซี สิ่งนี้เปลี่ยนคำถามเดิมเป็น "มีเครื่องมือ Linux ซึ่งให้สรุปการกำหนดค่าโดยรวมของเครื่องสิ่งที่ต้องการ regedit ใน Windows?"
Dominique
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.