Thaiadmin

[Article] ::: How to configuration yum repostiories

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ smartsoft

  • *****
  • 3,250
  • 26
  • เพศ: ชาย
  • ไม่มีอะไรสายสำหรับการเริ่มต้น
    • จุดประกายความรู้ที่ไร้ขีดจำกัด
[Article] ::: How to configuration yum repostiories
« เมื่อ: 23 กุมภาพันธ์ 2012, 21:59:25 »
รู้จักกับ repositories กันก่อน
   repositories นั้นถ้าพูดภาษาชาวบ้านๆ นั้น มันก็คือ ถังหรือกล่องใบหนึ่ง ซึ่งมีไว้สำหรับเก็บ packages ต่างๆมากมาย เพื่อให้เครื่อง server อื่นๆ เข้ามาเรียกใช้เพื่อทำการ Install, Update packages นั้นๆ ที่มีอยู่ใน repositories นั้นเอง

Yellowdog Updater, Modified (YUM) คืออะไร ?
   yum คือ utility ตัวหนึ่งที่ทำหน้าที่เป็น front end ของ rpm นั้นเอง ซึ่งเจ้า yum utility ตัวนี้จะทำการ Install, Update หรือ Remove Packages ต่างๆที่มีการ Dependencies กับ Packages นั้นๆให้เองแบบอัตโนมัติ ซึ่งเป็นการเพิ่มความสะดวกและรวดเร็ว และลดความยุ่งยากต่อการทำงานของเราอีกด้วย โดยที่เจ้า yum นี้ก็จะไปหา packages จาก repositories ต่างๆตามที่เราได้กำหนดเอาไว้มาให้นั่นเอง

         ในกรณีที่เราใช้คำสั่ง rpm นั้นเราอาจจะต้องไปทำการ ติดตั้ง Install, Update หรือ Remove Packages ที่มันมีการ Dependencies อยู่นั้นให้เรียบร้อยเสียก่อน ซึ่งเป็นการเสียเวลา และยุ่งยากพอสมควรในการที่จะหา Packages  ที่ Compatibility กันได้





มาเริ่มทำการ configuration กันเถอะ


   การทำ yum repositories นั้นสามารถ ทำผ่านทาง network (http, ftp, nfs) หรือ media (CD/DVD) ก็ได้ ในที่นี้จะขอยกตัวอย่างการทำ yum repositories ผ่านทาง network แบบ http เพื่อที่จะได้พอเป็นแนวทางในการนำไปประยุกต์ใช้งานกันต่อไปครับ 

   ก่อนอื่นเราต้องรู้ก่อนว่า สิ่งที่เราต้องยุ่งเกี่ยวด้วยนั้นมีอะไรบ้าง
-   Path Directory ที่เราจะต้องยุ่งเกี่ยวกับการ configuration yum repositories นั้นจะอยู่ที่ /etc/yum.repo.d
-   File Configuration โดยที่ file configuration ต่างๆ นั้นจะมีชื่อไฟล์เป็นชื่อว่าอะไรก็ได้ แต่ต้องลงได้ด้วย .repo เท่านั้น ตัวอย่างเช่น mirror_centos.repo, myrepo.repo เป็นต้น โดยที่ไฟล์เหล่านี้จะต้องทำการสร้างให้อยู่ภายใต้ directory /etc/yum.repo.d เท่านั้น


ตัวอย่าง pattern ภายใน file *.repo




จากตัวอย่างในรูปภาพ เราจะเห็นว่าภายใน file *.repo นั้นจะประกอบไปด้วย parameter ตามรูปภาพเท่านั้นเองครับ  ง่ายไหมละครับ ทีนี้เรามาทำความเข้าใจ ค่า parameter แต่ละตัวกันดีกว่าว่ามันมีหน้าที่อะไรกันบ้าง

[CentOS-OS]
ค่านี้หมายถึงชื่อของ repositories หรือที่เรียกกันสั้นๆว่า repo name นั่นเองโดยจะต้องมีเครื่องหมาย [ และ ] ครอบชื่อ repo name ไว้เสมอ ซึ่งเราสามารถที่จะทำการกำหนดโดยใส่เป็นชื่ออะไรก็ได้ โดยส่วนมากแล้วนั้นเราจะใส่เป็นชื่อของrepositories ที่สื่อให้เราเข้าใจได้ง่าย

   name=CentOS 6.2 x86_64 [OS]
ในส่วนนี้ต้องขึ้นต้นด้วย name= เสมอทุกครั้ง ส่วนข้อความ “CentOS 6.2 x86_64 [OS]” นั้นเป็นข้อความที่เรากำหนดเพื่อใช้เป็น description ในการขยายความจาก ชื่อของ repositories นั่นเอง ซึ่งเราก็สามารถกำหนดเป็นข้อความอื่นๆได้ตามใจชอบของเราได้อีกเช่นกัน 

   baseurl=<URL ของ Repositories>
ในส่วนนี้ก็เหมือนเดิมครับต้องขึ้นต้นด้วย baseurl= เสมอทุกครั้งเช่นกัน จุดสำคัญของส่วนนี้จะอยู่ที่ url ของ repositories นั่นเองครับ ซึ่งเราสามารถหาได้จาก mirror ต่างๆที่เปิดให้ใช้งานฟรี ครับ

   enabled=1 หรือ 0
ส่วนนี้จะมีค่าที่สามารถกำหนดได้ อยู่ 2 ค่าด้วยกันคือ 1 กับ 0 นั่นเองครับถ้าเรากำหนดเป็นเลข 1 นั่นคือเป็นการบอกว่าให้ทำการเปิดใช้งาน repo name นี้นั่นเอง แต่ถ้าเรากำหนดเป็นเลข 0 นั่นคือเป็นการบอกว่าเราจะไม่ใช้งาน repo name นี้

   gpgcheck=1 หรือ 0
ส่วนนี้เราสามารถทำการกำหนดได้ 2 ค่าเช่นกัน คือ 1 กับ 0 เท่านั้น ถ้าเรากำหนดเป็นตัวเลขหนึ่ง นั่นคือเป็นการบอกว่า ก่อนทำการติดตั้ง packages นั้นให้ทำการ check gpg key ก่อนทุกครั้งว่า match กันหรือไม่ แต่ถ้าเรากำหนดเป็นเลข 0 จะเป็นการบอกว่าไม่ต้องทำการ check gpg key

   gpgkey=<gpg-key-file>
ในส่วนนี้เป็นการบอกว่าถ้าเราถ้ามีการใช้เปิดใช้งาน gpgcheck นั้นให้เอาไปทำการ check จาก gpg-key-file ตามที่เราได้กำหนดเอาไว้ ซึ่งเราจะต้องระบุ path ให้ถูกต้องด้วย

หลังจากทำการ configure เสร็จเรียบร้อยแล้วก็ให้ทำการ save จากนั้นก็สามารถใช้คำสั่ง yum install <package name> ตามที่เราต้องการได้เลยครับ ;)

เมื่อเราใช้คำสั่ง yum repolist ระบบก็จะทำการแสดง repo ทั้งหมดที่เราเปิดใช้งาน list ออกมาให้เราเห็นทั้งหมด


สำหรับ options หลักๆ ที่ใช้กับคำสั่ง yum จะมีดังนี้ครับ








หากมีข้อผิดพลาดประการใด ต้องขออภัยมา ณ ที่นี้ด้วยน่ะครับ  ยินดีรับฟังคำแนะนำ ติชมทุกประการครับ เพื่อที่ผมจะได้นำไปปรับปรุง แก้ไขให้ถูกต้อง

ขอบคุณครับ


« แก้ไขครั้งสุดท้าย: 26 กุมภาพันธ์ 2012, 23:00:42 โดย smartsoft »
เมื่อคุณ<!reader!/>เห็นการมีชีวิตเป็นสิ่งที่หนักหนาสาหัส ลองพยายามอดกลั้นและต่อสู้กับมัน จงอย่าวิ่งหนีต่อปัญหาใดๆที่คุณ<!reader!/>เผชิญอยู่ และเชื่อใจในตัวเองว่าสองมือของคุณ<!reader!/>สามารถฝ่าฟันช่วงวิกฤตและผ่านมันไปได้

ออฟไลน์ slacker

  • *****
  • 267
  • 1
  • TH@min Membership
Re: [Article] ::: How to configuration yum repostiories
« ตอบกลับ #1 เมื่อ: 24 กุมภาพันธ์ 2012, 11:28:47 »
มีวิธีตั้ง repositories server ไหมครับ  8)
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

ออฟไลน์ smartsoft

  • *****
  • 3,250
  • 26
  • เพศ: ชาย
  • ไม่มีอะไรสายสำหรับการเริ่มต้น
    • จุดประกายความรู้ที่ไร้ขีดจำกัด
Re: [Article] ::: How to configuration yum repostiories
« ตอบกลับ #2 เมื่อ: 26 กุมภาพันธ์ 2012, 22:33:09 »
มีวิธีตั้ง repositories server ไหมครับ  8)

ขออธิบายคร่าวๆ ตามนี้ครับ

ให้ทำการ สร้าง directory สำหรับเก็บ packages ต่างๆ ขึ้นมา และสามารถให้เครื่องอื่นๆ สามารถเข้ามา access ได้ครับ
หลังจากนั้นให้เอา package เก็บไว้ที่ directory ดังกล่าวครับ

ทีนี้ต้อง create repo ก็ให้ใช้คำสั่ง createrepo -v <path_dirctory> ครับ (ต้องทำการ install package createrepo ก่อนน่ะครับ)



เมื่อคุณ<!reader!/>เห็นการมีชีวิตเป็นสิ่งที่หนักหนาสาหัส ลองพยายามอดกลั้นและต่อสู้กับมัน จงอย่าวิ่งหนีต่อปัญหาใดๆที่คุณ<!reader!/>เผชิญอยู่ และเชื่อใจในตัวเองว่าสองมือของคุณ<!reader!/>สามารถฝ่าฟันช่วงวิกฤตและผ่านมันไปได้

ออฟไลน์ Keigo

  • *****
  • 1,845
  • 29
  • เพศ: ชาย
  • TH@min Membership
Re: [Article] ::: How to configuration yum repostiories
« ตอบกลับ #3 เมื่อ: 27 กุมภาพันธ์ 2012, 09:02:33 »
มีวิธีตั้ง repositories server ไหมครับ  8)

ง่ายสุดๆก็ลง
 * copy ทั้งแผ่น DVD ไปใส่ใน directory ที่สร้างขึ้นสักที่
 * ลง httpd/apache ตั้งค่าให้สามารถติดต่อไปยัง directory นั้นๆ ได้
 * สร้าง yum repo config ตาม article
 * เสร็จแล้วฮะ

ถ้าจะสร้าง repomd (xml-rpm-metadata) จาก rpm ที่มีหรือจะ update new rpms เข้าไปในแผ่นก็ใช้ createrepo ตามที่คุณ smartsoft แนะนำครับ
<b>When we wake up in the morning, we have two simple choices. Go back to sleep and dream, or wake up and chase those dreams.</b>