<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SpaLinux.com - สปาลีนุกซ์ &#187; Linux Installation</title>
	<atom:link href="http://spalinux.com/category/linux-installation/feed" rel="self" type="application/rss+xml" />
	<link>http://spalinux.com</link>
	<description>เพื่อชีวิตที่ผ่อนคลายของคนใช้ลีนุกซ์</description>
	<lastBuildDate>Sat, 12 May 2012 10:38:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>ตั้งเวลาเครื่องให้ตรงมาตรฐานด้วย NTP</title>
		<link>http://spalinux.com/2012/05/use-ntp-to-synchronize-time</link>
		<comments>http://spalinux.com/2012/05/use-ntp-to-synchronize-time#comments</comments>
		<pubDate>Mon, 07 May 2012 15:17:08 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[CentOS 6]]></category>
		<category><![CDATA[Linux Installation]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ntp]]></category>
		<category><![CDATA[synchronize]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=2328</guid>
		<description><![CDATA[จากบทความ เปลี่ยนวันเวลาบนลีนุกซ์ด้วยคำสั่ง date นั้น เวลาที่ตั้งอาจคลาดเคลื่อนกับเวลามาตรฐานไปพอสมควร อาจผิดเป็นหน่วยนาที หรือวินาที ซึ่งบางระบบอาจไม่สามารถยอมรับความคลาดเคลื่อนขนาดนี้ได้ วิธีที่ดีที่สุดที่จะตั้งเวลาให้ตรงกับมาตรฐานจริงๆ คือต้องใช้ NTP NTP ย่อมาจาก Network Time Protocol ใช้ในการปรับเวลาของเครื่องต่างๆ ที่อยู่บนเครือข่ายให้มีเวลาตรงกันตลอดเวลา โดยเครื่องจะรัน ntpd เพื่อใช้เทียบเวลากับเซิร์ฟเวอร์ที่คอนฟิกไว้อยู่เรื่อยๆ ตลอดเวลา ซึ่งถ้าเวลาไม่ตรง โปรแกรม ntpd จะค่อยๆ ปรับเวลาของเครื่อง client ให้ใกล้เคียงเรื่อยๆ จนตรงกับ server ในที่สุด ในการใช้งาน จะมีวิธีการอ้างอิงเวลาเป็นลำดับขั้นที่เรียกว่า stratum โดยบนเครื่องคอมพิวเตอร์ค่าเริ่มต้นจะตั้งแต่ 1 ซึ่งถือเป็นเวลามาตรฐานกลาง เครื่องที่ทำหน้าที่เป็น stratum 1 นั้น จะมีกระบวนการเทียบเวลาจากอุปกรณ์ชนิดอื่นๆ ที่ไม่ใช่คอมพิวเตอร์  เช่น GPS เป็นต้น อุปกรณ์จำพวกนี้ ถือว่าเป็น stratum 0 ตอนคอนฟิก ถ้าเราไม่มีอุปกรณ์ที่เป็น stratum 0 [...]]]></description>
			<content:encoded><![CDATA[<p>จากบทความ<a href="http://spalinux.com/2012/04/change-linux-date-time-using-command-date"> เปลี่ยนวันเวลาบนลีนุกซ์ด้วยคำสั่ง date</a> นั้น เวลาที่ตั้งอาจคลาดเคลื่อนกับเวลามาตรฐานไปพอสมควร อาจผิดเป็นหน่วยนาที หรือวินาที ซึ่งบางระบบอาจไม่สามารถยอมรับความคลาดเคลื่อนขนาดนี้ได้</p>
<p>วิธีที่ดีที่สุดที่จะตั้งเวลาให้ตรงกับมาตรฐานจริงๆ คือต้องใช้ NTP<br />
<span id="more-2328"></span></p>
<p>NTP ย่อมาจาก Network Time Protocol ใช้ในการปรับเวลาของเครื่องต่างๆ ที่อยู่บนเครือข่ายให้มีเวลาตรงกันตลอดเวลา</p>
<p>โดยเครื่องจะรัน ntpd เพื่อใช้เทียบเวลากับเซิร์ฟเวอร์ที่คอนฟิกไว้อยู่เรื่อยๆ ตลอดเวลา ซึ่งถ้าเวลาไม่ตรง โปรแกรม ntpd จะค่อยๆ ปรับเวลาของเครื่อง client ให้ใกล้เคียงเรื่อยๆ จนตรงกับ server ในที่สุด</p>
<p>ในการใช้งาน จะมีวิธีการอ้างอิงเวลาเป็นลำดับขั้นที่เรียกว่า stratum โดยบนเครื่องคอมพิวเตอร์ค่าเริ่มต้นจะตั้งแต่ 1 ซึ่งถือเป็นเวลามาตรฐานกลาง เครื่องที่ทำหน้าที่เป็น stratum 1 นั้น จะมีกระบวนการเทียบเวลาจากอุปกรณ์ชนิดอื่นๆ ที่ไม่ใช่คอมพิวเตอร์  เช่น GPS เป็นต้น อุปกรณ์จำพวกนี้ ถือว่าเป็น stratum 0</p>
<p>ตอนคอนฟิก ถ้าเราไม่มีอุปกรณ์ที่เป็น stratum 0 แล้ว เราก็ต้องต่ออินเตอร์เน็ต เพื่ออ้างอิง (sync) เวลามาจากเครื่องที่เป็น stratum 1 และเมื่อเวลาตรงกันแล้ว เครื่องของเราก็ จะถือว่าเป็น stratum 2 แล้วถ้าเครื่องที่มาอ้างอิงเวลาจากเครื่องนี้อีกที ก็จัดเป็น stratum 3, 4 เรื่อยๆ</p>
<p>ประโยชน์ในการจัดเป็น stratum คือจะลดโหลดที่เกิดขึ้น คือแทนที่ทุกเครื่องจะไปอ้างอิง (sync) เวลามาจาก stratum 1 ก็กระจายโหลดไป ทั้งลดโหลดบน stratum 1 เอง แล้วก็ประหยัด bandwidth อินเตอร์เน็ตด้วย</p>
<p>คำแนะนำ : ในทางปฎิบัติ แนะนำให้คอนฟิก NTP บนเครื่องเดียวหรือสองเครื่อง ที่ต่ออินเตอร์เน็ตได้ ให้ไปเทียบเวลาจาก  stratum 1 ส่วนเครื่องอื่นๆ ในสำนักงานของเรา ก็คอนฟิกเพื่อมาเทียบเวลาจากเครื่องนี้แทน หรืออาจจะมี ลำดับ 3, 4 ต่อไปอีกก็ได้ แล้วแต่จำนวนเครื่องที่มีอยู่ เช่น มีเครื่องที่ทำหน้าที่ stratum 2 ที่ต่ออินเตอร์เน็ตอยู่ 2 เครื่อง แล้วมี stratum 3 อีกจำนวนหนึ่งของแต่ละฝ่าย ส่วนเครื่อง client ที่อยู่ในฝ่ายก็คอนฟิกให้เทียบเวลาจาก stratum 3 อีกที ก็จะเป็น statum 4</p>
<p>โดยดีฟอลต์แล้ว NTP จะติดตั้งมาพร้อมกับ CentOS 6 และจะมีคอนฟิกไฟล์หลักคือ /etc/ntp.conf ในคอนฟิกจะอ้างอิงเวลากับเซิร์ฟเวอร์จำนวน 3 ตัว พร้อมใช้งานได้เลย หากเครื่องเราต่ออินเตอร์เน็ตได้</p>
<p>ตัวอย่างคอนฟิก NTP ที่ติดตั้งมากับ CentOS 6.2</p>
<pre>[root@cent6 ~]# <strong>cat /etc/ntp.conf</strong>
# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).
...
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org
...</pre>
<p>หากเครื่องที่เราจะคอนฟิกไม่สามารถเชื่อมต่ออินเตอร์เน็ตได้ หรือต้องการแก้ไข NTP server ให้ชี้ไปยัง IP อื่น ก็สามารถทำได้โดยลบคอนฟิก server ทั้งสามบรรทัดนี้ (อาจใส่เป็นเครื่องหมาย # นำหน้าคอนฟิก) แล้วเพิ่มคอนฟิก server ตามด้วย IP ของเซิร์ฟเวอร์ที่เราต้องการไป sync ด้วย เช่น</p>
<pre>#server 0.centos.pool.ntp.org
#server 1.centos.pool.ntp.org
#server 2.centos.pool.ntp.org
server 192.168.1.1</pre>
<p>&nbsp;</p>
<h4>รันเซอร์วิส ntpdate, ntp</h4>
<p>หลังจากแก้ไขคอนฟิก ขั้นต่อไปคือการรัน service โดยจะมี ntpdate และ ntpd ที่ต้องรัน</p>
<p>ntpdate จะเป็นเซอร์วิสที่รันเพื่อปรับเวลาของเครื่องให้ใกล้เคียงกับเซิร์ฟเวอร์ที่เราคอนฟิกไว้ มากที่สุด จะทำให้เวลาของเครื่องเปลี่ยนไปทันที เหมือนกับคำสั่ง date</p>
<p>รันเซอร์วิส ntpdate</p>
<pre>[root@cent6 ~]# <strong>service ntpdate start</strong>
ntpdate: Synchronizing with time server:                   [  OK  ]</pre>
<p>ส่วนการปรับโดยละเอียดจะเป็นหน้าที่ของ ntpd ซึ่งจะรันเป็น daemon อยู่ตลอดเวลา ค่อยๆ ปรับเวลาให้ตรงกับ server ซึ่งบางครั้งต้องใช้เวลานานพอสมควร</p>
<p>รันเซอร์วิส ntpd เพื่อสตาร์ต ntpd</p>
<pre>[root@cent6 ~]# <strong>service ntpd start</strong>
Starting ntpd:                                             [  OK  ]</pre>
<p>&nbsp;</p>
<h4>ตรวจสอบสถานะการ sync</h4>
<p>เราสามารถใช้คำสั่ง ntpstat เพื่อตรวจสอบสถานะการ ลำดับ stratum เท่าไร</p>
<pre>[root@cent6 ~]# <strong>ntpstat</strong>
unsynchronised
  time server re-starting
   polling server every 64 s</pre>
<p>ถ้าขึ้น &#8220;unsynchronised&#8221; แปลว่าเวลาของเครื่องเรายังไม่ตรง</p>
<p>เมื่อเวลาผ่านไปซักพัก  เครื่องก็น่าจะสามารถปรับเวลาให้ตรงได้แล้ว อาจใช้ tail -f ดูไฟล์ /var/log/messages</p>
<p>เมื่อ sync ได้แล้วจะมีข้อความ &#8220;synchronized to &#8230;&#8221;  พร้อมรายงาน IP และ stratum ของเซิร์ฟเวอร์ที่ sync ได้ ตัวอย่างเช่น</p>
<pre>[root@cent6 ~]# <strong>tail -f /var/log/messages</strong>
May  7 21:14:14 cent6 ntpd[1813]: synchronized to 203.158.118.2, stratum 2
May  7 21:14:14 cent6 ntpd[1813]: kernel time sync status change 2001</pre>
<p>ลองใช้สั่ง ntpstat ดูสถานะอีกครั้ง</p>
<pre>[root@cent6 ~]# <strong>ntpstat</strong>
synchronised to NTP server (203.158.118.2) at stratum 3
   time correct to within 655 ms
   polling server every 64 s</pre>
<p>ผลลัพธ์ที่ได้ หมายความว่าเครื่องเซิร์ฟเวอร์ของเรา มีเวลาตรง (sync) กับเซิร์ฟเวอร์ 203.158.118.2 ที่มี stratum 3 แล้ว</p>
<p>&nbsp;</p>
<h4>เปิดเซอร์วิสตอนบู๊ตเครื่อง</h4>
<p>หลังจากทดสอบเรียบร้อยแล้ว ใช้คำสั่ง chkconfig เพื่อเปิดเซอร์วิส ntpdate และ ntpd ตอนบู๊ตเครื่องด้วย</p>
<pre>[root@cent6 ~]# <strong>chkconfig ntpdate on</strong>
[root@cent6 ~]# <strong>chkconfig ntpd on</strong>

[root@cent6 ~]# <strong>chkconfig --list | grep ntp</strong>
ntpd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
ntpdate         0:off   1:off   2:on    3:on    4:on    5:on    6:off</pre>
<p>&nbsp;</p>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://spalinux.com/2008/08/configure_ntp_on_linux">คอนฟิก NTP บนลินุกซ์</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2012/05/use-ntp-to-synchronize-time/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ใช้ yum ปรับปรุงเวอร์ชั่นของแพ็คเกจ</title>
		<link>http://spalinux.com/2012/05/use-yum-to-update-package-version</link>
		<comments>http://spalinux.com/2012/05/use-yum-to-update-package-version#comments</comments>
		<pubDate>Mon, 07 May 2012 09:34:13 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[CentOS 6]]></category>
		<category><![CDATA[Linux Installation]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Yum]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=2322</guid>
		<description><![CDATA[ทางทีมดูแลพัฒนา CentOS จะคอยดูแลปรับปรุงโปรแกรมและออกเวอร์ชั่นใหม่ตาม RedHat อยู่เสมอ ไฟล์แพ็คเกจเวอร์ชั่นใหม่นี้ จะถูกเก็บไว้ใน repos ชื่อ updates เพื่อให้ผู้ใช้งานสามารถใช้ yum เข้ามาตรวจสอบและปรับปรุงโปรแกรมได้ ในที่นี้จะแนะนำวิธีการปรับปรุงโปรแกรมโดยใช้คำสั่ง yum ทั้งปรับปรุงเฉพาะโปรแกรม หรือปรับปรุงทุกโปรแกรมที่ติดตั้งบนเครื่องลีนุกซ์แล้ว คำเตือน แนะนำให้ทดสอบในเครื่องลีนุกซ์ทดลองดูก่อน เพื่อดูผลกระทบการปรับปรุงเวอร์ชั่นของโปรแกรม ปรับปรุงแพ็คเกจที่ระบุ สมมติว่าต้องการจะปรับปรุง (update) แพ็คเกจ openssh ใช้คำสั่ง yum list installed เพื่อดูข้อมูลแพ็คเกจ openssh ที่ติดตั้งไว้  [root@cent62-yum ~]# yum list installed openssh Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile Installed Packages openssh.x86_64       5.3p1-70.el6       @anaconda-CentOS-201112091719.x86_64/6.2 ใช้คำสั่ง yum [...]]]></description>
			<content:encoded><![CDATA[<p>ทางทีมดูแลพัฒนา CentOS จะคอยดูแลปรับปรุงโปรแกรมและออกเวอร์ชั่นใหม่ตาม RedHat อยู่เสมอ ไฟล์แพ็คเกจเวอร์ชั่นใหม่นี้ จะถูกเก็บไว้ใน repos ชื่อ updates เพื่อให้ผู้ใช้งานสามารถใช้ yum เข้ามาตรวจสอบและปรับปรุงโปรแกรมได้</p>
<p>ในที่นี้จะแนะนำวิธีการปรับปรุงโปรแกรมโดยใช้คำสั่ง yum ทั้งปรับปรุงเฉพาะโปรแกรม หรือปรับปรุงทุกโปรแกรมที่ติดตั้งบนเครื่องลีนุกซ์แล้ว</p>
<p><span style="color: #ff0000;">คำเตือน แนะนำให้ทดสอบในเครื่องลีนุกซ์ทดลองดูก่อน เพื่อดูผลกระทบการปรับปรุงเวอร์ชั่นของโปรแกรม</span></p>
<p><span id="more-2322"></span></p>
<h4>ปรับปรุงแพ็คเกจที่ระบุ</h4>
<p>สมมติว่าต้องการจะปรับปรุง (update) แพ็คเกจ openssh</p>
<p>ใช้คำสั่ง yum list installed เพื่อดูข้อมูลแพ็คเกจ openssh ที่ติดตั้งไว้ </p>
<pre>[root@cent62-yum ~]# <strong>yum list installed openssh</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Installed Packages
openssh.x86_64       5.3p1-70.el6       @anaconda-CentOS-201112091719.x86_64/6.2</pre>
<p>ใช้คำสั่ง yum list available หรือ yum list updates เพื่อดูเวอร์ชั่นที่มีให้ปรับปรุง</p>
<pre>[root@cent62-yum ~]# <strong>yum list updates openssh</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Updated Packages
openssh.x86_64                     5.3p1-70.el6_2.2                      updates</pre>
<p>ใช้คำสั่ง yum update  ตามด้วยชื่อแพ็คเกจที่ต้องการปรับปรุง</p>
<p>หมายเหตุ สังเกตการใช้คำว่า updates และ update อย่างแรก updates (มี s) เป็นชื่อ repos ส่วน update (ไม่มี s) เป็นคำสั่งของ yum เพื่อใช้ปรับปรุงแพ็คเกจเวอร์ชั่น</p>
<pre>[root@cent62-yum ~]# <strong>yum update openssh</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Setting up Update Process
Resolving Dependencies
--&gt; Running transaction check
---&gt; Package openssh.x86_64 0:5.3p1-70.el6 will be updated
--&gt; Processing Dependency: openssh = 5.3p1-70.el6 for package: openssh-server-5.3p1-70.el6.x86_64
--&gt; Processing Dependency: openssh = 5.3p1-70.el6 for package: openssh-clients-5.3p1-70.el6.x86_64
---&gt; Package openssh.x86_64 0:5.3p1-70.el6_2.2 will be an update
--&gt; Running transaction check
---&gt; Package openssh-clients.x86_64 0:5.3p1-70.el6 will be updated
---&gt; Package openssh-clients.x86_64 0:5.3p1-70.el6_2.2 will be an update
---&gt; Package openssh-server.x86_64 0:5.3p1-70.el6 will be updated
---&gt; Package openssh-server.x86_64 0:5.3p1-70.el6_2.2 will be an update
--&gt; Finished Dependency Resolution</pre>
<pre>Dependencies Resolved</pre>
<pre>================================================================================
 Package               Arch         Version                 Repository     Size
================================================================================
Updating:
 openssh               x86_64       5.3p1-70.el6_2.2        updates       235 k
Updating for dependencies:
 openssh-clients       x86_64       5.3p1-70.el6_2.2        updates       357 k
 openssh-server        x86_64       5.3p1-70.el6_2.2        updates       297 k</pre>
<pre>Transaction Summary
================================================================================
Upgrade       3 Package(s)</pre>
<pre>Total download size: 888 k
Is this ok [y/N]:</pre>
<p>เหมือนกับการติดตั้งใหม่ yum จะตรวจสอบแพ็คเกจอื่นๆ ที่จำเป็น รวมทั้งเวอร์ชั่นที่ต้องปรับปรุงพร้อมกันไปด้วย</p>
<p>เช่นในตัวอย่างนี้ ถ้าต้องการปรับปรุงแพ็คเกจ openssh จำเป็นต้องปรับปรุง openssh-clients และ openssh-server ไปด้วย</p>
<p>พิมพ์ y แล้ว [Enter] เพื่อยืนยันการปรับปรุง</p>
<pre>Is this ok [y/N]: <strong>y</strong>
Downloading Packages:
(1/3): openssh-5.3p1-70.el6_2.2.x86_64.rpm               | 235 kB     00:01
(2/3): openssh-clients-5.3p1-70.el6_2.2.x86_64.rpm       | 357 kB     00:01
(3/3): openssh-server-5.3p1-70.el6_2.2.x86_64.rpm        | 297 kB     00:01
--------------------------------------------------------------------------------
Total                                           150 kB/s | 888 kB     00:05</pre>
<pre>Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : openssh-5.3p1-70.el6_2.2.x86_64                              1/6
  Updating   : openssh-clients-5.3p1-70.el6_2.2.x86_64                      2/6
  Updating   : openssh-server-5.3p1-70.el6_2.2.x86_64                       3/6
  Cleanup    : openssh-server-5.3p1-70.el6.x86_64                           4/6
  Cleanup    : openssh-clients-5.3p1-70.el6.x86_64                          5/6
  Cleanup    : openssh-5.3p1-70.el6.x86_64                                  6/6</pre>
<pre>Updated:
  openssh.x86_64 0:5.3p1-70.el6_2.2</pre>
<pre>Dependency Updated:
  openssh-clients.x86_64 0:5.3p1-70.el6_2.2
  openssh-server.x86_64 0:5.3p1-70.el6_2.2</pre>
<pre>Complete!</pre>
<p>ใช้คำสั่ง yum list เพื่อดูแพ็คเกจหลังการปรับปรุง</p>
<pre>[root@cent62-yum ~]# <strong>yum list installed openssh</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Installed Packages
openssh.x86_64                     5.3p1-70.el6_2.2                     @updates</pre>
<p>ลองใช้ yum list updates อีกครั้ง จะไม่มีเวอร์ชั่นใหม่ ให้ปรับปรุงอีกแล้ว</p>
<pre>[root@cent62-yum ~]# <strong>yum list updates openssh</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Error: No matching Packages to list</pre>
<p>หมายเหตุ หลังการปรับปรุงแพ็คเกจ บางโปรแกรมอาจต้องแก้ไขเพิ่มเติม เช่นหลังการปรับปรุง openssh ต้องมีการรีสตาร์ตเซอร์วิส sshd (OpenSSH Server) เพื่อให้เวอร์ชั่นใหม่มีผล</p>
<p>&nbsp;</p>
<h4>ปรับปรุงทุกแพ็คเกจในเครื่อง</h4>
<p>พิมพ์ yum list updates เพื่อดูรายชื่อแพ็คเกจทั้งหมด ที่มีเวอร์ชั่นใหม่ (ใน repos) ให้ปรับปรุง</p>
<pre>[root@cent62-yum ~]# <strong>yum list updates</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Updated Packages
at.x86_64                              3.1.10-43.el6_2.1                 updates
bind-libs.x86_64                       32:9.7.3-8.P3.el6_2.2             updates
bind-utils.x86_64                      32:9.7.3-8.P3.el6_2.2             updates
chkconfig.x86_64                       1.3.49.3-1.el6_2                  updates
cups-libs.x86_64                       1:1.4.2-44.el6_2.3                updates
...</pre>
<p>หากต้องการปรับปรุงแพ็คเกจทั้งหมด สามารถทำได้โดยพิมพ์ yum update โดยไม่ต้องตามด้วยชื่อแพ็คเกจใดๆ </p>
<pre>[root@cent62-yum ~]# <strong>yum update</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Setting up Update Process
Resolving Dependencies
--&gt; Running transaction check
---&gt; Package at.x86_64 0:3.1.10-43.el6 will be updated
---&gt; Package at.x86_64 0:3.1.10-43.el6_2.1 will be an update
---&gt; Package bind-libs.x86_64 32:9.7.3-8.P3.el6 will be updated
---&gt; Package bind-libs.x86_64 32:9.7.3-8.P3.el6_2.2 will be an update
---&gt; Package bind-utils.x86_64 32:9.7.3-8.P3.el6 will be updated
---&gt; Package bind-utils.x86_64 32:9.7.3-8.P3.el6_2.2 will be an update</pre>
<pre>...</pre>
<pre>--&gt; Finished Dependency Resolution</pre>
<pre>Dependencies Resolved</pre>
<pre>================================================================================
 Package                   Arch     Version                     Repository
                                                                           Size
================================================================================
Installing:
 kernel                    x86_64   2.6.32-220.13.1.el6         updates    24 M
Updating:
 at                        x86_64   3.1.10-43.el6_2.1           updates    60 k
 bind-libs                 x86_64   32:9.7.3-8.P3.el6_2.2       updates   840 k
 bind-utils                x86_64   32:9.7.3-8.P3.el6_2.2       updates   178 k</pre>
<pre>...</pre>
<pre>Transaction Summary
================================================================================
Install       1 Package(s)
Upgrade      53 Package(s)</pre>
<pre>Total download size: 68 M
Is this ok [y/N]:</pre>
<p>ผลลัพธ์จะแสดงรายชื่อแพ็คเกจทั้งหมดที่จะปรับปรุง แสดงจำนวนแพ็คเกจ และขนาดรวมที่ต้องดาวน์โหลด พิมพ์ y แล้ว [Enter] เพื่อยืนยันการปรับปรุง</p>
<pre>Is this ok [y/N]: <strong>y</strong>
Downloading Packages:
(1/54): at-3.1.10-43.el6_2.1.x86_64.rpm                  |  60 kB     00:01
(2/54): bind-libs-9.7.3-8.P3.el6_2.2.x86_64.rpm          | 840 kB     00:04
(3/54): bind-utils-9.7.3-8.P3.el6_2.2.x86_64.rpm         | 178 kB     00:01
(4/54): chkconfig-1.3.49.3-1.el6_2.x86_64.rpm            | 159 kB     00:03</pre>
<pre>...</pre>
<pre>--------------------------------------------------------------------------------
Total                                           293 kB/s |  68 MB     03:58
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : 12:dhcp-common-4.1.1-25.P1.el6_2.1.x86_64                  1/107
  Updating   : kernel-firmware-2.6.32-220.13.1.el6.noarch                 2/107
  Updating   : tzdata-2012b-3.el6.noarch                                  3/107
  Updating   : glibc-2.12-1.47.el6_2.9.x86_64                             4/107</pre>
<pre>...</pre>
<pre>Installed:
  kernel.x86_64 0:2.6.32-220.13.1.el6</pre>
<pre>Updated:
  at.x86_64 0:3.1.10-43.el6_2.1
  bind-libs.x86_64 32:9.7.3-8.P3.el6_2.2
  bind-utils.x86_64 32:9.7.3-8.P3.el6_2.2
  chkconfig.x86_64 0:1.3.49.3-1.el6_2</pre>
<pre>...</pre>
<pre>Complete!</pre>
<p>รีสตาร์ตเครื่องหลังจาก update โปรแกรมทั้งเครื่อง</p>
<p>เมื่อบู๊ตเครื่องขึ้นมาแล้ว ลองใช้ yum list updates อีกครั้ง</p>
<pre>[root@cent62-yum ~]# <strong>yum list updates</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile</pre>
<p>ไม่มีแพ็คเกจให้ update อีกแล้ว หรือหมายความว่าเครื่องลีนุกซ์ของเราติดตั้งหรือปรับปรุงโปรแกรมเป็นเวอร์ชั่นใหม่ล่าสุด เท่ากับไฟล์ที่อยู่ใน repos แล้ว</p>
<p>&nbsp;</p>
<h4>ปรับปรุงเวอร์ชั่นจาก CentOS 6.0 เป็น 6.2</h4>
<p>หากเราติดตั้ง CentOS เวอร์ชั่นเก่า เช่น 6.0 แล้วต้องการปรับปรุงเป็นเวอร์ชั่นใหม่ เราสามารถใช้คำสั่ง yum update เพื่อปรับปรุงได้ แทนที่ต้องใช้แผ่นดีวีดีติดตั้งใหม่ทั้งหมด</p>
<p>แต่ไม่สามารถจะปรับปรุงข้าม Major เวอร์ชั่นได้ เช่นไม่สามารถปรับปรุงจาก 5.5 เป็น 6.2 ได้ ทำได้เฉพาะภายใต้ Major เวอร์ชั่นเดียวกันเท่านั้น</p>
<p>ตัวอย่างเครื่องที่ติดตั้ง CentOS 6.0 ไว้</p>
<pre>[root@cent60 ~]# <strong>cat /etc/redhat-release</strong>
CentOS Linux release 6.0 (Final)</pre>
<pre>[root@cent60 ~]# <strong>uname -a</strong>
Linux cent60.example.com 2.6.32-71.el6.x86_64 #1 SMP Fri May 20 03:51:51 BST 2011 x86_64 x86_64 x86_64 GNU/Linux</pre>
<p>ต้องการจะ update เป็น CentOS 6.2 สามารถใช้ yum update เพื่อปรับปรุงได้</p>
<pre>[root@cent60 ~]# <strong>yum update</strong>
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Update Process
Resolving Dependencies
--&gt; Running transaction check
---&gt; Package abrt.x86_64 0:2.0.4-14.el6.centos set to be updated
--&gt; Processing Dependency: libreport.so.0()(64bit) for package: abrt-2.0.4-14.el6.centos.x86_64
--&gt; Processing Dependency: libabrt_dbus.so.0()(64bit) for package: abrt-2.0.4-14.el6.centos.x86_64
---&gt; Package abrt-addon-ccpp.x86_64 0:2.0.4-14.el6.centos set to be updated
--&gt; Processing Dependency: libbtparser.so.2()(64bit) for package: abrt-addon-ccpp-2.0.4-14.el6.centos.x86_64
---&gt; Package abrt-addon-kerneloops.x86_64 0:2.0.4-14.el6.centos set to be updated
--&gt; Processing Dependency: libreport-plugin-kerneloops for package: abrt-addon-kerneloops-2.0.4-14.el6.centos.x86_64
---&gt; Package abrt-addon-python.x86_64 0:2.0.4-14.el6.centos set to be updated
---&gt; Package abrt-cli.x86_64 0:2.0.4-14.el6.centos set to be updated
--&gt; Processing Dependency: libreport-cli for package: abrt-cli-2.0.4-14.el6.centos.x86_64
--&gt; Processing Dependency: libreport-plugin-mailx for package: abrt-cli-2.0.4-14.el6.centos.x86_64
---&gt; Package abrt-libs.x86_64 0:2.0.4-14.el6.centos set to be updated</pre>
<pre>...</pre>
<pre>Dependencies Resolved</pre>
<pre>================================================================================================================================
 Package                                     Arch               Version                               Repository           Size
================================================================================================================================
Installing:
 abrt                                        x86_64             2.0.4-14.el6.centos                   base                210 k
     replacing  abrt-plugin-sosreport.x86_64 1.1.13-4.el6
 kernel                                      x86_64             2.6.32-220.13.1.el6                   updates              24 M
 libreport-plugin-logger                     x86_64             2.0.5-20.el6                          base                 16 k
     replacing  abrt-plugin-logger.x86_64 1.1.13-4.el6
 libreport-plugin-rhtsupport                 x86_64             2.0.5-20.el6                          base                 24 k
     replacing  abrt-plugin-rhtsupport.x86_64 1.1.13-4.el6
Updating:
 abrt-addon-ccpp                             x86_64             2.0.4-14.el6.centos                   base                 93 k
 abrt-addon-kerneloops                       x86_64             2.0.4-14.el6.centos                   base                 63 k
 abrt-addon-python                           x86_64             2.0.4-14.el6.centos                   base                 57 k
 abrt-cli                                    x86_64             2.0.4-14.el6.centos                   base                 55 k
 abrt-libs                                   x86_64             2.0.4-14.el6.centos                   base                 53 k</pre>
<pre>...</pre>
<pre>Transaction Summary
================================================================================================================================
Install      12 Package(s)
Upgrade     220 Package(s)</pre>
<pre>Total download size: 152 M
Is this ok [y/N]:</pre>
<p>ตอบ y เพื่อยืนยันการปรับปรุง</p>
<pre>Is this ok [y/N]: <strong>y</strong>
Downloading Packages:
(1/232): abrt-2.0.4-14.el6.centos.x86_64.rpm                                                             | 210 kB     00:01
(2/232): abrt-addon-ccpp-2.0.4-14.el6.centos.x86_64.rpm                                                  |  93 kB     00:00
(3/232): abrt-addon-kerneloops-2.0.4-14.el6.centos.x86_64.rpm                                            |  63 kB     00:00
(4/232): abrt-addon-python-2.0.4-14.el6.centos.x86_64.rpm                                                |  57 kB     00:00
(5/232): abrt-cli-2.0.4-14.el6.centos.x86_64.rpm                                                         |  55 kB     00:00
(6/232): abrt-libs-2.0.4-14.el6.centos.x86_64.rpm                                                        |  53 kB     00:00</pre>
<pre>...</pre>
<pre>--------------------------------------------------------------------------------------------------------------------------------
Total                                                                                           272 kB/s | 152 MB     09:34</pre>
<pre>Is this ok [y/N]: <strong>y</strong></pre>
<p>ตอบ y เพื่อยืนยันการปรับปรุง</p>
<pre>Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating       : libgcc-4.4.6-3.el6.x86_64                                                                              1/456
  Updating       : setup-2.8.14-13.el6.noarch                                                                             2/456
warning: /etc/shadow created as /etc/shadow.rpmnew
  Updating       : filesystem-2.4.30-3.el6.x86_64                                                                         3/456
  Updating       : centos-release-6-2.el6.centos.7.x86_64                                                                 4/456</pre>
<pre>...</pre>
<pre>Installed:
  abrt.x86_64 0:2.0.4-14.el6.centos                               kernel.x86_64 0:2.6.32-220.13.1.el6
  libreport-plugin-logger.x86_64 0:2.0.5-20.el6                   libreport-plugin-rhtsupport.x86_64 0:2.0.5-20.el6</pre>
<pre>Dependency Installed:
  btparser.x86_64 0:0.13-1.el6                                          dhcp-common.x86_64 12:4.1.1-25.P1.el6_2.1
  libreport.x86_64 0:2.0.5-20.el6                                       libreport-cli.x86_64 0:2.0.5-20.el6
  libreport-plugin-kerneloops.x86_64 0:2.0.5-20.el6                     libreport-plugin-mailx.x86_64 0:2.0.5-20.el6
  libreport-plugin-reportuploader.x86_64 0:2.0.5-20.el6                 libreport-python.x86_64 0:2.0.5-20.el6</pre>
<pre>Updated:
  abrt-addon-ccpp.x86_64 0:2.0.4-14.el6.centos                       abrt-addon-kerneloops.x86_64 0:2.0.4-14.el6.centos
  abrt-addon-python.x86_64 0:2.0.4-14.el6.centos                     abrt-cli.x86_64 0:2.0.4-14.el6.centos
  abrt-libs.x86_64 0:2.0.4-14.el6.centos                             acl.x86_64 0:2.2.49-6.el6</pre>
<pre>...</pre>
<pre>Replaced:
  abrt-plugin-logger.x86_64 0:1.1.13-4.el6 abrt-plugin-rhtsupport.x86_64 0:1.1.13-4.el6 abrt-plugin-sosreport.x86_64 0:1.1.13-4.el6</pre>
<pre>Complete!</pre>
<p>รีสตาร์ตเครื่อง แล้วตรวจสอบผลที่ได้</p>
<pre>[root@cent60 ~]# <strong>cat /etc/redhat-release</strong>
CentOS release 6.2 (Final)</pre>
<pre>[root@cent60 ~]# <strong>uname -a</strong>
Linux cent60.example.com 2.6.32-220.13.1.el6.x86_64 #1 SMP Tue Apr 17 23:56:34 BST 2012 x86_64 x86_64 x86_64 GNU/Linux </pre>
<p>&nbsp;</p>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://spalinux.com/2012/05/using-yum-in-centos-6">การใช้งานคำสั่ง yum ใน CentOS 6</a></li>
<li><a href="http://spalinux.com/2012/05/change-yum-config-to-use-repos-in-thailand">เปลี่ยนคอนฟิก yum ให้มาใช้ repos ในไทย</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2012/05/use-yum-to-update-package-version/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>เปลี่ยนคอนฟิก yum ให้มาใช้ repos ในไทย</title>
		<link>http://spalinux.com/2012/05/change-yum-config-to-use-repos-in-thailand</link>
		<comments>http://spalinux.com/2012/05/change-yum-config-to-use-repos-in-thailand#comments</comments>
		<pubDate>Mon, 07 May 2012 06:49:32 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[CentOS 6]]></category>
		<category><![CDATA[Linux Installation]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Yum]]></category>
		<category><![CDATA[repos]]></category>
		<category><![CDATA[thailand]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=2312</guid>
		<description><![CDATA[หากต้องการใช้ yum ติดตั้งโปรแกรมเพิ่มเติม หรือปรับปรุงโปรแกรมเป็นเวอร์ชั่นใหม่ เราต้องใช้ repos ที่อยู่บนอินเตอร์เน็ต ดีฟอลต์จากการติดตั้ง CentOS 6.2 จะมีคอนฟิก repos ติดตั้งมาด้วย โดยจะชี้ไปยังเว็บไซต์ mirrorlist.centos.org แสดงรายชื่อเว็บไซต์ repos ที่ให้บริการดาวน์โหลดไฟล์ rpm อีกที แต่ข้อเสียของการใช้คอนฟิก repos แบบดีฟอลต์นี้ ในบางครั้งเราอาจต้องไปดาวน์โหลดไฟล์จากเว็บไซต์ที่อยู่ต่างประเทศ ทำให้ความเร็วที่ได้ค่อนข้างช้า ในบทนี้ขอแนะนำวิธีเปลี่ยนคอนฟิก repos ของ yum ให้ชี้มายังเว็บไซต์ในประเทศไทย ตัวอย่างคอนฟิกไฟล์ CentOS-Base.repo ซึ่งเก็บคอนฟิก repos ชื่อ  base, extras, updates [root@cent62-yum ~]# cat /etc/yum.repos.d/CentOS-Base.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of [...]]]></description>
			<content:encoded><![CDATA[<p>หากต้องการใช้ yum ติดตั้งโปรแกรมเพิ่มเติม หรือปรับปรุงโปรแกรมเป็นเวอร์ชั่นใหม่ เราต้องใช้ repos ที่อยู่บนอินเตอร์เน็ต</p>
<p>ดีฟอลต์จากการติดตั้ง CentOS 6.2 จะมีคอนฟิก repos ติดตั้งมาด้วย โดยจะชี้ไปยังเว็บไซต์ mirrorlist.centos.org แสดงรายชื่อเว็บไซต์ repos ที่ให้บริการดาวน์โหลดไฟล์ rpm อีกที</p>
<p>แต่ข้อเสียของการใช้คอนฟิก repos แบบดีฟอลต์นี้ ในบางครั้งเราอาจต้องไปดาวน์โหลดไฟล์จากเว็บไซต์ที่อยู่ต่างประเทศ ทำให้ความเร็วที่ได้ค่อนข้างช้า</p>
<p>ในบทนี้ขอแนะนำวิธีเปลี่ยนคอนฟิก repos ของ yum ให้ชี้มายังเว็บไซต์ในประเทศไทย</p>
<p><span id="more-2312"></span>ตัวอย่างคอนฟิกไฟล์ CentOS-Base.repo ซึ่งเก็บคอนฟิก repos ชื่อ  base, extras, updates</p>
<pre>[root@cent62-yum ~]# <strong>cat /etc/yum.repos.d/CentOS-Base.repo</strong>
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
<span style="color: #0000ff;">mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=os</span>
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
...</pre>
<p>จากคอนฟิก repos ชื่อ &#8220;base&#8221;  จะดึงข้อมูลชื่อเว็บไซต์ที่คอนฟิกไว้ในออปชั่น &#8220;mirrorlist&#8221; แต่ตอนใช้งานจริงจะต้องแทนค่าตัวแปร</p>
<p>ใช้คำสั่ง yum-config-manager ตามด้วยชื่อ repos เพื่อแสดงคอนฟิก &#8220;base&#8221; ผลลัพธ์จะมีการแทนที่ค่าตัวแปรที่ ($) ที่เขียนไว้ในไฟล์คอนฟิก</p>
<pre>[root@cent62-yum ~]# <strong>yum-config-manager base</strong>
Loaded plugins: fastestmirror
================================== repo: base ==================================
[base]
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/6
baseurl =
...
<span style="color: #0000ff;">mirrorlist = http://mirrorlist.centos.org/?release=6&amp;arch=x86_64&amp;repo=os</span>
mirrorlist_expire = 86400
name = CentOS-6 - Base
...</pre>
<p>ใช้คำสั่ง curl เพื่อดึงข้อมูลจากเว็บไซต์ที่ระบุไว้ใน &#8220;mirrorlist&#8221; จะได้รายชื่อเว็บไซต์ที่ใช้เป็น repos ได้</p>
<pre>[root@cent62-yum ~]# <strong>curl 'http://mirrorlist.centos.org/?release=6&amp;arch=x86_64&amp;repo=os'</strong>

http://mirrors.psu.ac.th/pub/centos/6.2/os/x86_64/

http://mirror.issp.co.th/centos/6.2/os/x86_64/

http://mirror1.ku.ac.th/centos/6.2/os/x86_64/

http://mirror.yourconnect.com/centos/6.2/os/x86_64/

http://mirrors.btte.net/centos/6.2/os/x86_64/

...</pre>
<p>ผลลัพธ์ที่ได้จะเปลี่ยนไปเรื่อยๆ</p>
<p>รันคำสั่ง yum repolist เพื่อดูข้อมูล repos ที่จะใช้ หากรันครั้งแรก จะมีการดึงข้อมูล repos ใหม่จากอินเตอร์เน็ต หากเป็นการรันครั้งต่อๆ ไป จะใช้ข้อมูลที่เก็บไว้ในเครื่องแทน (cache)</p>
<pre>[root@cent62-yum ~]# <strong>yum repolist</strong>
Loaded plugins: fastestmirror, security
Determining fastest mirrors
 * base: <span style="color: #0000ff;">mirrors.btte.net</span>
 * extras: <span style="color: #0000ff;">mirrors.btte.net</span>
 * updates: <span style="color: #0000ff;">mirrors.btte.net</span>
base                                                     | 3.7 kB     00:00
base/primary_db                                          | 4.5 MB     00:23
extras                                                   | 3.5 kB     00:00
extras/primary_db                                        | 6.3 kB     00:00
updates                                                  | 3.5 kB     00:00
updates/primary_db                                       | 3.0 MB     00:10
repo id                        repo name                                  status
base                           CentOS-6 - Base                            6,294
extras                         CentOS-6 - Extras                              4
updates                        CentOS-6 - Updates                           832
repolist: 7,130</pre>
<p>ปัญหาหากใช้คอนฟิกดีฟอลต์แบบนี้อย่างที่กล่าวไว้ตอนแรก เราไม่สามารถควบคุมได้ว่าจะได้ใช้ repos จากเว็บไซต์ไหน เช่นจากตัวอย่างที่รัน เป็นเว็บไซต์จากประเทศจีน</p>
<p>&nbsp;</p>
<h4>เปลี่ยนมาใช้ repos ในไทย</h4>
<p>เพื่อความเร็วในการดาวน์โหลดไฟล์ แนะนำให้ใช้ repos จากเว็บไซต์ในเมืองไทย ดูง่ายๆ ชื่อโดเมนของเว็บไซต์ลงท้ายด้วย .th จากผลลัพธ์ของคำสั่ง curl จะมี</p>
<ul>
<li>http://mirrors.psu.ac.th/pub/centos/6.2/os/x86_64/</li>
<li>http://mirror.issp.co.th/centos/6.2/os/x86_64/</li>
<li>http://mirror1.ku.ac.th/centos/6.2/os/x86_64/</li>
</ul>
<p>การเปลี่ยนคอนฟิก repos ให้มาใช้เว็บไซต์ที่ต้องการ ทำได้โดยแก้ไขไฟล์ repo ปิดคอนฟิก mirrorlist  แล้วตั้งค่าเว็บไซต์ในคอนฟิก baseurl</p>
<p>เช่นต้องการเปลี่ยน repos ชื่อ base, extras, updates ให้ชี้ไปยัง mirrors.psu.ac.th ทำได้โดยแก้ไขไฟล์ CentOS-Base.repo</p>
<p>สังเกตการแก้ไขคอนฟิก baseurl ในแต่ละ repos จะไม่เหมือนกัน และจะใช้ชื่อตัวแปร ($) แทนการระบุชื่อเวอร์ชั่น  ห้ามระุบุเป็น 6.2 เพราะเมื่อเวอร์ชั่นใหม่ออกมาแล้ว จะทำให้ไฟล์คอนฟิก repos นี้ใช้งานไม่ได้</p>
<pre><span>[root@cent62-yum ~]# <strong>cat /etc/yum.repos.d/CentOS-Base.repo</strong>
</span><span>...
[base]
name=CentOS-$releasever - Base
<span style="color: #0000ff;">#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=os
</span><span style="color: #0000ff;">baseurl=http://mirrors.psu.ac.th/pub/centos/$releasever/os/$basearch/
</span>gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled = 1</span></pre>
<pre><span>#released updates
[updates]
name=CentOS-$releasever - Updates
<span style="color: #0000ff;">#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=updates
</span><span style="color: #0000ff;">baseurl=http://mirrors.psu.ac.th/pub/centos/$releasever/updates/$basearch/
</span>gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled = 1</span></pre>
<pre><span>#additional packages that may be useful
[extras] name=CentOS-$releasever - Extras
<span style="color: #0000ff;">#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=extras
</span><span style="color: #0000ff;">baseurl=http://mirrors.psu.ac.th/pub/centos/$releasever/extras/$basearch/
</span>gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled = 1 </span></pre>
<p>ใช้คำสั่ง yum repolist โดยเพิ่มออปชั่น &#8216;-v&#8217; เพื่อดูข้อมูลเพิ่มเติมของแต่ละ repos</p>
<pre>[root@cent62-yum ~]# <strong>yum -v repolist</strong>
Loading "fastestmirror" plugin
Loading "security" plugin
Config time: 0.044
Yum Version: 3.2.29
Loading mirror speeds from cached hostfile
Setting up Package Sacks
pkgsack time: 0.073
Repo-id      : base
Repo-name    : CentOS-6 - Base
Repo-revision: 1324003045
Repo-updated : Fri Dec 16 09:38:07 2011
Repo-pkgs    : 6,294
Repo-size    : 5.1 G
<span style="color: #0000ff;">Repo-baseurl : http://mirrors.psu.ac.th/pub/centos/6/os/x86_64/</span>
Repo-expire  : 21,600 second(s) (last: Mon May  7 13:16:01 2012)

Repo-id      : extras
Repo-name    : CentOS-6 - Extras
Repo-revision: 1327502687
Repo-updated : Wed Jan 25 21:44:47 2012
Repo-pkgs    : 4
Repo-size    : 3.0 M
<span style="color: #0000ff;">Repo-baseurl : http://mirrors.psu.ac.th/pub/centos/6/extras/x86_64/</span>
Repo-expire  : 21,600 second(s) (last: Mon May  7 13:16:02 2012)

Repo-id      : updates
Repo-name    : CentOS-6 - Updates
Repo-revision: 1336165833
Repo-updated : Sat May  5 04:31:48 2012
Repo-pkgs    : 832
Repo-size    : 1.7 G
<span style="color: #0000ff;">Repo-baseurl : http://mirrors.psu.ac.th/pub/centos/6/updates/x86_64/</span>
Repo-expire  : 21,600 second(s) (last: Mon May  7 13:16:02 2012)

repolist: 7,130</pre>
<p>หลังจากเปลี่ยนแล้ว ตอนนี้ yum จะดาวน์โหลดไฟล์จาก repos ตามเว็บไซต์ที่เราระบุใน baseurl แทน</p>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2012/05/change-yum-config-to-use-repos-in-thailand/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>การใช้งานคำสั่ง yum ใน CentOS 6</title>
		<link>http://spalinux.com/2012/05/using-yum-in-centos-6</link>
		<comments>http://spalinux.com/2012/05/using-yum-in-centos-6#comments</comments>
		<pubDate>Sun, 06 May 2012 16:56:15 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[CentOS 6]]></category>
		<category><![CDATA[Linux Installation]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[remove]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=2296</guid>
		<description><![CDATA[ในบทความนี้จะอธิบายการใช้คำสั่ง yum เพื่อดูข้อมูล ค้นรายชื่อแพ็คเกจ การติดตั้ง การลบแพ็คเกจ และดูประวัติการแก้ไข แสดงรายชื่อ repos (repolist) ใช้คำสั่ง yum repolist แสดงรายชื่อ repos ที่คอนฟิกไว้ [root@cent62-yum ~]# yum repolist Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * c6-media: repo id repo name status c6-media CentOS-6 - Media 6,294 repolist: 6,294 โดยดีฟอลต์จะแสดงเฉพาะ repos ที่เปิดการใช้งาน (enabled) ไว้ ถ้าต้องการแสดงรายชื่อ repos ทั้งหมดที่คอนฟิกไว้ มีไฟล์คอนฟิกอยู่ใน /etc/yum.repos.d/ ผลลัพธ์ที่แสดงจะมี [...]]]></description>
			<content:encoded><![CDATA[<p>ในบทความนี้จะอธิบายการใช้คำสั่ง yum เพื่อดูข้อมูล ค้นรายชื่อแพ็คเกจ การติดตั้ง การลบแพ็คเกจ และดูประวัติการแก้ไข</p>
<p><span id="more-2296"></span></p>
<h4>แสดงรายชื่อ repos (repolist)</h4>
<p>ใช้คำสั่ง yum repolist แสดงรายชื่อ repos ที่คอนฟิกไว้</p>
<pre>[root@cent62-yum ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * c6-media:
repo id                          repo name                                status
c6-media                         CentOS-6 - Media                         6,294
repolist: 6,294</pre>
<p>โดยดีฟอลต์จะแสดงเฉพาะ repos ที่เปิดการใช้งาน (enabled) ไว้</p>
<p>ถ้าต้องการแสดงรายชื่อ repos ทั้งหมดที่คอนฟิกไว้ มีไฟล์คอนฟิกอยู่ใน /etc/yum.repos.d/</p>
<p>ผลลัพธ์ที่แสดงจะมี สถานะ status การเปิด/ปิด การใช้งานอยู่ด้วย</p>
<pre>[root@cent62-yum ~]# <strong>yum repolist all</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * c6-media:
repo id                     repo name                             status
base                        CentOS-6 - Base                       disabled
c6-media                    CentOS-6 - Media                      enabled: 6,294
centosplus                  CentOS-6 - Plus                       disabled
contrib                     CentOS-6 - Contrib                    disabled
debug                       CentOS-6 - Debuginfo                  disabled
extras                      CentOS-6 - Extras                     disabled
updates                     CentOS-6 - Updates                    disabled
repolist: 6,294</pre>
<pre></pre>
<h4>แสดงรายชื่อแพ็คเกจ (list)</h4>
<p>ใช้คำสั่ง yum ตามด้วย list เพื่อแสดงแพ็คเกจ ผลลัพธ์ที่ได้จะมีอยู่สองกลุ่ม</p>
<ul>
<li><strong>Installed Packages</strong> คือรายชื่อแพ็คเกจที่ติดตั้งลงในเครื่องเรียบร้อยแล้ว</li>
<li><strong>Available Packages</strong> คือรายชื่อแพ็คเกจที่มีอยู่ใน repos ที่เปิดการใช้งาน (enabled) แต่ยังไม่ได้ติดตั้งลงเครื่อง และพร้อมที่จะถูกติดตั้งด้วย yum install</li>
</ul>
<p>หากพิมพ์แค่ yum list จะแสดงรายชื่อแพ็คเกจทั้งหมด</p>
<p>ตัวอย่างการใช้คำสั่ง yum list</p>
<pre>[root@cent62-yum ~]# <strong>yum list</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * c6-media:
<strong>Installed Packages</strong>
ConsoleKit.x86_64                      0.4.1-3.el6                      @anaconda-CentOS-201112091719.x86_64/6.2
ConsoleKit-libs.x86_64                 0.4.1-3.el6                      @anaconda-CentOS-201112091719.x86_64/6.2
MAKEDEV.x86_64                         3.24-6.el6                       @anaconda-CentOS-201112091719.x86_64/6.2
abrt.x86_64                            2.0.4-14.el6.centos              @anaconda-CentOS-201112091719.x86_64/6.2
abrt-addon-ccpp.x86_64                 2.0.4-14.el6.centos              @anaconda-CentOS-201112091719.x86_64/6.2
...
<strong>Available Packages</strong>
389-ds-base.x86_64                     1.2.9.14-1.el6                   c6-media
389-ds-base-devel.i686                 1.2.9.14-1.el6                   c6-media
389-ds-base-devel.x86_64               1.2.9.14-1.el6                   c6-media
389-ds-base-libs.i686                  1.2.9.14-1.el6                   c6-media
389-ds-base-libs.x86_64                1.2.9.14-1.el6                   c6-media
...</pre>
<pre></pre>
<p>ผลลัพธ์ที่แสดงประกอบด้วย</p>
<ul>
<li>ชื่อแพ็คเกจ</li>
<li>เวอร์ชั่น</li>
<li>สถานะการติดตั้ง หรือชื่อ repos</li>
</ul>
<p>แต่ถ้าต้องการแสดงแค่รายชื่อแพ็คเกจที่ถูกติดตั้งลงเครื่องแล้ว (installed) หรืออยู่ใน repos แต่ยังไม่ได้ติดตั้ง (available) อย่างใดอย่างหนึ่ง สามารถทำได้โดยพิมพ์ installed หรือ available ต่อท้าย yum list</p>
<p>ตัวอย่างเช่น</p>
<pre>[root@cent62-yum ~]# <strong>yum list available</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * c6-media:
<strong>Available Packages </strong>389-ds-base.x86_64                       1.2.9.14-1.el6                 c6-media
389-ds-base-devel.i686                   1.2.9.14-1.el6                 c6-media
389-ds-base-devel.x86_64                 1.2.9.14-1.el6                 c6-media
389-ds-base-libs.i686                    1.2.9.14-1.el6                 c6-media
389-ds-base-libs.x86_64                  1.2.9.14-1.el6                 c6-media
...</pre>
<h4>ค้นหาชื่อแพ็คเกจ (list, search)</h4>
<p>หากต้องการค้นหาชื่อแพ็คเกจ ทำได้โดยใช้คำสั่ง yum list ตามด้วยชื่อแพ็คเกจที่ต้องการหา อาจจะระบุสถานะการติดตั้งว่า installed หรือ available ด้วยได้</p>
<p>เช่นต้องการค้นหาชื่อแพ็คเกจชื่อ php สามารถทำได้โดย</p>
<pre>[root@cent62-yum ~]# <strong>yum list php</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * c6-media:
Available Packages
<span style="color: #0000ff;">php</span>.x86_64                       5.3.3-3.el6_1.3                        c6-media</pre>
<p>แต่ถ้าต้องการค้นหาชื่อแพ็คเกจที่มีชื่อขึ้นต้นด้วย php แล้วตามด้วยอะไรก็ได้ สามารถใช้เครื่องหมายดอกจัน &#8220;*&#8221; ต่อท้ายได้</p>
<pre>[root@cent62-yum ~]# <strong>yum list php*</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * c6-media:
Available Packages
<span style="color: #0000ff;">php</span>.x86_64                             5.3.3-3.el6_1.3                  c6-media
<span style="color: #0000ff;">php</span>-bcmath.x86_64                      5.3.3-3.el6_1.3                  c6-media
<span style="color: #0000ff;">php</span>-cli.x86_64                         5.3.3-3.el6_1.3                  c6-media
<span style="color: #0000ff;">php</span>-common.x86_64                      5.3.3-3.el6_1.3                  c6-media
<span style="color: #0000ff;">php</span>-dba.x86_64                         5.3.3-3.el6_1.3                  c6-media
...</pre>
<p>หากพิมพ์เครื่องหมายดอกจัน &#8220;*&#8221; แล้วไม่ขึ้นผลลัพธ์ที่ค้นหา ลองพิมพ์เครื่องหมาย &#8220;\&#8221; นำหน้าเครื่องหมายดอกจัน เช่น</p>
<pre>[root@cent62-yum ~]# <strong>yum list php\*</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * c6-media:
Available Packages
php.x86_64                             5.3.3-3.el6_1.3                  c6-media
php-bcmath.x86_64                      5.3.3-3.el6_1.3                  c6-media
php-cli.x86_64                         5.3.3-3.el6_1.3                  c6-media
php-common.x86_64                      5.3.3-3.el6_1.3                  c6-media
php-dba.x86_64                         5.3.3-3.el6_1.3                  c6-media
...</pre>
<p>แต่ถ้าไม่ทราบ หรือไม่แน่ใจเรื่องชื่อแพ็คเกจ ลองใช้ yum search เพื่อค้นหาคำที่ต้องการ ทั้งชื่อแพ็คเกจ (Name) และรายละเอียดของแพ็คเกจ (Summary)</p>
<p>ตัวอย่างการค้นหาคำว่า php</p>
<pre>[root@cent62-yum ~]# <strong>yum search php</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * c6-media:
================================================= N/S Matched: php =================================================
cups-<span style="color: #0000ff;">php</span>.x86_64 : Common Unix Printing System - <span style="color: #0000ff;">php</span> module
graphviz-<span style="color: #0000ff;">php</span>.x86_64 : <span style="color: #0000ff;">PHP</span> extension for graphviz
<span style="color: #0000ff;">php</span>.x86_64 : <span style="color: #0000ff;">PHP</span> scripting language for creating dynamic web sites
<span style="color: #0000ff;">php</span>-bcmath.x86_64 : A module for <span style="color: #0000ff;">PHP</span> applications for using the bcmath library
<span style="color: #0000ff;">php</span>-cli.x86_64 : Command-line interface for <span style="color: #0000ff;">PHP</span>
...</pre>
<pre></pre>
<h4>ดูข้อมูลของแพ็คเกจ (info)</h4>
<p>ใช้คำสั่ง yum info ตามด้วยชื่อแพ็คเกจ เพื่อดูข้อมูล รายละเอียดของแพ็คเกจ</p>
<pre>[root@cent62-yum ~]# <strong>yum info php-common</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * c6-media:
Available Packages
Name        : php-common
Arch        : x86_64
Version     : 5.3.3
Release     : 3.el6_1.3
Size        : 522 k
Repo        : c6-media
Summary     : Common files for PHP
URL         : http://www.php.net/
License     : PHP
Description : The php-common package contains files used by both the php
            : package and the php-cli package.</pre>
<h4>ติดตั้งโปรแกรม (install)</h4>
<p>ใช้คำสั่ง yum install ตามด้วยชื่อแพ็คเกจที่ต้องการติดตั้ง เช่นต้องการติดตั้ง php</p>
<pre>[root@cent62-yum ~]# <strong>yum install php</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * c6-media:
Setting up Install Process
Resolving Dependencies
--&gt; Running transaction check
---&gt; Package php.x86_64 0:5.3.3-3.el6_1.3 will be installed
--&gt; Processing Dependency: httpd-mmn = 20051115 for package: php-5.3.3-3.el6_1.3.x86_64
--&gt; Processing Dependency: php-cli = 5.3.3-3.el6_1.3 for package: php-5.3.3-3.el6_1.3.x86_64
--&gt; Processing Dependency: php-common = 5.3.3-3.el6_1.3 for package: php-5.3.3-3.el6_1.3.x86_64
--&gt; Processing Dependency: httpd for package: php-5.3.3-3.el6_1.3.x86_64
--&gt; Running transaction check
---&gt; Package httpd.x86_64 0:2.2.15-15.el6.centos will be installed
--&gt; Processing Dependency: httpd-tools = 2.2.15-15.el6.centos for package: httpd-2.2.15-15.el6.centos.x86_64
--&gt; Processing Dependency: /etc/mime.types for package: httpd-2.2.15-15.el6.centos.x86_64
--&gt; Processing Dependency: apr-util-ldap for package: httpd-2.2.15-15.el6.centos.x86_64
--&gt; Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.2.15-15.el6.centos.x86_64
--&gt; Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.2.15-15.el6.centos.x86_64
---&gt; Package php-cli.x86_64 0:5.3.3-3.el6_1.3 will be installed
---&gt; Package php-common.x86_64 0:5.3.3-3.el6_1.3 will be installed
--&gt; Running transaction check
---&gt; Package apr.x86_64 0:1.3.9-3.el6_1.2 will be installed
---&gt; Package apr-util.x86_64 0:1.3.9-3.el6_0.1 will be installed
---&gt; Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be installed
---&gt; Package httpd-tools.x86_64 0:2.2.15-15.el6.centos will be installed
---&gt; Package mailcap.noarch 0:2.1.31-2.el6 will be installed
--&gt; Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package            Arch        Version                     Repository     Size
================================================================================
Installing:
 php                x86_64      5.3.3-3.el6_1.3             c6-media      1.1 M
Installing for dependencies:
 apr                x86_64      1.3.9-3.el6_1.2             c6-media      123 k
 apr-util           x86_64      1.3.9-3.el6_0.1             c6-media       87 k
 apr-util-ldap      x86_64      1.3.9-3.el6_0.1             c6-media       15 k
 httpd              x86_64      2.2.15-15.el6.centos        c6-media      809 k
 httpd-tools        x86_64      2.2.15-15.el6.centos        c6-media       70 k
 mailcap            noarch      2.1.31-2.el6                c6-media       27 k
 php-cli            x86_64      5.3.3-3.el6_1.3             c6-media      2.2 M
 php-common         x86_64      5.3.3-3.el6_1.3             c6-media      522 k

Transaction Summary
================================================================================
Install       9 Package(s)

Total download size: 4.9 M
Installed size: 16 M
Is this ok [y/N]: <strong>y</strong></pre>
<p>yum จะช่วยแก้ไขปัญหาเรื่อง dependency และแสดงรายชื่อแพ็คเกจที่จำเป็นต้องติดตั้งเพิ่มเติม</p>
<p>ตอบ y เพื่อติดตั้ง</p>
<pre>Downloading Packages:
--------------------------------------------------------------------------------
Total                                            20 MB/s | 4.9 MB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : apr-1.3.9-3.el6_1.2.x86_64                                   1/9
  Installing : apr-util-1.3.9-3.el6_0.1.x86_64                              2/9
  Installing : php-common-5.3.3-3.el6_1.3.x86_64                            3/9
  Installing : php-cli-5.3.3-3.el6_1.3.x86_64                               4/9
  Installing : httpd-tools-2.2.15-15.el6.centos.x86_64                      5/9
  Installing : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                         6/9
  Installing : mailcap-2.1.31-2.el6.noarch                                  7/9
  Installing : httpd-2.2.15-15.el6.centos.x86_64                            8/9
  Installing : php-5.3.3-3.el6_1.3.x86_64                                   9/9 

Installed:
  php.x86_64 0:5.3.3-3.el6_1.3                                                  

Dependency Installed:
  apr.x86_64 0:1.3.9-3.el6_1.2              apr-util.x86_64 0:1.3.9-3.el6_0.1
  apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1    httpd.x86_64 0:2.2.15-15.el6.centos
  httpd-tools.x86_64 0:2.2.15-15.el6.centos mailcap.noarch 0:2.1.31-2.el6
  php-cli.x86_64 0:5.3.3-3.el6_1.3          php-common.x86_64 0:5.3.3-3.el6_1.3

Complete!</pre>
<h4>ลบแพ็คเกจ (erase)</h4>
<p>เช่นเดียวกับการติดตั้ง เมื่อต้องการลบแพ็คเกจ คำสั่ง yum จะทำการตรวจสอบก่อนการลบ เช่นมีแพ็คเกจอื่นไหม ที่ต้องใช้แพ็คเกจที่เราจะลบ</p>
<p>เข่น ต้องการจะลบ php-common ใช้คำสั่ง yum remove หรือ yum erase</p>
<pre>[root@cent62-yum ~]# <strong>yum erase php-common</strong>
Loaded plugins: fastestmirror, security
Setting up Remove Process
Resolving Dependencies
--&gt; Running transaction check
---&gt; Package php-common.x86_64 0:5.3.3-3.el6_1.3 will be erased
--&gt; Processing Dependency: php-common = 5.3.3-3.el6_1.3 for package: php-cli-5.3.3-3.el6_1.3.x86_64
--&gt; Processing Dependency: php-common = 5.3.3-3.el6_1.3 for package: php-5.3.3-3.el6_1.3.x86_64
--&gt; Running transaction check
---&gt; Package php.x86_64 0:5.3.3-3.el6_1.3 will be erased
---&gt; Package php-cli.x86_64 0:5.3.3-3.el6_1.3 will be erased
--&gt; Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package           Arch          Version                 Repository        Size
================================================================================
Removing:
 php-common        x86_64        5.3.3-3.el6_1.3         @c6-media        2.9 M
Removing for dependencies:
 php               x86_64        5.3.3-3.el6_1.3         @c6-media        3.5 M
 php-cli           x86_64        5.3.3-3.el6_1.3         @c6-media        6.2 M

Transaction Summary
================================================================================
Remove        3 Package(s)

Installed size: 13 M
Is this ok [y/N]:</pre>
<p>ผลลัพธ์แสดงว่ามีแพ็คเกจชื่อ php และ php-cli ที่ใช้แพ็คเกจ php-common ที่จะลบ</p>
<p>จะลบ php-common ได้ ต้องลบทั้ง php และ php-cli</p>
<p>ตอบ y หากต้องการยืนยันจะลบ</p>
<pre>Is this ok [y/N]: <strong>y</strong>
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing    : php-5.3.3-3.el6_1.3.x86_64                                   1/3
  Erasing    : php-cli-5.3.3-3.el6_1.3.x86_64                               2/3
  Erasing    : php-common-5.3.3-3.el6_1.3.x86_64                            3/3 

Removed:
  php-common.x86_64 0:5.3.3-3.el6_1.3                                           

Dependency Removed:
  php.x86_64 0:5.3.3-3.el6_1.3         php-cli.x86_64 0:5.3.3-3.el6_1.3        

Complete!</pre>
<h4>ประวัติการใช้คำสั่ง (history)</h4>
<p>นอกจากจะช่วยแก้ไขปัญหา dependency ช่วยติดตั้งโปรแกรมได้แล้ว yum ยังเก็บประวัติการใช้ การติดตั้งอีกด้วย</p>
<p>ใช้คำสั่ง yum history เพื่อดูประวัติ รายงานการใช้คำสั่ง yum</p>
<pre>[root@cent62-yum ~]# <strong>yum history</strong>
Loaded plugins: fastestmirror, security
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
     4 | root &lt;root&gt;              | 2012-05-06 22:17 | Install        |    9
     3 | root &lt;root&gt;              | 2012-05-06 16:59 | Install        |    3  &lt;
     2 | root &lt;root&gt;              | 2012-05-05 23:55 | Install        |    3 &gt;
     1 | System &lt;unset&gt;           | 2012-05-01 22:58 | Install        |  380
history list</pre>
<p>หากต้องการดูรายละเอียด ใช้คำสั่ง yum history แล้วตามด้วยเลข ID ที่ต้องการ เช่นต้องการดู ID 4 ล่าสุดที่เพิ่งแก้ไขไป</p>
<pre>[root@cent62-yum ~]# <strong>yum history info 4</strong>
Loaded plugins: fastestmirror, security
Transaction ID : 4
Begin time     : Sun May  6 22:17:33 2012
Begin rpmdb    : 383:43a9713783c6f11d9a4360c9335e1fffe5f7c441
End time       :            22:17:39 2012 (6 seconds)
End rpmdb      : 392:d18f5a46c15d88a509cb71f73fb0b0de9aa70909
User           : root &lt;root&gt;
Return-Code    : Success
Command Line   : install php
Transaction performed with:
    Installed     rpm-4.8.0-19.el6.x86_64                       @anaconda-CentOS-201112091719.x86_64/6.2
    Installed     yum-3.2.29-22.el6.centos.noarch               @anaconda-CentOS-201112091719.x86_64/6.2
    Installed     yum-plugin-fastestmirror-1.1.30-10.el6.noarch @anaconda-CentOS-201112091719.x86_64/6.2
Packages Altered:
    Dep-Install apr-1.3.9-3.el6_1.2.x86_64              @c6-media
    Dep-Install apr-util-1.3.9-3.el6_0.1.x86_64         @c6-media
    Dep-Install apr-util-ldap-1.3.9-3.el6_0.1.x86_64    @c6-media
    Dep-Install httpd-2.2.15-15.el6.centos.x86_64       @c6-media
    Dep-Install httpd-tools-2.2.15-15.el6.centos.x86_64 @c6-media
    Dep-Install mailcap-2.1.31-2.el6.noarch             @c6-media
    Install     php-5.3.3-3.el6_1.3.x86_64              @c6-media
    Dep-Install php-cli-5.3.3-3.el6_1.3.x86_64          @c6-media
    Dep-Install php-common-5.3.3-3.el6_1.3.x86_64       @c6-media
history info</pre>
<p>นอกจากนี้ yum history ยังสามารถยกเลิก (undo) การแก้ไขได้ด้วย เช่นต้องการยกเลิกการติดตั้งแพ็คเกจ php ที่เพิ่งทำไป</p>
<p>สามารถใช้คำสั่ง yum history ต่อด้วย undo เพื่อยกเลิก</p>
<pre>[root@cent62-yum ~]# <strong>yum history undo 4</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * c6-media:
Undoing transaction 4, from Sun May  6 22:17:33 2012
    Dep-Install apr-1.3.9-3.el6_1.2.x86_64              @c6-media
    Dep-Install apr-util-1.3.9-3.el6_0.1.x86_64         @c6-media
    Dep-Install apr-util-ldap-1.3.9-3.el6_0.1.x86_64    @c6-media
    Dep-Install httpd-2.2.15-15.el6.centos.x86_64       @c6-media
    Dep-Install httpd-tools-2.2.15-15.el6.centos.x86_64 @c6-media
    Dep-Install mailcap-2.1.31-2.el6.noarch             @c6-media
    Install     php-5.3.3-3.el6_1.3.x86_64              @c6-media
    Dep-Install php-cli-5.3.3-3.el6_1.3.x86_64          @c6-media
    Dep-Install php-common-5.3.3-3.el6_1.3.x86_64       @c6-media
Resolving Dependencies
--&gt; Running transaction check
---&gt; Package apr.x86_64 0:1.3.9-3.el6_1.2 will be erased
---&gt; Package apr-util.x86_64 0:1.3.9-3.el6_0.1 will be erased
---&gt; Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be erased
---&gt; Package httpd.x86_64 0:2.2.15-15.el6.centos will be erased
---&gt; Package httpd-tools.x86_64 0:2.2.15-15.el6.centos will be erased
---&gt; Package mailcap.noarch 0:2.1.31-2.el6 will be erased
---&gt; Package php.x86_64 0:5.3.3-3.el6_1.3 will be erased
---&gt; Package php-cli.x86_64 0:5.3.3-3.el6_1.3 will be erased
---&gt; Package php-common.x86_64 0:5.3.3-3.el6_1.3 will be erased
--&gt; Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package            Arch        Version                    Repository      Size
================================================================================
Removing:
 apr                x86_64      1.3.9-3.el6_1.2            @c6-media      296 k
 apr-util           x86_64      1.3.9-3.el6_0.1            @c6-media      198 k
 apr-util-ldap      x86_64      1.3.9-3.el6_0.1            @c6-media      9.3 k
 httpd              x86_64      2.2.15-15.el6.centos       @c6-media      2.9 M
 httpd-tools        x86_64      2.2.15-15.el6.centos       @c6-media      137 k
 mailcap            noarch      2.1.31-2.el6               @c6-media       52 k
 php                x86_64      5.3.3-3.el6_1.3            @c6-media      3.5 M
 php-cli            x86_64      5.3.3-3.el6_1.3            @c6-media      6.2 M
 php-common         x86_64      5.3.3-3.el6_1.3            @c6-media      2.9 M

Transaction Summary
================================================================================
Remove        9 Package(s)

Installed size: 16 M
Is this ok [y/N]:</pre>
<p>ออปชั่น undo จะแสดงข้อมูลแพ็คเกจที่จะถูกแก้ไข เช่นถูกลบจากการติดตั้ง (erase)</p>
<p>กด y เพื่อยืนยันการ undo</p>
<pre>Is this ok [y/N]: <strong>y</strong>
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing    : php-5.3.3-3.el6_1.3.x86_64                                   1/9
  Erasing    : httpd-2.2.15-15.el6.centos.x86_64                            2/9
  Erasing    : httpd-tools-2.2.15-15.el6.centos.x86_64                      3/9
  Erasing    : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                         4/9
  Erasing    : apr-util-1.3.9-3.el6_0.1.x86_64                              5/9
  Erasing    : php-cli-5.3.3-3.el6_1.3.x86_64                               6/9
  Erasing    : mailcap-2.1.31-2.el6.noarch                                  7/9
  Erasing    : php-common-5.3.3-3.el6_1.3.x86_64                            8/9
  Erasing    : apr-1.3.9-3.el6_1.2.x86_64                                   9/9 

Removed:
  apr.x86_64 0:1.3.9-3.el6_1.2              apr-util.x86_64 0:1.3.9-3.el6_0.1
  apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1    httpd.x86_64 0:2.2.15-15.el6.centos
  httpd-tools.x86_64 0:2.2.15-15.el6.centos mailcap.noarch 0:2.1.31-2.el6
  php.x86_64 0:5.3.3-3.el6_1.3              php-cli.x86_64 0:5.3.3-3.el6_1.3
  php-common.x86_64 0:5.3.3-3.el6_1.3      

Complete!</pre>
<p>ก็จะเป็นการยกเลิกการแก้ไขย้อนหลังได้</p>
<p>ลองใช้คำสั่ง yum history อีกที จะมี ID 5 เพิ่มขึ้นมา เก็บประวัติการแก้ไข ลบแพ็คเกจ (erase)</p>
<pre>[root@cent62-yum ~]# <strong>yum history</strong>
Loaded plugins: fastestmirror, security
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
<span class="Apple-style-span" style="color: #0000ff;">
     5 | root &lt;root&gt;              | 2012-05-06 22:32 | Erase          |    9 </span>
     4 | root &lt;root&gt;              | 2012-05-06 22:17 | Install        |    9
     3 | root &lt;root&gt;              | 2012-05-06 16:59 | Install        |    3  &lt;
     2 | root &lt;root&gt;              | 2012-05-05 23:55 | Install        |    3 &gt;
     1 | System &lt;unset&gt;           | 2012-05-01 22:58 | Install        |  380</pre>
<pre>history list</pre>
<p>เพื่อความเข้าใจ ลองใช้คำสั่ง redo, undo ทั้ง ID 4 และ 5 สลับไปมาดู</p>
<p>&nbsp;</p>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a title="View Details: yum ติดตั้งโปรแกรมจากแผ่นดีวีดีติดตั้ง CentOS 6" href="http://spalinux.com/2012/05/yum-install-program-from-centos-6-installation-dvd" rel="bookmark">yum ติดตั้งโปรแกรมจากแผ่นดีวีดีติดตั้ง CentOS 6</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2012/05/using-yum-in-centos-6/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>yum ติดตั้งโปรแกรมจากแผ่นดีวีดีติดตั้ง CentOS 6</title>
		<link>http://spalinux.com/2012/05/yum-install-program-from-centos-6-installation-dvd</link>
		<comments>http://spalinux.com/2012/05/yum-install-program-from-centos-6-installation-dvd#comments</comments>
		<pubDate>Sun, 06 May 2012 10:56:59 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[CentOS 6]]></category>
		<category><![CDATA[Filesystem]]></category>
		<category><![CDATA[Linux Installation]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=2277</guid>
		<description><![CDATA[จากที่ได้ ติดตั้งโปรแกรมเพิ่มบน CentOS 6.2 ด้วยคำสั่ง rpm แล้ว จะเห็นถึงความยุ่งยากในการติดตั้ง บางโปรแกรมกว่าจะติดตั้งได้ ต้องติดตั้งโปรแกรมอื่นๆ ก่อนอีกมากมาย เพื่อความสะดวกและง่าย เราสามารถใช้คำสั่ง yum ในการแก้ไขปัญหาเรื่องการติดตั้งโปรแกรมจากไฟล์ประเภท rpm ง่ายที่สุด เครื่องลีนุกซ์ที่จะรันคำสั่ง yum นั้น ต้องสามารถเชื่อมต่ออินเตอร์เน็ต เพื่อให้สามารถตรวจสอบข้อมูลการติดตั้งโปรแกรมจาก repos ที่อยู่บนอินเตอร์เน็ตได้ แต่บางครั้ง เครื่องที่ติดตั้งลีนุกซ์นั้น ไม่สามารถต่อออกอินเตอร์เน็ตได้ ในตอนนี้จะแนะนำการใช้คำสั่ง yum เพื่อติดตั้งไฟล์ rpm โดยใช้ repos ที่อยู่ในแผ่นดีวีดีติดตั้ง CentOS 6.2 คอนฟิกหลักของ yum คือไฟล์ /etc/yum.conf ส่วนไฟล์คอนฟิก repos จะถูกแยกต่างหาก ในไดเร็คทอรี /etc/yum.repos.d/ จากการติดตั้ง CentOS 6.2 จะมีไฟล์คอนฟิก repos ติดตั้งมาด้วย 3 ไฟล์ ไฟล์ /etc/yum.repos.d/CentOS-Base.repo และ /etc/yum.repos.d/CentOS-Debuginfo.repo จะเป็นคอนฟิกไฟล์ [...]]]></description>
			<content:encoded><![CDATA[<p>จากที่ได้ <a href="http://spalinux.com/2012/04/how-to-install-program-on-centos-6-2">ติดตั้งโปรแกรมเพิ่มบน CentOS 6.2</a> ด้วยคำสั่ง rpm แล้ว จะเห็นถึงความยุ่งยากในการติดตั้ง บางโปรแกรมกว่าจะติดตั้งได้ ต้องติดตั้งโปรแกรมอื่นๆ ก่อนอีกมากมาย</p>
<p>เพื่อความสะดวกและง่าย เราสามารถใช้คำสั่ง yum ในการแก้ไขปัญหาเรื่องการติดตั้งโปรแกรมจากไฟล์ประเภท rpm</p>
<p>ง่ายที่สุด เครื่องลีนุกซ์ที่จะรันคำสั่ง yum นั้น ต้องสามารถเชื่อมต่ออินเตอร์เน็ต เพื่อให้สามารถตรวจสอบข้อมูลการติดตั้งโปรแกรมจาก repos ที่อยู่บนอินเตอร์เน็ตได้</p>
<p>แต่บางครั้ง เครื่องที่ติดตั้งลีนุกซ์นั้น ไม่สามารถต่อออกอินเตอร์เน็ตได้</p>
<p>ในตอนนี้จะแนะนำการใช้คำสั่ง yum เพื่อติดตั้งไฟล์ rpm โดยใช้ repos ที่อยู่ในแผ่นดีวีดีติดตั้ง CentOS 6.2</p>
<p><span id="more-2277"></span></p>
<p>คอนฟิกหลักของ yum คือไฟล์ /etc/yum.conf ส่วนไฟล์คอนฟิก repos จะถูกแยกต่างหาก ในไดเร็คทอรี /etc/yum.repos.d/</p>
<p>จากการติดตั้ง CentOS 6.2 จะมีไฟล์คอนฟิก repos ติดตั้งมาด้วย 3 ไฟล์</p>
<p>ไฟล์ /etc/yum.repos.d/CentOS-Base.repo และ /etc/yum.repos.d/CentOS-Debuginfo.repo จะเป็นคอนฟิกไฟล์ repos สำหรับติดตั้งโปรแกรมจากอินเตอร์เน็ต โดยดีฟอลต์จากการติดตั้ง repos ที่ถูกเปิดใช้งาน (enabled)</p>
<ul>
<li>base</li>
<li>updates</li>
<li>extras</li>
</ul>
<p>ส่วน centosplus และ contrib โดยดีฟอลต์จะถูกปิดไว้</p>
<p>ส่วนไฟล์ /etc/yum.repos.d/CentOS-Media.repo จะเป็นคอนฟิกไฟล์ repos สำหรับติดตั้งโปรแกรมจากแผ่นดีวีดี ชื่อ repos คือ [c6-media] แต่จะถูกปิดการใช้งานไว้ (enabled=0)</p>
<p>สำหรับเครื่องที่ไม่ได้ต่ออินเตอร์เน็ต หรือหากต้องการใช้ yum เพื่อติดตั้งโปรแกรมจากแผ่นดีวีดี ต้องปิด repos จากอินเตอร์เน็ต และเปิด repos จากแผ่นดีวีดีแทน</p>
<h4></h4>
<h4>การปิด repos บนอินเตอร์เน็ต &#8220;base&#8221;, &#8220;updates&#8221;, &#8220;extras&#8221;</h4>
<p>เพื่อแสดงการเปลี่ยนแปลงคอนฟิกไฟล์ จะแสดงไฟล์คอนฟิก CentOS-Base.repo ก่อนและหลังการปิด repos</p>
<pre>[root@cent62-yum ~]# <strong>cd /etc/yum.repos.d/</strong></pre>
<pre>[root@cent62-yum yum.repos.d]# <strong>cat CentOS-Base.repo</strong></pre>
<pre># CentOS-Base.repo
....
[<strong>base</strong>]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6</pre>
<pre>#released updates
[<strong>updates</strong>]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6</pre>
<pre>#additional packages that may be useful
[<strong>extras</strong>]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
...</pre>
<p>ใช้คำสั่ง yum-config-manager ตามด้วยออปชั่น &#8216;&#8211;disable&#8217; ตามด้วยชื่อ repos ที่ต้องการปิดการใช้</p>
<pre>[root@cent62-yum yum.repos.d]# <strong>yum-config-manager --disable base</strong>
Loaded plugins: fastestmirror
===================================================================== repo: base ======================================================================
[base]
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/6
baseurl =
cache = 0
cachedir = /var/cache/yum/x86_64/6/base
cost = 1000
<span style="color: #0000ff;">enabled = 0</span>
...</pre>
<pre>[root@cent62-yum yum.repos.d]# <strong>yum-config-manager --disable updates</strong></pre>
<pre>Loaded plugins: fastestmirror
==================================================================== repo: updates ====================================================================
[updates]
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/6
baseurl =
cache = 0
cachedir = /var/cache/yum/x86_64/6/updates
cost = 1000
<span style="color: #0000ff;">enabled = 0</span>
...</pre>
<pre>[root@cent62-yum yum.repos.d]# <strong>yum-config-manager --disable extras</strong></pre>
<pre>Loaded plugins: fastestmirror
==================================================================== repo: extras =====================================================================
[extras]
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/6
baseurl =
cache = 0
cachedir = /var/cache/yum/x86_64/6/extras
cost = 1000
<span style="color: #0000ff;">enabled = 0</span>
...</pre>
<p>ไฟล์คอนฟิก CentOS-Base.repo ที่เปลี่ยนไป จะมีออปชั่น enabled=0 เพิ่มขึ้นมา ในแต่ละ repos ที่ถูกปิดการใช้ (disable)</p>
<pre>[root@cent62-yum yum.repos.d]# <strong>cat CentOS-Base.repo</strong>
# CentOS-Base.repo
...
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
<span style="color: #0000ff;">enabled = 0</span></pre>
<pre>#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
<span style="color: #0000ff;">enabled = 0</span></pre>
<pre>#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
<span style="color: #0000ff;">enabled = 0</span></pre>
<p>&nbsp;</p>
<h4>เปิดการใช้ repos จากแผ่นดีวีดี</h4>
<p>โดยดีฟอลต์จถูกปิดไว้ หากเราต้องการให้ yum ใช้ repos จากแผ่นดีวีดีติดตั้ง ต้องเปิดการใช้งาน</p>
<p>ไฟล์คอนฟิก CentOS-Media.repo ก่อนการแก้ไข</p>
<pre>[root@cent62-yum ~]# <strong>cat /etc/yum.repos.d/CentOS-Media.repo </strong># CentOS-Media.repo
#
# This repo is used to mount the default locations for a CDROM / DVD on
#  CentOS-6.  You can use this repo and yum to install items directly off the
#  DVD ISO that we release.
# 
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
        file:///media/cdrom/
        file:///media/cdrecorder/
gpgcheck=1
<span style="color: #0000ff;">enabled=0</span>
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6</pre>
<p>ใช้คำสั่ง yum-config-manger ตามด้วยออปชั่น &#8216;&#8211;enable&#8217; แล้วตามด้วยชื่อ repos สำหรับ CentOS 6 จะมีชื่อว่า &#8220;c6-media&#8221;</p>
<pre>[root@cent62-yum ~]# <strong>yum-config-manager --enable c6-media</strong></pre>
<pre>Loaded plugins: fastestmirror
=================================================================== repo: c6-media ====================================================================
[c6-media]
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/6
baseurl = file:///media/CentOS/,
   file:///media/cdrom/,
   file:///media/cdrecorder/
cache = 0
cachedir = /var/cache/yum/x86_64/6/c6-media
cost = 1000
<span style="color: #0000ff;">enabled = True</span>
...</pre>
<p>ไฟล์คอนฟิก CentOS-Media.repo หลังการเปิดการใช้งาน &#8220;c6-media&#8221;</p>
<pre>[root@cent62-yum ~]# <strong>cat /etc/yum.repos.d/CentOS-Media.repo </strong># CentOS-Media.repo
...
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
        file:///media/cdrom/
        file:///media/cdrecorder/
gpgcheck=1
<span style="color: #0000ff;">enabled=1</span>
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6</pre>
<p>หากดูตามคอนฟิกในไฟล์ CentOS-Media.repo จะเห็นว่า repos ชื่อ c6-media มีการเรียกใช้ไฟล์จาก /media/CentOS/, /media/cdrom/, หรือ /media/cdrecorder/</p>
<p>ดังนั้นเราต้อง mount ดีวีดี กับไดเร็คทอรี เช่น /media/cdrom/</p>
<p>สร้างไดเร็คทอรี /media/cdrom</p>
<pre>[root@cent62-yum ~]# <strong>ls -l /media</strong>
total 0</pre>
<pre>[root@cent62-yum ~]# <strong>mkdir /media/cdrom</strong></pre>
<p>ใส่แผ่นดีวีดีติดตั้ง CentOS 6.2 แผ่นที่ 1 เข้าไปในไดร์ฟ แล้วใช้คำสั่ง mount กับไดเร็คทอรี /media/cdrom</p>
<pre>[root@cent62-yum ~]# <strong>mount /dev/dvd /media/cdrom</strong>
mount: block device /dev/sr0 is write-protected, mounting read-only</pre>
<p>&nbsp;</p>
<h4>ติดตั้ง git ด้วย yum จากแผ่นดีวีดี</h4>
<p>ใช้คำสั่ง yum install ตามด้วยชื่อโปรแกรมที่ต้องการติดตั้ง สมมติว่าต้องการติดตั้ง git</p>
<pre>[root@cent62-yum ~]# <strong>yum install git</strong>
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * c6-media: 
Setting up Install Process
Resolving Dependencies
--&gt; Running transaction check
---&gt; Package git.x86_64 0:1.7.1-2.el6_0.1 will be installed
--&gt; Processing Dependency: perl-Git = 1.7.1-2.el6_0.1 for package: git-1.7.1-2.el6_0.1.x86_64
--&gt; Processing Dependency: perl(Git) for package: git-1.7.1-2.el6_0.1.x86_64
--&gt; Processing Dependency: perl(Error) for package: git-1.7.1-2.el6_0.1.x86_64
--&gt; Running transaction check
---&gt; Package perl-Error.noarch 1:0.17015-4.el6 will be installed
---&gt; Package perl-Git.noarch 0:1.7.1-2.el6_0.1 will be installed
--&gt; Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================
 Package                       Arch                      Version                              Repository                   Size
================================================================================================================================
Installing:
 git                           x86_64                    1.7.1-2.el6_0.1                      c6-media                    4.6 M
Installing for dependencies:
 perl-Error                    noarch                    1:0.17015-4.el6                      c6-media                     29 k
 perl-Git                      noarch                    1.7.1-2.el6_0.1                      c6-media                     28 k

Transaction Summary
================================================================================================================================
Install       3 Package(s)

Total download size: 4.7 M
Installed size: 15 M
Is this ok [y/N]: <strong><span style="color: #0000ff;">y</span></strong></pre>
<div></div>
<div>คำสั่ง yum จะตรวจสอบไฟล์ rpm หรือโปรแกรมต่างๆ ที่จำเป็นต้องใช้ แสดงผลลัพธ์ให้ดู</div>
<p>หากต้องการติดตั้งโปรแกรมต่างๆ ตามข้อมูลที่แจ้งมา พิมพ์ y แล้วกด [Enter] ***</p>
<pre>Downloading Packages:
--------------------------------------------------------------------------------------------------------------------------------
Total                                                                                            20 MB/s | 4.7 MB     00:00</pre>
<pre><span style="color: #ff0000;">warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY</span>
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
 Userid : CentOS-6 Key (CentOS 6 Official Signing Key) &lt;centos-6-key@centos.org&gt;
 Package: centos-release-6-2.el6.centos.7.x86_64 (@anaconda-CentOS-201112091719.x86_64/6.2)
 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Is this ok [y/N]: <span style="color: #0000ff;">y</span></pre>
<p>การติดตั้งโปรแกรมด้วย yum นั้น จะมีการตรวจสอบความถูกต้องของไฟล์ rpm ทุกครั้ง ด้วย GPG key หากเป็นการใช้ yum เพื่อติดตั้งโปรแกรมครั้งแรก จะมีการถามว่าให้ใช้ GPG key จาก /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 หรือไม่</p>
<p>หากยืนยันพิมพ์ y แล้วกด [Enter]</p>
<pre>Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : 1:perl-Error-0.17015-4.el6.noarch                                                                            1/3 
  Installing : git-1.7.1-2.el6_0.1.x86_64                                                                                   2/3 
  Installing : perl-Git-1.7.1-2.el6_0.1.noarch                                                                              3/3 

Installed:
  git.x86_64 0:1.7.1-2.el6_0.1                                                                                            

Dependency Installed:
  perl-Error.noarch 1:0.17015-4.el6                              perl-Git.noarch 0:1.7.1-2.el6_0.1                             

Complete!</pre>
<p>ติดตั้งโปรแกรมสำเร็จ</p>
<pre>[root@cent62-yum ~]# <strong>git --version</strong>
git version 1.7.1</pre>
<pre></pre>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-yum.html" target="_blank">Red Hat Enterprise Linux 6 &#8211; Deployment Guide &#8211; Yum</a></li>
<li><a title="View Details: การใช้งานคำสั่ง yum ใน CentOS 6" href="http://spalinux.com/2012/05/using-yum-in-centos-6" rel="bookmark">การใช้งานคำสั่ง yum ใน CentOS 6</a></li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2012/05/yum-install-program-from-centos-6-installation-dvd/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>รีวิว Ubuntu 12.04 LTS &#8211; ทดลองใช้</title>
		<link>http://spalinux.com/2012/04/review-ubuntu-12-04-lts-test-usage</link>
		<comments>http://spalinux.com/2012/04/review-ubuntu-12-04-lts-test-usage#comments</comments>
		<pubDate>Sun, 29 Apr 2012 11:11:27 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Linux Installation]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[ubuntu 12.04]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=2257</guid>
		<description><![CDATA[หลังจากติดตั้งตามบทความ  รีวิว Ubuntu 12.04 LTS – การติดตั้ง เรียบร้อยแล้ว ในบทนี้จะทดลองบู๊ตเครื่องหลังการติดตั้ง ทดสอบการล็อกอิน ดูข้อมูลเบื้องต้น เช่น kernel ข้อมูลโปรแกรมที่ดิดตั้ง ความแตกต่างคอนฟิกจากลีนุกซ์ตระกูล RedHat, CentOS หน้าจอเมนูบู๊ต GRUB เลือกบรรทัดบนสุด &#8220;Ubuntu, with Linux 3.2.0-23-generic&#8221; สำหรับการบู๊ตลีนุกซ์ปกติ &#160; ตัวอย่างหน้าจอแสดงข้อความขั้นตอนการบู๊ต การสตาร์ตโปรเซสต่างๆ Ubuntu 12.04 ใช้ upstart ในการควบคุมเปิดหรือเปิดเซอร์วิส เช่นเดียวกับ CentOS 6 &#160; หน้าจอคอนโซลล็อกอิน &#160; ใส่ชื่อ username, password ที่สร้างไว้ตอนติดตั้ง &#160; Linux Kernel Ubuntu 12.04 เลือกใช้ Linux kernel เวอร์ชั่น 3.2 alice@ubuntu-1204:~$ uname -a [...]]]></description>
			<content:encoded><![CDATA[<p>หลังจากติดตั้งตามบทความ  <a title="View Details: รีวิว Ubuntu 12.04 LTS – การติดตั้ง" href="http://spalinux.com/2012/04/review-ubuntu-12-04-lts-installation" rel="bookmark">รีวิว Ubuntu 12.04 LTS – การติดตั้ง</a> เรียบร้อยแล้ว</p>
<p>ในบทนี้จะทดลองบู๊ตเครื่องหลังการติดตั้ง ทดสอบการล็อกอิน ดูข้อมูลเบื้องต้น เช่น kernel ข้อมูลโปรแกรมที่ดิดตั้ง ความแตกต่างคอนฟิกจากลีนุกซ์ตระกูล RedHat, CentOS</p>
<p><span id="more-2257"></span></p>
<p>หน้าจอเมนูบู๊ต GRUB เลือกบรรทัดบนสุด &#8220;Ubuntu, with Linux 3.2.0-23-generic&#8221; สำหรับการบู๊ตลีนุกซ์ปกติ</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/b01-grub-menu.png"><img class="alignnone size-full wp-image-2259" title="b01-grub-menu" src="http://spalinux.com/wp-content/uploads/2012/04/b01-grub-menu.png" alt="" width="597" height="402" /></a></p>
<p>&nbsp;</p>
<p>ตัวอย่างหน้าจอแสดงข้อความขั้นตอนการบู๊ต การสตาร์ตโปรเซสต่างๆ</p>
<p>Ubuntu 12.04 ใช้ upstart ในการควบคุมเปิดหรือเปิดเซอร์วิส เช่นเดียวกับ CentOS 6</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/b02-booting.png"><img class="alignnone size-full wp-image-2260" title="b02-booting" src="http://spalinux.com/wp-content/uploads/2012/04/b02-booting.png" alt="" width="635" height="389" /></a></p>
<p>&nbsp;</p>
<p>หน้าจอคอนโซลล็อกอิน</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/b03-login.png"><img class="alignnone size-full wp-image-2261" title="b03-login" src="http://spalinux.com/wp-content/uploads/2012/04/b03-login.png" alt="" width="280" height="61" /></a></p>
<p>&nbsp;</p>
<p>ใส่ชื่อ username, password ที่สร้างไว้ตอนติดตั้ง</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/b04-user-login1.png"><img class="alignnone size-full wp-image-2263" title="b04-user-login" src="http://spalinux.com/wp-content/uploads/2012/04/b04-user-login1.png" alt="" width="616" height="362" /></a></p>
<p>&nbsp;</p>
<h4>Linux Kernel</h4>
<p>Ubuntu 12.04 เลือกใช้ Linux kernel เวอร์ชั่น 3.2</p>
<pre>alice@ubuntu-1204:~$ <strong>uname -a</strong>
Linux ubuntu-1204 <span style="color: #0000ff;">3.2.0-23</span>-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux</pre>
<p>&nbsp;</p>
<h4>Disk Usage</h4>
<p>จากการเลือกติดตั้ง OpenSSH และ LAMP จะใช้ดิสก์ประมาณ 1.5 GB</p>
<pre>alice@ubuntu-1204:~$ <strong>df -h</strong> 
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        37G  <span style="color: #0000ff;">1.5G</span>   33G   5% /
udev            490M  4.0K  490M   1% /dev
tmpfs           200M  284K  199M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            498M     0  498M   0% /run/shm</pre>
<div></div>
<h4>Apache Web Server</h4>
<p>ใช้คำสั่ง ps ดูโปรเซสของ Apache ที่รัน</p>
<p>Ubuntu จะตั้งชื่อไฟล์หรือชุดโปรแกรม Apache HTTP Server ว่า apache2 ซึ่งแตกต่างจาก CentOS จะใช้ชื่อ httpd</p>
<pre>alice@ubuntu-1204:~$ <strong>ps -ef | grep apache</strong>
root       826     1  0 16:03 ?        00:00:03 /usr/sbin/apache2 -k start
www-data   854   826  0 16:03 ?        00:00:00 /usr/sbin/apache2 -k start
www-data   855   826  0 16:03 ?        00:00:00 /usr/sbin/apache2 -k start
www-data   856   826  0 16:03 ?        00:00:00 /usr/sbin/apache2 -k start
www-data   857   826  0 16:03 ?        00:00:00 /usr/sbin/apache2 -k start
www-data   858   826  0 16:03 ?        00:00:00 /usr/sbin/apache2 -k start</pre>
<p>รัน apache2 ออปชั่น &#8216;-V&#8217; เพื่อดูข้อมูลเวอร์ชั่นและคอนฟิก</p>
<p>เวอร์ชั่นที่ติดตั้งมาคือ Apache 2.2.22</p>
<pre>alice@ubuntu-1204:~$ <strong>apache2 -V </strong>Server version: <span style="color: #0000ff;">Apache/2.2.22</span> (Ubuntu)
Server built:   Feb 13 2012 01:51:50
Server's Module Magic Number: 20051115:30
Server loaded:  APR 1.4.6, APR-Util 1.3.12
Compiled using: APR 1.4.5, APR-Util 1.3.12
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D <span style="color: #0000ff;">HTTPD_ROOT="/etc/apache2"</span>
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="mime.types"
 -D <span style="color: #0000ff;">SERVER_CONFIG_FILE="apache2.conf"</span></pre>
<p>&nbsp;</p>
<p>ไดเร็คทอรีหลัก (ServerRoot) Apache ของ Ubuntu 12.04 คือ /etc/apache2/ โดยจะมีไฟล์คอนฟิกหลักคือ apache2.conf</p>
<p>ส่วนไดเร็คทอรีหลักที่เก็บไฟล์เว็บไซต์ (DocumentRoot) คือ /var/www/</p>
<p>ตัวอย่างการดูไฟล์คอนฟิก</p>
<pre>alice@ubuntu-1204:~$ <strong>cd /etc/apache2/</strong></pre>
<pre>alice@ubuntu-1204:/etc/apache2$ <strong>cat apache2.conf</strong>
...
<span style="color: #0000ff;">Include sites-enabled/</span>
...</pre>
<pre>alice@ubuntu-1204:/etc/apache2$ <strong>cat sites-enabled/000-default</strong>
&lt;VirtualHost *:80&gt;
       ServerAdmin webmaster@localhost</pre>
<pre>       <span style="color: #0000ff;">DocumentRoot /var/www</span>
       &lt;Directory /&gt;
              Options FollowSymLinks
              AllowOverride None
       &lt;/Directory&gt;
       &lt;Directory /var/www/&gt;
              Options Indexes FollowSymLinks MultiViews
              AllowOverride None
              Order allow,deny
              allow from all
       &lt;/Directory&gt;
...</pre>
<p>&nbsp;</p>
<p>จากการติดตั้งจะมีเว็บไฟล์มาให้สำหรับทดสอบด้วย</p>
<pre>alice@ubuntu-1204:~$ <strong>cat /var/www/index.html</strong>
&lt;html&gt;&lt;body&gt;&lt;h1&gt;It works!&lt;/h1&gt;
&lt;p&gt;This is the default web page for this server.&lt;/p&gt;
&lt;p&gt;The web server software is running but no content has been added, yet.&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;</pre>
<p>ทดสอบเปิดเว็บจาก browser</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/c05-apache2-it-works.png"><img class="alignnone size-full wp-image-2264" title="c05-apache2-it-works" src="http://spalinux.com/wp-content/uploads/2012/04/c05-apache2-it-works.png" alt="" width="539" height="209" /></a></p>
<p>&nbsp;</p>
<h4>MySQL Database Server</h4>
<p>MySQL ที่ติดตั้งมาเป็นเวอร์ชั่น 5.5</p>
<pre>alice@ubuntu-1204:~$ <strong>mysqld -V</strong>
mysqld Ver <span style="color: #0000ff;">5.5.22</span>-0ubuntu1 for debian-linux-gnu on x86_64 ((Ubuntu))</pre>
<p>ใช้คำสั่ง ps เพื่อดูโปรเซสของ mysql</p>
<pre>alice@ubuntu-1204:~$ <strong>ps -ef | grep mysql </strong>mysql      792     1  0 16:03 ?        00:00:06 /usr/sbin/mysqld</pre>
<p>&nbsp;</p>
<p>คอนฟิกของ MySQL จะอยู่ในไดเร็คทอรี /etc/mysql/ โดยมีไฟล์หลักคือ my.cnf</p>
<p>คอนฟิกดีฟอลต์ที่ติดตั้งมา จะมีการปรับแต่ง (tuning) มาด้วย เช่น Query Cache</p>
<pre>alice@ubuntu-1204:~$ cat /etc/mysql/my.cnf 
...
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size  = 16M</pre>
<p>&nbsp;</p>
<h4>PHP</h4>
<p>PHP ที่ติดตั้งมาเป็นเวอร์ชั่น 5.3.10</p>
<pre>alice@ubuntu-1204:~$ <strong>php -v</strong>
PHP <span style="color: #0000ff;">5.3.10</span>-1ubuntu3 with Suhosin-Patch (cli) (built: Apr 11 2012 17:25:33)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies</pre>
<p>&nbsp;</p>
<p>ส่วนรายละเอียดโมดูลที่ติดตั้งมา</p>
<pre>alice@ubuntu-1204:~$ <strong>php -m</strong>
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
date
dba
dom
ereg
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mbstring
mhash
mysql
mysqli
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
zip
zlib</pre>
<pre>[Zend Modules]</pre>
<p>&nbsp;</p>
<h4>ปิดเครื่อง</h4>
<p>หากต้องการปิดเครื่องด้วยคำสั่ง shutdown ต้องใช้ sudo เพื่อยกระดับสิทธิของ user ให้เทียบเท่า root แล้วรันคำสั่ง</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/c06-sudo-shutdown.png"><img class="alignnone size-full wp-image-2265" title="c06-sudo-shutdown" src="http://spalinux.com/wp-content/uploads/2012/04/c06-sudo-shutdown.png" alt="" width="341" height="44" /></a></p>
<p>&nbsp;</p>
<p>ตัวอย่างหน้าจอหลังจากใช้ sudo เรียกคำสั่ง shutdown แล้ว</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/c07-shutdown.png"><img class="alignnone size-full wp-image-2266" title="c07-shutdown" src="http://spalinux.com/wp-content/uploads/2012/04/c07-shutdown.png" alt="" width="639" height="245" /></a></p>
<p>&nbsp;</p>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a title="View Details: รีวิว Ubuntu 12.04 LTS – การติดตั้ง" href="http://spalinux.com/2012/04/review-ubuntu-12-04-lts-installation" rel="bookmark">รีวิว Ubuntu 12.04 LTS – การติดตั้ง</a></li>
<li><a href="http://upstart.ubuntu.com/" target="_blank">upstart &#8211; event-based init daemon</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2012/04/review-ubuntu-12-04-lts-test-usage/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>รีวิว Ubuntu 12.04 LTS &#8211; การติดตั้ง</title>
		<link>http://spalinux.com/2012/04/review-ubuntu-12-04-lts-installation</link>
		<comments>http://spalinux.com/2012/04/review-ubuntu-12-04-lts-installation#comments</comments>
		<pubDate>Sun, 29 Apr 2012 08:20:07 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Linux Installation]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Precise Pangolin]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ubuntu 12.04 LTS]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=2194</guid>
		<description><![CDATA[ทุกๆ สองปี หรือปี คศ. ที่เป็นเลขคู่ ในเดือนเมษายน Ubuntu จะออกเวอร์ชั่นใหม่ ที่เป็น Long-Term Support หรือ LTS ซึ่งเป็นเวอร์ชั่นที่ Canonical จะสนับสนุน (support) เรื่องการปรับปรุงโปรแกรมเช่น security fixes, critical bugs, minor update เป็นระยะเวลายาวนานกว่าปกติ คือ 3 ปี สำหรับเวอร์ชั่น desktop และ 5 ปี สำหรับเวอร์ชั่น server ในขณะที่เวอร์ชันอื่นจะ support แค่ 18 เดือนเท่านั้น ล่าสุดปีนี้ ที่เพิ่งออกมาวันที่ 26 เมษายน เวอร์ชั่น 12.04 LTS (Precise Pangolin) ได้ออกมาให้ดาวน์โหลดใช้กันแล้ว พิเศษจะขยายเวลา support ในเวอร์ชั่น desktop ให้เป็น [...]]]></description>
			<content:encoded><![CDATA[<p>ทุกๆ สองปี หรือปี คศ. ที่เป็นเลขคู่ ในเดือนเมษายน Ubuntu จะออกเวอร์ชั่นใหม่ ที่เป็น Long-Term Support หรือ LTS ซึ่งเป็นเวอร์ชั่นที่ Canonical จะสนับสนุน (support) เรื่องการปรับปรุงโปรแกรมเช่น security fixes, critical bugs, minor update เป็นระยะเวลายาวนานกว่าปกติ คือ 3 ปี สำหรับเวอร์ชั่น desktop และ 5 ปี สำหรับเวอร์ชั่น server ในขณะที่เวอร์ชันอื่นจะ support แค่ 18 เดือนเท่านั้น</p>
<p>ล่าสุดปีนี้ ที่เพิ่งออกมาวันที่ 26 เมษายน เวอร์ชั่น 12.04 LTS (Precise Pangolin) ได้ออกมาให้ดาวน์โหลดใช้กันแล้ว พิเศษจะขยายเวลา support ในเวอร์ชั่น desktop ให้เป็น 5 ปี เท่ากับเวอร์ชั่น server</p>
<p>ขอนำเวอร์ชั่นที่เป็น server มารีวิวเพื่อเป็นข้อมูลประกอบการตัดสินใจในการ upgrade จาก Ubuntu เวอร์ชั่นเก่า หรือถ้าใช้ลีนุกซ์อื่นอยู่ เผื่อเปลี่ยนใจหันมาลองใช้บ้าง</p>
<p>ในตอนแรกจะเป็นการติดตั้ง</p>
<p><span id="more-2194"></span></p>
<h4>ดาวน์โหลดไฟล์ ISO</h4>
<p>เข้าหน้าเว็บไซต์ www.ubuntu.com ในหน้าแรก ณ ตอนที่เขียนจะมีปุ่ม [Get Ubuntu now] ให้กดเข้าสู่หน้าดาวน์โหลด หรือถ้าหน้าเว็บเปลี่ยนไปแล้ว ก็คลิ้ก Download จากเมนูด้านบน</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/a01-Get-Ubuntu-now.png"><img class="alignnone size-full wp-image-2199" title="a01-Get-Ubuntu-now" src="http://spalinux.com/wp-content/uploads/2012/04/a01-Get-Ubuntu-now.png" alt="" width="440" height="423" /></a></p>
<p>&nbsp;</p>
<p>คลิ้กเลือก Ubuntu Server</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/a02-Ubuntu-Server.png"><img class="alignnone size-full wp-image-2200" title="a02-Ubuntu-Server" src="http://spalinux.com/wp-content/uploads/2012/04/a02-Ubuntu-Server.png" alt="" width="304" height="368" /></a></p>
<p>&nbsp;</p>
<p>เลือกเวอร์ชั่น 32-bit หรือ 64-bit แล้วกดปุ่ม [Start download] เพื่อดาวน์โหลดไฟล์ ISO</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/a03-Start-Download.png"><img class="alignnone size-full wp-image-2201" title="a03-Start-Download" src="http://spalinux.com/wp-content/uploads/2012/04/a03-Start-Download.png" alt="" width="241" height="152" /></a></p>
<p>&nbsp;</p>
<p>ชื่อไฟล์ที่ได้จากการดาวน์โหลด ubuntu-12.04-server-amd64.iso ประมาณ 700 MB ซึ่งสามารถนำไฟล์นี้ไปเขียนใส่แผ่นซีดี แล้วนำไปบู๊ตเพื่อติดตั้งลีนุกซ์ได้</p>
<p><span style="color: #ff0000;">คำเตือน สำหรับการทดลอง แนะนำให้ติดตั้งบนเครื่องที่ไม่มีข้อมูลใดๆ หรืออาจทดลองติดตั้งใน VMware หรือ Virtual Box ก็ได้</span></p>
<p>บู๊ตแผ่นซีดีที่เขียนจากไฟล์ ISO ที่ดาวน์โหลดมา</p>
<p>หน้าจอแรก Language เลือกภาษาที่ใช้ติดตั้ง สามารถใช้ปุ่ม cursor ขึ้นลง ซ้ายขวา เพื่อเลือกได้ ในที่นี้ขอเลือก &#8220;English&#8221; แล้วกด [Enter]</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/c01-Language.png"><img class="alignnone size-full wp-image-2202" title="c01-Language" src="http://spalinux.com/wp-content/uploads/2012/04/c01-Language.png" alt="" width="614" height="469" /></a></p>
<p>&nbsp;</p>
<p>หน้าจอเมนูบู๊ต ใช้ปุ่ม cursor ขึ้นลงเลือกได้</p>
<p>หากเป็นการติดตั้งครั้งแรก แนะนำให้เลือก &#8220;Check disc for defects&#8221; เพื่อตรวจสอบความถูกต้องของไฟล์ ISO ที่ดาวน์โหลดมาเขียนลงแผ่นซีดี</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/c02-Check-disc-for-defects.png"><img class="alignnone size-full wp-image-2203" title="c02-Check-disc-for-defects" src="http://spalinux.com/wp-content/uploads/2012/04/c02-Check-disc-for-defects.png" alt="" width="278" height="256" /></a></p>
<p>&nbsp;</p>
<p>หน้าจอแสดงการตรวจสอบแผ่นซีดี</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/c03-Checking-CD-ROM-integrity.png"><img class="alignnone size-full wp-image-2204" title="c03-Checking-CD-ROM-integrity" src="http://spalinux.com/wp-content/uploads/2012/04/c03-Checking-CD-ROM-integrity.png" alt="" width="778" height="173" /></a></p>
<p>&nbsp;</p>
<p>หากไฟล์ ISO ถูกต้อง ก็จะแสดงหน้าจอ กด [Enter] เพื่อบู๊ตจากแผ่นใหม่อีกครั้ง</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/c04-Integrity-test-successful.png"><img class="alignnone size-full wp-image-2205" title="c04-Integrity-test-successful" src="http://spalinux.com/wp-content/uploads/2012/04/c04-Integrity-test-successful.png" alt="" width="547" height="160" /></a></p>
<p>&nbsp;</p>
<p>หน้าเมนูบู๊ตติดตั้งเลือก &#8220;Install Ubuntu Server&#8221; แล้วกด [Enter]</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/d01-Install-Ubuntu-Server.png"><img class="alignnone size-full wp-image-2206" title="d01-Install-Ubuntu-Server" src="http://spalinux.com/wp-content/uploads/2012/04/d01-Install-Ubuntu-Server.png" alt="" width="270" height="253" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h4>เลือกภาษา และคีย์บอร์ด (Language, Keyboard)</h4>
<p>หน้าถัดไปจะเป็นการเลือกภาษาที่ใช้ระหว่างการติดตั้ง เลือก English</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/d02-Select-a-language.png"><img class="alignnone size-full wp-image-2207" title="d02-Select-a-language" src="http://spalinux.com/wp-content/uploads/2012/04/d02-Select-a-language.png" alt="" width="776" height="380" /></a></p>
<p>&nbsp;</p>
<p>หน้าเลือกสถานที่ (location) ที่เราอยู่ ใช้เพื่อปรับเวลา time zone สามารถใช้ปุ่มขึ้นลง หรือปุ่ม [Tab] เพื่อเลือกได้</p>
<p>เลือก other -&gt; Asia -&gt; Thailand</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/d03-select-other.png"><img class="alignnone size-full wp-image-2208" title="d03-select-other" src="http://spalinux.com/wp-content/uploads/2012/04/d03-select-other.png" alt="" width="779" height="524" /></a></p>
<p>&nbsp;</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/d04-select-Asia.png"><img class="alignnone size-full wp-image-2209" title="d04-select-Asia" src="http://spalinux.com/wp-content/uploads/2012/04/d04-select-Asia.png" alt="" width="778" height="202" /></a></p>
<p>&nbsp;</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/d05-select-Thailand.png"><img class="alignnone size-full wp-image-2210" title="d05-select-Thailand" src="http://spalinux.com/wp-content/uploads/2012/04/d05-select-Thailand.png" alt="" width="776" height="380" /></a></p>
<p>&nbsp;</p>
<p>หน้าถัดไปจะเป็นการคอนฟิก locales เลือก United States &#8211; en-US.UTF-8</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/d06-Configure-locales.png"><img class="alignnone size-full wp-image-2211" title="d06-Configure-locales" src="http://spalinux.com/wp-content/uploads/2012/04/d06-Configure-locales.png" alt="" width="776" height="363" /></a></p>
<p>&nbsp;</p>
<p>หน้าคอนฟิกคีย์บอร์ด เลือก &#8220;No&#8221; เพื่อไม่ให้ตรวจสอบ (detect) คีย์บอร์ด</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/d07-Configure-keyboard.png"><img class="alignnone size-full wp-image-2212" title="d07-Configure-keyboard" src="http://spalinux.com/wp-content/uploads/2012/04/d07-Configure-keyboard.png" alt="" width="763" height="192" /></a></p>
<p>&nbsp;</p>
<p>แล้วเลือก English (US)</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/d08-Keyboard-English-US.png"><img class="alignnone size-full wp-image-2213" title="d08-Keyboard-English-US" src="http://spalinux.com/wp-content/uploads/2012/04/d08-Keyboard-English-US.png" alt="" width="778" height="396" /></a></p>
<p>&nbsp;</p>
<p>เลือก English (US) อีกครั้ง</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/d09-Keyboard.png"><img class="alignnone size-full wp-image-2214" title="d09-Keyboard" src="http://spalinux.com/wp-content/uploads/2012/04/d09-Keyboard.png" alt="" width="661" height="123" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h4>คอนฟิกเน็ตเวิร์ค (Network)</h4>
<p>ดีฟอลต์การติดตั้ง Ubuntu จะมีการพยายามคอนฟิกเน็ตเวิร์คโดยอัตโนมัติด้วย DHCP แต่ถ้าเครื่องที่ติดตั้งไม่ได้ต่อ LAN อยู่ หรือต่อแล้วไม่มี DHCP Server อยู่ก็จะขึ้น error</p>
<p>&#8220;Network autoconfiguration failed&#8221;</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/e01-Network-autoconfiguration-failed.png"><img class="alignnone size-full wp-image-2216" title="e01-Network-autoconfiguration-failed" src="http://spalinux.com/wp-content/uploads/2012/04/e01-Network-autoconfiguration-failed.png" alt="" width="762" height="170" /></a></p>
<p>&nbsp;</p>
<p>กด Continue หน้าต่อไปจะขึ้นให้เลือกว่าจะคอนฟิก network แบบไหน ในที่นี่ขอเลือก &#8220;Configure network manually&#8221;</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/e02-configure-network-manually.png"><img class="alignnone size-full wp-image-2217" title="e02-configure-network-manually" src="http://spalinux.com/wp-content/uploads/2012/04/e02-configure-network-manually.png" alt="" width="778" height="204" /></a></p>
<p>&nbsp;</p>
<p>ใส่ IP address</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/e03-IP-Address.png"><img class="alignnone size-full wp-image-2218" title="e03-IP-Address" src="http://spalinux.com/wp-content/uploads/2012/04/e03-IP-Address.png" alt="" width="618" height="254" /></a></p>
<p>&nbsp;</p>
<p>ใส่ Netmask</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/e04-netmask.png"><img class="alignnone size-full wp-image-2219" title="e04-netmask" src="http://spalinux.com/wp-content/uploads/2012/04/e04-netmask.png" alt="" width="761" height="155" /></a></p>
<p>&nbsp;</p>
<p>ใส่ Gateway</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/e05-gateway.png"><img class="alignnone size-full wp-image-2220" title="e05-gateway" src="http://spalinux.com/wp-content/uploads/2012/04/e05-gateway.png" alt="" width="763" height="190" /></a></p>
<p>&nbsp;</p>
<p>ใส่ Name server (DNS)</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/e06-dns.png"><img class="alignnone size-full wp-image-2221" title="e06-dns" src="http://spalinux.com/wp-content/uploads/2012/04/e06-dns.png" alt="" width="751" height="173" /></a></p>
<p>&nbsp;</p>
<p>ใส่ชื่อเครื่อง hostname ไม่ต้องใส่ชื่อโดเมน</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/e07-Configure-the-network.png"><img class="alignnone size-full wp-image-2222" title="e07-Configure-the-network" src="http://spalinux.com/wp-content/uploads/2012/04/e07-Configure-the-network.png" alt="" width="760" height="192" /></a></p>
<p>&nbsp;</p>
<p>ใส่ชื่อโดเมน Domain name</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/e08-domain.png"><img class="alignnone size-full wp-image-2223" title="e08-domain" src="http://spalinux.com/wp-content/uploads/2012/04/e08-domain.png" alt="" width="759" height="172" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h4>User and Password</h4>
<p>โดยดีฟอลต์จากการติดตั้ง Ubuntu จะให้ผู้ใช้งานล็อกอินเป็นผู้ใช้งานธรรมดาและถ้าหากจะทำอะไรที่ต้องใช้สิทธิเป็น root ต้องใช้คำสั่ง sudo เพื่อยกระดับ</p>
<p>ซึ่งจะแตกต่างจาก CentOS, RedHat หรือ ​Fedora คือให้ล็อกอินด้วย root เลย หรือไม่ก็ใช้คำสั่ง su เป็นหลัก</p>
<p>ตอนติดตั้ง Ubuntu จะให้สร้างชื่อผู้ใช้งานขึ้นมา และผู้ใช้ username นี้สามารถที่จะใช้ sudo เพื่อเทียบเท่า root ของเครื่องเลย</p>
<p>หน้าจอ &#8220;Set up users and passwords&#8221; ใส่ชื่อเต็ม (Fullname)</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/f01-user.png"><img class="alignnone size-full wp-image-2224" title="f01-user" src="http://spalinux.com/wp-content/uploads/2012/04/f01-user.png" alt="" width="761" height="208" /></a></p>
<p>&nbsp;</p>
<p>ใส่ชื่อ username เป็นชื่อที่ใช้ในการล็อกอิน</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/f02-username.png"><img class="alignnone size-full wp-image-2225" title="f02-username" src="http://spalinux.com/wp-content/uploads/2012/04/f02-username.png" alt="" width="759" height="156" /></a></p>
<p>&nbsp;</p>
<p>ใส่ password ของ user</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/f03-choose-password.png"><img class="alignnone size-full wp-image-2226" title="f03-choose-password" src="http://spalinux.com/wp-content/uploads/2012/04/f03-choose-password.png" alt="" width="759" height="140" /></a></p>
<p>&nbsp;</p>
<p>ใส่ password อีกครั้ง</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/f04-re-enter-password.png"><img class="alignnone size-full wp-image-2227" title="f04-re-enter-password" src="http://spalinux.com/wp-content/uploads/2012/04/f04-re-enter-password.png" alt="" width="689" height="126" /></a></p>
<p>&nbsp;</p>
<p>ต้องการเข้ารหัส HOME directory ไหม ถ้าไม่ต้องการก็เลือก No</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/f05-encrypt-home.png"><img class="alignnone size-full wp-image-2228" title="f05-encrypt-home" src="http://spalinux.com/wp-content/uploads/2012/04/f05-encrypt-home.png" alt="" width="743" height="191" /></a></p>
<p>&nbsp;</p>
<h4>คอนฟิกเวลาและ Time Zone</h4>
<p>หน้าจอคอนฟิก Clock time zone เลือก &#8220;Select from worldwide list&#8221;</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/g01-Select-from-worldwide-list.png"><img class="alignnone size-full wp-image-2229" title="g01-Select-from-worldwide-list" src="http://spalinux.com/wp-content/uploads/2012/04/g01-Select-from-worldwide-list.png" alt="" width="308" height="245" /></a></p>
<p>&nbsp;</p>
<p>เลือก Bangkok ซึ่งอยู่ภายใต้ Asia</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/g02-Asia-Bangkok.png"><img class="alignnone size-full wp-image-2230" title="g02-Asia-Bangkok" src="http://spalinux.com/wp-content/uploads/2012/04/g02-Asia-Bangkok.png" alt="" width="299" height="266" /></a></p>
<p>&nbsp;</p>
<h4>คอนฟิกดิสก์ และแบ่งพาร์ทิชั่น (Disk Partition)</h4>
<p>หน้าจอ Partition disks เลือก &#8220;Guide partitioning&#8221;</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/h01-partition-disks.png"><img class="alignnone size-full wp-image-2231" title="h01-partition-disks" src="http://spalinux.com/wp-content/uploads/2012/04/h01-partition-disks.png" alt="" width="775" height="219" /></a></p>
<p>&nbsp;</p>
<p>เลือก &#8220;Guided &#8211; use entire disk&#8221; ให้ช่วยสร้างพาร์ทิชั่นโดยอัตโนมัติ</p>
<p><span style="color: #ff0000;">คำเตือน ระมัดระวังในการเลือก ในที่นี้ทดสอบกับดิสก์ที่ไม่มีข้อมูลใดๆ อยู่เลย หากคุณทดสอบกับดิสก์ที่มีข้อมูลอยู่ เช่นมี Windows ติดตั้งอยู่ด้วย คุณต้องเลือก ​Manual</span></p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/h02-entire-disk.png"><img class="alignnone size-full wp-image-2232" title="h02-entire-disk" src="http://spalinux.com/wp-content/uploads/2012/04/h02-entire-disk.png" alt="" width="776" height="188" /></a></p>
<p>&nbsp;</p>
<p>หน้าจอสรุปข้อมูลการสร้าง partition หากถูกต้อง เลือก &#8220;Finish partitioning and write changes to disk&#8221;</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/h03-write-changes.png"><img class="alignnone size-full wp-image-2233" title="h03-write-changes" src="http://spalinux.com/wp-content/uploads/2012/04/h03-write-changes.png" alt="" width="777" height="300" /></a></p>
<p>&nbsp;</p>
<p>หน้าจอเตือนอีกครั้ง เพื่อยืนยันการแก้ไขดิสก์ หากถูกต้องเลือก Yes</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/h04-confirm.png"><img class="alignnone size-full wp-image-2234" title="h04-confirm" src="http://spalinux.com/wp-content/uploads/2012/04/h04-confirm.png" alt="" width="746" height="254" /></a></p>
<p>&nbsp;</p>
<h4>เริ่มการติดตั้ง (Installing)</h4>
<p>หน้าจอเริ่มการติดตั้งโปรแกรมพื้นฐาน (base)</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/p00-Installing-the-base-system.png"><img class="alignnone size-full wp-image-2236" title="p00-Installing-the-base-system" src="http://spalinux.com/wp-content/uploads/2012/04/p00-Installing-the-base-system.png" alt="" width="777" height="139" /></a></p>
<p>&nbsp;</p>
<p>หลังจากติดตั้งโปรแกรมพื้นฐานเสร็จเรียบร้อย หน้าจอจะให้ใส่คอนฟิก HTTP proxy (ถ้ามี) เพื่อจะต่ออินเตอร์เน็ต</p>
<p>เพื่อจะดาวน์โหลดโปรแกรมเพิ่มเติมสำหรับการติดตั้งจากอินเตอร์เน็ต</p>
<p>หากเครื่องนี้ยังไม่ได้ต่อเน็ต หรือยังไม่ได้ใช้ ก็กด Continue ไป</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/p01-HTTP-proxy.png"><img class="alignnone size-full wp-image-2237" title="p01-HTTP-proxy" src="http://spalinux.com/wp-content/uploads/2012/04/p01-HTTP-proxy.png" alt="" width="773" height="188" /></a></p>
<p>&nbsp;</p>
<p>ติดตั้งโปรแกรมเพิ่มเติม</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/p02-install-software.png"><img class="alignnone size-full wp-image-2238" title="p02-install-software" src="http://spalinux.com/wp-content/uploads/2012/04/p02-install-software.png" alt="" width="777" height="92" /></a></p>
<p>&nbsp;</p>
<p>ต้องการตั้ง auto update หรือไม่ ในที่นี้ขอเลือก &#8220;No automatic updates&#8221;</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/p03-auto-update.png"><img class="alignnone size-full wp-image-2239" title="p03-auto-update" src="http://spalinux.com/wp-content/uploads/2012/04/p03-auto-update.png" alt="" width="777" height="233" /></a></p>
<p>&nbsp;</p>
<p>หลังจากติดตั้งโปรแกรมที่จำเป็นหลัก (core) ไปแล้ว หน้า &#8220;Software selection&#8221; จะมีให้เลือกว่าต้องการลงชุดโปรแกรมสำหรับเซิร์ฟเวอร์อะไรบ้าง</p>
<p>เลือก software กดลูกศรขึ้นลง กด [spacebar] สลับไปมา เพื่อเลือก [*] หรือไม่เลือก [ ]</p>
<p>ขอเลือก SSH และ LAMP (ชุดโปรแกรมเว็บเซิร์ฟเวอร์ Linux, Apache, MySQL, PHP)</p>
<pre>[*] OpenSSH Server
[*] LAMP server</pre>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/p04-Software-selection.png"><img class="alignnone size-full wp-image-2240" title="p04-Software-selection" src="http://spalinux.com/wp-content/uploads/2012/04/p04-Software-selection.png" alt="" width="779" height="331" /></a></p>
<p>&nbsp;</p>
<p>หากเลือกลง LAMP ที่มี MySQL ติดตั้งด้วย จะมีหน้าจอให้ใส่ &#8220;root&#8221; password ของ MySQL</p>
<p>ใส่ password สองครั้งให้เหมือนกัน</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/p05-mysql-password.png"><img class="alignnone size-full wp-image-2241" title="p05-mysql-password" src="http://spalinux.com/wp-content/uploads/2012/04/p05-mysql-password.png" alt="" width="716" height="173" /></a></p>
<p>&nbsp;</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/p06-mysql-password-again.png"><img class="alignnone size-full wp-image-2242" title="p06-mysql-password-again" src="http://spalinux.com/wp-content/uploads/2012/04/p06-mysql-password-again.png" alt="" width="386" height="95" /></a></p>
<p>&nbsp;</p>
<p>หน้าจอกำลังติดตั้งโปรแกรมที่เลือกไว้</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/p07-installing.png"><img class="alignnone size-full wp-image-2243" title="p07-installing" src="http://spalinux.com/wp-content/uploads/2012/04/p07-installing.png" alt="" width="775" height="94" /></a></p>
<p>&nbsp;</p>
<p>หน้าจอคอนฟิก GRUB ว่าจะติดตั้ง GRUT boot loader หรือไม่ ตอบ Yes</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/p08-grub.png"><img class="alignnone size-full wp-image-2244" title="p08-grub" src="http://spalinux.com/wp-content/uploads/2012/04/p08-grub.png" alt="" width="759" height="224" /></a></p>
<p>&nbsp;</p>
<p>หน้าจอแสดงการติดตั้งเสร็จเรียบร้อย กด Continue เพื่อรีสตาร์ตเครื่อง อย่าลืมเอาแผ่นซีดีออก</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/p09-Finish-the-installation.png"><img class="alignnone size-full wp-image-2245" title="p09-Finish-the-installation" src="http://spalinux.com/wp-content/uploads/2012/04/p09-Finish-the-installation.png" alt="" width="756" height="141" /></a></p>
<p>&nbsp;</p>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://www.ubuntu.com/" target="_blank">Ubuntu</a></li>
<li><a href="http://en.wikipedia.org/wiki/Ubuntu_(operating_system)" target="_blank">Ubuntu (operating system)</a></li>
<li><a title="View Details: รีวิว Ubuntu 12.04 LTS – ทดลองใช้" href="http://spalinux.com/2012/04/review-ubuntu-12-04-lts-test-usage" rel="bookmark">รีวิว Ubuntu 12.04 LTS – ทดลองใช้</a></li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2012/04/review-ubuntu-12-04-lts-installation/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ล็อกอินเข้าลีนุกซ์จาก Windows ด้วย PuTTY</title>
		<link>http://spalinux.com/2012/04/login-to-linux-from-windows-by-putty</link>
		<comments>http://spalinux.com/2012/04/login-to-linux-from-windows-by-putty#comments</comments>
		<pubDate>Sat, 21 Apr 2012 10:58:59 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Authentication]]></category>
		<category><![CDATA[CentOS 6]]></category>
		<category><![CDATA[Linux Installation]]></category>
		<category><![CDATA[Linux Shell]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[Utility]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=2131</guid>
		<description><![CDATA[หลังจากติดตั้ง คอนฟิกเน็ตเวิร์ค เช่น ตั้งค่า IP Address, Netmask, Gateway บนลีนุกซ์เสร็จเรียบร้อย การคอนฟิกที่เหลือ สามารถล็อกอินจากเครื่องอื่นมาทำงานได้โดยผ่านทาง SSH (Secure shell) ในบทนี้จะแนะนำโปรแกรม PuTTY  ซึ่งเป็นโปรแกรมที่สามารถใช้งานได้ฟรี รันบน Windows ให้สามารถล็อกอินเข้าลีนุกซ์เครื่องที่เราติดตั้งได้ ดาวน์โหลดโปรแกรม PuTTY ค้นหาคำว่า &#8220;PuTTY&#8221; จาก google หรือไม่ก็เข้าเว็บไซต์ PuTTY Download Page โดยตรงที่ http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html การใช้งาน PuTTY สามารถทำได้สองแบบคือดาวน์โหลดไฟล์ putty.exe มาไฟล์เดียว ก็สามารถใช้งานได้แล้ว หรือจะเลือกแบบ Windows installer เพื่อติดตั้งเป็นชุดโปรแกรม โดยจะมีโปรแกรมย่อยอื่นๆ ด้วย เพื่อความง่าย แนะนำให้ดาวน์โหลดแค่ putty.exe ไฟล์เดียว ด้านล่างหัวข้อ &#8220;For Windows on Intel x86&#8243; คลิ้กที่ลิ้งค์ [...]]]></description>
			<content:encoded><![CDATA[<p>หลังจากติดตั้ง คอนฟิกเน็ตเวิร์ค เช่น ตั้งค่า IP Address, Netmask, Gateway บนลีนุกซ์เสร็จเรียบร้อย</p>
<p>การคอนฟิกที่เหลือ สามารถล็อกอินจากเครื่องอื่นมาทำงานได้โดยผ่านทาง SSH (Secure shell)</p>
<p>ในบทนี้จะแนะนำโปรแกรม PuTTY  ซึ่งเป็นโปรแกรมที่สามารถใช้งานได้ฟรี รันบน Windows ให้สามารถล็อกอินเข้าลีนุกซ์เครื่องที่เราติดตั้งได้</p>
<p><span id="more-2131"></span></p>
<h4>ดาวน์โหลดโปรแกรม PuTTY</h4>
<p>ค้นหาคำว่า &#8220;PuTTY&#8221; จาก google หรือไม่ก็เข้าเว็บไซต์ PuTTY Download Page โดยตรงที่</p>
<p>http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/01-PuTTY-Download-Page.png"><img class="alignnone size-full wp-image-2132" title="01-PuTTY-Download-Page" src="http://spalinux.com/wp-content/uploads/2012/04/01-PuTTY-Download-Page.png" alt="" width="804" height="323" /></a></p>
<p>การใช้งาน PuTTY สามารถทำได้สองแบบคือดาวน์โหลดไฟล์ putty.exe มาไฟล์เดียว ก็สามารถใช้งานได้แล้ว หรือจะเลือกแบบ Windows installer เพื่อติดตั้งเป็นชุดโปรแกรม โดยจะมีโปรแกรมย่อยอื่นๆ ด้วย</p>
<p>เพื่อความง่าย แนะนำให้ดาวน์โหลดแค่ putty.exe ไฟล์เดียว</p>
<p>ด้านล่างหัวข้อ &#8220;For Windows on Intel x86&#8243; คลิ้กที่ลิ้งค์ &#8220;putty.exe&#8221; เพื่อดาวน์โหลดไฟล์ สมมติว่าเซฟลง Desktop</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/02-putty.exe-on-Desktop.png"><img class="alignnone size-full wp-image-2133" title="02-putty.exe-on-Desktop" src="http://spalinux.com/wp-content/uploads/2012/04/02-putty.exe-on-Desktop.png" alt="" width="75" height="220" /></a></p>
<p>&nbsp;</p>
<p>เพียงแค่นี้ก็สามารถใช้โปรแกรม putty เพื่อล็อกอินเข้าเครื่องลีนุกซ์ได้แล้ว</p>
<p>ดับเบิ้ลคลิ้กที่ไอคอนไฟล์ putty.exe เพื่อรันโปรแกรม</p>
<p>หน้าจอของ PuTTY แสดงขึ้นมา เพื่อให้กรอกข้อมูล</p>
<ul>
<li>Host Name (or IP Address) ใส่ IP Address ของเครื่องลีนุกซ์ เช่น 192.168.5.62</li>
<li>Port ใส่ 22</li>
<li>Connection type: เลือก [x] SSH</li>
</ul>
<p>แล้วกด [Open] หรือกดปุ่ม [Enter]</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/03-putty-session.png"><img class="alignnone size-full wp-image-2134" title="03-putty-session" src="http://spalinux.com/wp-content/uploads/2012/04/03-putty-session.png" alt="" width="456" height="442" /></a></p>
<p>&nbsp;</p>
<p>หากเป็นการล็อกอินด้วย SSH เข้าไปลีนุกซ์เครื่องที่ระบุ เป็นครั้งแรก หน้าจอจะแสดงเตือน &#8220;PuTTY Security Alert&#8221; เป็นข้อมูลเกี่ยวกับ key ต่างๆ ที่ใช้ใน  Secure Shell</p>
<p>กด [Yes] เพื่อยืนยันว่าถูกต้อง</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/p4-PuTTY-Security-Alert.png"><img class="alignnone size-full wp-image-2135" title="p4-PuTTY-Security-Alert" src="http://spalinux.com/wp-content/uploads/2012/04/p4-PuTTY-Security-Alert.png" alt="" width="389" height="237" /></a></p>
<p>&nbsp;</p>
<p>หมายเหตุ หากต้องการยืนยันความถูกต้องกับข้อมูลที่เตือนขึ้นมา สามารถตรวจสอบได้โดยเปรียบเทียบ fingerprint บนหน้าจอที่แสดง กับ Secure Shell ที่รันบนเซิร์ฟเวอร์</p>
<p>เช่นข้อมูลเกี่ยวกับ fingerprint ที่เตือนขึ้นมาแสดง</p>
<p>The server&#8217;s rsa2 key fingerprint is:<br />
ssh-rsa <span style="color: #0000ff;">2048 42:b2:98:95:57:14:aa:0a:6c:fa:e8:3a:7b:d8:0b:63</span></p>
<p>เปรียบเทียบกับ Secure Shell ที่รันบนเซิรฟ์เวอร์ ใช้คำสั่ง ssh-keygen -lf เพื่อดู fingerprint</p>
<pre>[root@cent6 ~]# <strong>ssh-keygen -lf /etc/ssh/ssh_host_rsa_key</strong>
<span style="color: #0000ff;">2048 42:b2:98:95:57:14:aa:0a:6c:fa:e8:3a:7b:d8:0b:63</span> /etc/ssh/ssh_host_rsa_key.pub (RSA)</pre>
<p>ผลที่ได้ต้องออกมาตรงกัน เป็นการยืนยันว่า เราล็อกอินเข้าไปในเครื่องที่เราต้องการจริง</p>
<p>หน้าจอให้ใส่ login as: ใส่ root และพิมพ์รหัสผ่านของ root ให้ถูกต้อง ก็จะสามารถล็อกอินเข้าสู่เครื่องลีนุกซ์ได้ เปรียบเสมือนเรานั่งทำงานอยู่ที่หน้าจอคอนโซลของเครื่องลีนุกซ์เลย</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/p5-login-as.png"><img class="alignnone size-full wp-image-2136" title="p5-login-as" src="http://spalinux.com/wp-content/uploads/2012/04/p5-login-as.png" alt="" width="449" height="104" /></a></p>
<p>&nbsp;</p>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target="_blank">PuTTY Download Page</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2012/04/login-to-linux-from-windows-by-putty/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>เพิ่ม แก้ไข ลบ ผู้ใช้งานบนลีนุกซ์</title>
		<link>http://spalinux.com/2012/04/add-modify-delete-user-on-linux</link>
		<comments>http://spalinux.com/2012/04/add-modify-delete-user-on-linux#comments</comments>
		<pubDate>Sat, 21 Apr 2012 06:21:58 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Authentication]]></category>
		<category><![CDATA[CentOS 6]]></category>
		<category><![CDATA[Linux Installation]]></category>
		<category><![CDATA[Linux Shell]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[Users]]></category>
		<category><![CDATA[add]]></category>
		<category><![CDATA[delete]]></category>
		<category><![CDATA[modify]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=2126</guid>
		<description><![CDATA[เนื่องจาก root สามารถทำได้ทุกอย่างบนลีนุกซ์ ไม่ว่าจะติดตั้งโปรแกรม แก้ไขคอนฟิก หรือกระทั่งสั่งปิดเครื่อง (shutdown) คำแนะนำอย่างหนึ่งสำหรับผู้ใช้ลีนุกซ์ ไม่ว่าจะเพิ่งเริ่มต้นหัดใช้งาน หรือใช้งานมานานแล้ว คือล็อกอินเป็นผู้ใช้ธรรมดาที่ไม่ใช่ root ให้เป็นนิสัย เพราะผู้ใช้งานธรรมดา ก็สามารถทำอะไรได้หลายอย่างแล้ว เช่นดูคอนฟิกของเครื่อง แก้ไขไฟล์เท่าที่มีสิทธิ์ และหากทำอะไรผิดพลาดไป ความเสียหายที่เกิดขึ้น ก็จะกระทบในระดับหนึ่ง เท่าที่ผู้ใช้คนนั้นจะทำได้ ไม่กระทบทั้งเครื่อง จนกว่าจำเป็นต้องมีการแก้ไขคอนฟิกหรือทำอะไรบางอย่างกับลีนุกซ์ที่จำเป็นต้องทำด้วย root ค่อยใช้คำสั่ง su เปลี่ยนผู้ใช้ root (หรือใช้ sudo) และเมื่อหลังจากแก้ไขเสร็จสิ้นแล้ว ก็เปลี่ยนกลับมาเป็น user ธรรมดาอีกครั้ง ในบทนี้จะอธิบายคำสั่งที่ใช้ในการ เพิ่ม แก้ไข ลบ ผู้ใช้งาน โดยต้องใช้ root เป็นคนรันคำสั่ง การเพิ่มผู้ใช้งาน (useradd) ใช้คำสั่ง useradd ตามด้วยชื่อ user ที่ต้องการเพิ่ม เช่นต้องการเพิ่มผู้ใช้งานชื่อ alice [root@cent6 ~]# useradd alice [...]]]></description>
			<content:encoded><![CDATA[<p>เนื่องจาก root สามารถทำได้ทุกอย่างบนลีนุกซ์ ไม่ว่าจะติดตั้งโปรแกรม แก้ไขคอนฟิก หรือกระทั่งสั่งปิดเครื่อง (shutdown)</p>
<p>คำแนะนำอย่างหนึ่งสำหรับผู้ใช้ลีนุกซ์ ไม่ว่าจะเพิ่งเริ่มต้นหัดใช้งาน หรือใช้งานมานานแล้ว คือล็อกอินเป็นผู้ใช้ธรรมดาที่ไม่ใช่ root ให้เป็นนิสัย เพราะผู้ใช้งานธรรมดา ก็สามารถทำอะไรได้หลายอย่างแล้ว เช่นดูคอนฟิกของเครื่อง แก้ไขไฟล์เท่าที่มีสิทธิ์ และหากทำอะไรผิดพลาดไป ความเสียหายที่เกิดขึ้น ก็จะกระทบในระดับหนึ่ง เท่าที่ผู้ใช้คนนั้นจะทำได้ ไม่กระทบทั้งเครื่อง</p>
<p>จนกว่าจำเป็นต้องมีการแก้ไขคอนฟิกหรือทำอะไรบางอย่างกับลีนุกซ์ที่จำเป็นต้องทำด้วย root ค่อยใช้คำสั่ง su เปลี่ยนผู้ใช้ root (หรือใช้ sudo) และเมื่อหลังจากแก้ไขเสร็จสิ้นแล้ว ก็เปลี่ยนกลับมาเป็น user ธรรมดาอีกครั้ง</p>
<p>ในบทนี้จะอธิบายคำสั่งที่ใช้ในการ เพิ่ม แก้ไข ลบ ผู้ใช้งาน โดยต้องใช้ root เป็นคนรันคำสั่ง</p>
<h4><span id="more-2126"></span><br />
การเพิ่มผู้ใช้งาน (useradd)</h4>
<p>ใช้คำสั่ง useradd ตามด้วยชื่อ user ที่ต้องการเพิ่ม เช่นต้องการเพิ่มผู้ใช้งานชื่อ alice</p>
<pre>[root@cent6 ~]# <strong>useradd alice</strong></pre>
<p>คำสั่ง id ตามด้วยชื่อผู้ใช้งาน สามารถใช้ตรวจสอบข้อมูลของผู้ใช้ได้ เช่น uid, gid ของผู้ใช้</p>
<pre>[root@cent6 ~]# <strong>id alice</strong>
uid=500(alice) gid=500(alice) groups=500(alice)</pre>
<p>หากพิมพ์คำสั่ง id เฉยๆ จะเป็นการดูข้อมูลของตัวเอง เช่นถ้า root พิมพ์คำสั่ง id ไม่ได้ระบุชื่อผู้ใช้ ผลลัพธ์จะแสดงข้อมูลของ root</p>
<pre>[root@cent6 ~]# <strong>id</strong>
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023</pre>
<h4>เปลี่ยนรหัสผ่านผู้ใช้งาน (passwd)</h4>
<p>ใช้คำสั่ง passwd ตามด้วยชื่อผู้ใช้งาน เพื่อเปลี่ยนรหัสผ่านของผู้ใช้งาน พิมพ์ password สองครั้งให้เหมือนกัน หน้าจอจะไม่แสดงรหัสผ่านที่พิมพ์ลงไป</p>
<pre>[root@cent6 ~]# <strong>passwd alice</strong>
Changing password for user <span style="color: #0000ff;">alice</span>.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.</pre>
<p>ระวังการใช้คำสั่ง passwd ด้วย root เพราะถ้าลืมพิมพ์ชื่อผู้ใช้งานตามหลังคำสั่ง passwd จะเป็นการเปลี่ยนรหัสผ่านของตัวเอง เช่นถ้า root พิมพ์ ก็จะเป็นการเปลี่ยนรหัสผ่านของ root เอง</p>
<pre>[root@cent6 ~]# <strong>passwd</strong>
Changing password for user <span style="color: #0000ff;">root</span>.
New password:</pre>
<p>สังเกตชื่อ user ที่แสดงขึ้นมาหลังประโยค Changing password for user</p>
<p>หากต้องการยกเลิกการรันคำสั่ง passwd (และหลายๆ คำสั่งบนลีนุกซ์) ให้กดปุ่ม [Ctrl]+[C] จะเป็นการยกเลิก และออกจากคำสั่งได้</p>
<pre>[root@cent6 ~]# <strong>passwd</strong>
Changing password for user <span style="color: #0000ff;">root</span>.
New password: <span style="color: #ff0000;"><strong>[Ctrl]+[C]</strong></span>
[root@cent6 ~]#</pre>
<p>&nbsp;</p>
<p>คำสั่ง passwd จะมีการตรวจสอบความยากง่าย (ต่อการเดา) ของรหัสผ่านที่จะเปลี่ยน คือถ้าสามารถเดาง่ายเกินไป หน้าจอจะแสดงคำเตือนว่า BAD PASSWORD พร้อมคำอธิบายประกอบ เช่นสั้นเกินไป ง่ายต่อการเดา หรือเป็นคำที่อยู่ใน dictionary</p>
<p>เพื่อความปลอดภัยของระบบ แนะนำให้ตั้งรหัสผ่านที่ยากต่อการเดา แต่ให้ผู้ใช้งานเองจำได้ด้วย</p>
<pre>[root@cent6 ~]# <strong>passwd alice</strong>
Changing password for user alice.
New password:
<span style="color: #ff0000;">BAD PASSWORD: it is too short</span>
<span style="color: #ff0000;">BAD PASSWORD: is too simple</span>
Retype new password:</pre>
<p>ถ้ายังยืนยันจะใช้ root ก็สามารถเปลี่ยนรหัสผ่านให้ได้ (ไม่แนะนำ)</p>
<p>ผู้ใช้งานแต่ละคนสามารถเปลี่ยนรหัสผ่านของตัวเองได้ โดยใช้คำสั่ง passwd</p>
<p>ข้อแตกต่างหากรันคำสั่ง passwd ด้วยตัวผู้ใช้งานเองคือ</p>
<ul>
<li>ต้องใส่รหัสผ่านที่ใช้งานอยู่ (current) ให้ถูกต้อง</li>
<li>จะไม่ยอมให้ผู้ใช้งานเอง ตั้งรหัสผ่านง่ายเกินไป</li>
</ul>
<p>ตัวอย่างการใส่รหัสผ่านที่ใช้งานอยู่ไม่ถูกต้อง</p>
<pre>[alice@cent6 ~]$ <strong>passwd</strong>
Changing password for user alice.
Changing password for alice.
(current) UNIX password:
<span style="color: #ff0000;">passwd: Authentication token manipulation error</span></pre>
<p>ตัวอย่างการตั้งรหัสผ่านง่ายเกินไป คำสั่ง passwd จะไม่ยอมเปลี่ยนให้</p>
<pre>[alice@cent6 ~]$ <strong>passwd</strong>
Changing password for user alice.
Changing password for alice.
(current) UNIX password:
New password:
<span style="color: #ff0000;">BAD PASSWORD: it is too short</span>
New password:
<span style="color: #ff0000;">BAD PASSWORD: it is based on your username</span>
New password:
<span style="color: #ff0000;">BAD PASSWORD: it is based on a dictionary word</span>
passwd: Have exhausted maximum number of retries for service
[alice@cent6 ~]$</pre>
<p>&nbsp;</p>
<h4>เปลี่ยนเป็น root ด้วยคำสั่ง su</h4>
<p>ตัวอย่างการล็อกอินด้วยผู้ใช้งานธรรมดา สังเกต พร้อมพต์จะเป็นเครื่องหมาย $</p>
<pre>login as: <strong>alice</strong>
alice@192.168.5.62's password:
[alice@cent6 ~]$</pre>
<p>ใช้คำสั่ง su เมื่อต้องการเปลี่ยนจากผู้ใช้งานธรรมดา ให้เป็น root ใส่ password ของ root ให้ถูกต้อง</p>
<p>สังเกต พร้อมพต์ที่เปลี่ยนไปจากเครื่องหมาย $ เป็น #</p>
<pre>[alice@cent6 ~]$ <strong>su -</strong>
Password:
[root@cent6 ~]#</pre>
<p>ใช้คำสั่ง exit เมื่อต้องการออกจาก root เปลี่ยนเป็นผู้ใช้ธรรมดา</p>
<pre>[root@cent6 alice]# <strong>exit</strong>
exit
[alice@cent6 ~]$</pre>
<p>การใช้คำสั่ง su เพื่อเปลี่ยนเป็น root แนะนำให้พิมพ์เว้นวรรคแล้วตามด้วยเครื่องหมายลบ &#8220;-&#8221; เพื่อเปลี่ยนเป็น root แบบสมบูรณ์แบบ คือให้อ่านค่าคอนฟิกของ root  ด้วย</p>
<p>ตัวอย่างที่เห็นได้ชัดคือค่าคอนฟิก PATH ระหว่างผู้ใช้ธรรมดา กับ root จะแตกต่างกัน หากเปรียบเทียบการใช้คำสั่ง su แล้วตามด้วยเครื่องหมายลบ</p>
<pre>[alice@cent6 ~]$ <strong>echo $PATH</strong>
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/alice/bin</pre>
<p>คำสั่ง su แบบไม่มีเครื่องหมายลบ ตัวแปร $PATH จะมีค่าเหมือนเดิม</p>
<pre>[alice@cent6 ~]$ <strong>su</strong>
Password:
[root@cent6 alice]# echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/alice/bin</pre>
<p>&nbsp;</p>
<p>คำสั่ง su ตามด้วยเครื่องหมาย &#8216;-&#8217; ตัวแปร $PATH จะเปลี่ยนไปตามคอนฟิกของ root</p>
<pre>[alice@cent6 ~]$ <strong>su -</strong>
Password:
[root@cent6 ~]# <strong>echo $PATH</strong>
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin</pre>
<p>&nbsp;</p>
<h4>การลบผู้ใช้งาน (userdel)</h4>
<p>ใช้คำสั่ง userdel ตามด้วยชื่อผู้ใช้งานที่ต้องการลบออกจากเครื่องลีนุกซ์</p>
<p>โดยดีฟอลต์ คำสั่ง userdel จะลบชื่อผู้ใช้ออกจากระบบ แต่ไฟล์ที่อยู่ใน HOME ของผู้ใช้ยังอยู่ ทั้งนี้ก็เพื่อสำรองไฟล์ไว้ เผื่อผู้ใช้งานคนนี้จะมาขอไฟล์ภายหลังได้</p>
<p>ตัวอย่างการใช้คำสั่ง userdel ไม่ระบุออปชั่น</p>
<pre>[root@cent6 ~]# <strong>id alice</strong>
uid=500(alice) gid=500(alice) groups=500(alice)

[root@cent6 ~]# <strong>userdel alice</strong>

[root@cent6 ~]# <strong>ls -ld /home/alice/</strong>
drwx------. 2 500 500 4096 Apr 21 12:44 /home/alice/

[root@cent6 ~]# <strong>id alice</strong>
id: alice: No such user</pre>
<p>&nbsp;</p>
<p>ระบุออปชั่น &#8216;-r&#8217; หากต้องการลบไฟล์ที่อยู่ใน HOME ของผู้ใช้ด้วย</p>
<pre>[root@cent6 ~]# <strong>id alice</strong>
uid=500(alice) gid=500(alice) groups=500(alice)

[root@cent6 ~]# <strong>userdel -r alice</strong>

[root@cent6 ~]# <strong>ls -ld /home/alice/</strong>
ls: cannot access /home/alice/: No such file or directory</pre>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2012/04/add-modify-delete-user-on-linux/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ติดตั้งโมดูล PHP เพิ่มเติม บน CentOS 6</title>
		<link>http://spalinux.com/2012/04/install-more-php-module-on-centos-6</link>
		<comments>http://spalinux.com/2012/04/install-more-php-module-on-centos-6#comments</comments>
		<pubDate>Mon, 16 Apr 2012 16:00:43 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[CentOS 6]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Linux Installation]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Server]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=2115</guid>
		<description><![CDATA[จากการ ติดตั้งโปรแกรมภาษาเว็บ PHP บน Apache เว็บเซิร์ฟเวอร์ Apache และ PHP เครื่องนี้ สามารถเขียนเว็บเพจโดยใช้ภาษา PHP ได้แล้ว  แต่สามารถเรียกใช้ฟังก์ชั่นแค่พื้นฐานเท่านั้น  ถ้าต้องการใช้ฟังก์ชั่นอื่นๆ ด้วย เช่นเชื่อมต่อเข้ากับ MySQL เราจำเป็นต้องติดตั้งโมดูล PHP เพิ่มเติม ในบทความนี้จะอธิบายวิธีการตรวจสอบและติดตั้งโมดูลเพิ่มเติมจากไฟล์ rpm ที่อยู่ในแผ่นดีวีดี CentOS 6.2  โดยจะเป็นการติดตั้งโมดูล MySQL เพื่อให้สามารถเขียน PHP เชื่อมเข้ากับฐานข้อมูล MySQL ได้ ตัวอย่าง error เมื่อเรียกใช้ฟังก์ชั่นของโมดูลที่ไม่มีหรือยังไม่ได้ติดตั้ง [root@cent6 ~]# cat test-mysql.php &#60;?php mysql_connect('localhost', 'mysql_user', 'mysql_password'); ?&#62; ทดลองรันไฟล์นี้ด้วย php [root@cent6 ~]# php test-mysql.php PHP Fatal error:  Call [...]]]></description>
			<content:encoded><![CDATA[<p>จากการ <a title="View Details: ติดตั้งโปรแกรมภาษาเว็บ PHP บน Apache" href="http://spalinux.com/2012/04/install-php-web-programming-on-apache" rel="bookmark">ติดตั้งโปรแกรมภาษาเว็บ PHP บน Apache</a></p>
<p>เว็บเซิร์ฟเวอร์ Apache และ PHP เครื่องนี้ สามารถเขียนเว็บเพจโดยใช้ภาษา PHP ได้แล้ว  แต่สามารถเรียกใช้ฟังก์ชั่นแค่พื้นฐานเท่านั้น  ถ้าต้องการใช้ฟังก์ชั่นอื่นๆ ด้วย เช่นเชื่อมต่อเข้ากับ MySQL เราจำเป็นต้องติดตั้งโมดูล PHP เพิ่มเติม</p>
<p>ในบทความนี้จะอธิบายวิธีการตรวจสอบและติดตั้งโมดูลเพิ่มเติมจากไฟล์ rpm ที่อยู่ในแผ่นดีวีดี CentOS 6.2  โดยจะเป็นการติดตั้งโมดูล MySQL เพื่อให้สามารถเขียน PHP เชื่อมเข้ากับฐานข้อมูล MySQL ได้</p>
<p><span id="more-2115"></span></p>
<p>ตัวอย่าง error เมื่อเรียกใช้ฟังก์ชั่นของโมดูลที่ไม่มีหรือยังไม่ได้ติดตั้ง</p>
<pre>[root@cent6 ~]# <strong>cat test-mysql.php</strong>
&lt;?php
mysql_connect('localhost', 'mysql_user', 'mysql_password');
?&gt;</pre>
<p>ทดลองรันไฟล์นี้ด้วย php</p>
<pre>[root@cent6 ~]# <strong>php test-mysql.php</strong>
<span style="color: #ff0000;">PHP Fatal error:  Call to undefined function mysql_connect()</span> in /var/www/html/test-mysql.php on line 2</pre>
<p>วิธีการตรวจสอบว่า การเขียนโปรแกรมภาษา PHP บนเว็บเซิร์ฟเวอร์นี้ สามารถเรียกใช้โมดูล PHP อะไรได้บ้าง ทำได้โดยใช้ฟังก์ชั่น phpinfo() แล้วเปิดผ่านหน้าเว็บเพจ หรือรันคำสั่ง php ตามด้วยออปชั่น &#8220;-m&#8221;</p>
<pre>[root@cent6 html]# <strong>php -m</strong>
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
ereg
exif
fileinfo
filter
ftp
gettext
gmp
hash
iconv
json
libxml
openssl
pcntl
pcre
Phar
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
standard
tokenizer
xml
zip
zlib</pre>
<pre>[Zend Modules]</pre>
<p>&nbsp;</p>
<p>หากต้องการเรียกใช้โมดูลมากกว่านี้ จำเป็นต้องติดตั้งเพิ่มเติม  วิธีหนึ่งคือติดตั้งจากไฟล์ rpm ในแผ่นดีวีดี CentOS 6.2</p>
<p>ไฟล์ rpm ใน CentOS 6.2 ที่เกี่ยวข้องกับ PHP ไม่ว่าจะเป็นส่วนโปรแกรมหลัก หรือโมดูลเพิ่มเติม จะขึ้นต้นชื่อไฟล์ด้วย php</p>
<pre>[root@cent6 ~]# <strong>mount /dev/cdrom /mnt</strong>
 mount: block device /dev/sr0 is write-protected, mounting read-only</pre>
<pre>[root@cent6 ~]# <strong>cd /mnt/Packages/</strong>
[root@cent6 Packages]# <strong>ls -l php-*</strong>
-rw-r--r--. 2 500 500 1176604 Nov 15 18:02 php-5.3.3-3.el6_1.3.x86_64.rpm
-rw-r--r--. 2 500 500 2276776 Nov 15 18:02 php-cli-5.3.3-3.el6_1.3.x86_64.rpm
-rw-r--r--. 2 500 500  534024 Nov 15 18:02 php-common-5.3.3-3.el6_1.3.x86_64.rpm
-rw-r--r--. 2 500 500  105780 Nov 15 18:02 php-gd-5.3.3-3.el6_1.3.x86_64.rpm
-rw-r--r--. 2 500 500   36360 Nov 15 18:02 php-ldap-5.3.3-3.el6_1.3.x86_64.rpm
-rw-r--r--. 2 500 500   80300 Nov 15 18:02 <span style="color: #0000ff;">php-mysql-5.3.3-3.el6_1.3.x86_64.rpm</span>
-rw-r--r--. 2 500 500   49116 Nov 15 18:02 php-odbc-5.3.3-3.el6_1.3.x86_64.rpm
-rw-r--r--. 2 500 500   74148 Nov 15 18:02 <span style="color: #0000ff;">php-pdo-5.3.3-3.el6_1.3.x86_64.rpm</span>
-rw-r--r--. 2 500 500  402492 Dec  9 03:54 php-pear-1.9.4-4.el6.noarch.rpm
-rw-r--r--. 2 500 500   95556 Jul  3  2011 php-pecl-apc-3.1.3p1-1.2.el6.1.x86_64.rpm
-rw-r--r--. 2 500 500   61400 Sep 26  2011 php-pecl-memcache-3.0.5-3.el6.x86_64.rpm
-rw-r--r--. 2 500 500   69044 Nov 15 18:02 php-pgsql-5.3.3-3.el6_1.3.x86_64.rpm
-rw-r--r--. 2 500 500  140600 Nov 15 18:02 php-soap-5.3.3-3.el6_1.3.x86_64.rpm
-rw-r--r--. 2 500 500  102132 Nov 15 18:02 php-xml-5.3.3-3.el6_1.3.x86_64.rpm
-rw-r--r--. 2 500 500   50964 Nov 15 18:02 php-xmlrpc-5.3.3-3.el6_1.3.x86_64.rpm</pre>
<p>ใช้คำสั่ง rpm เพื่อติดตั้ง module เพิ่มเติม สำหรับการติดตั้ง MySQL module</p>
<pre>[root@cent6 Packages]# <strong>rpm -i php-mysql-5.3.3-3.el6_1.3.x86_64.rpm</strong>
<span style="color: #ff0000;">error: Failed dependencies:</span>
 php-pdo is needed by php-mysql-5.3.3-3.el6_1.3.x86_64</pre>
<p>ต้องติดตั้ง php-pdo (PDO module) ก่อน</p>
<pre>[root@cent6 Packages]# <strong>rpm -i php-pdo-5.3.3-3.el6_1.3.x86_64.rpm</strong>
[root@cent6 Packages]# <strong>rpm -i php-mysql-5.3.3-3.el6_1.3.x86_64.rpm</strong></pre>
<p>ใช้คำสั่ง php ออปชั่น -m เพื่อตรวจสอบ module ที่ติดตั้งเพิ่มเติม</p>
<pre>[root@cent6 Packages]# <strong>php -m</strong>
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
ereg
exif
fileinfo
filter
ftp
gettext
gmp
hash
iconv
json
libxml
<span style="color: #0000ff;">mysql</span>
<span style="color: #0000ff;">mysqli</span>
openssl
pcntl
pcre
<span style="color: #0000ff;">PDO</span>
<span style="color: #0000ff;">pdo_mysql</span>
<span style="color: #0000ff;">pdo_sqlite</span>
Phar
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
<span style="color: #0000ff;">sqlite3</span>
standard
tokenizer
xml
zip
zlib</pre>
<pre>Zend Modules]</pre>
<p>คำอธิบาย</p>
<ul>
<li>PDO, pdo_sqlite, sqlite3 ได้จากการติดตั้งไฟล์ php-pdo</li>
<li>mysql, mysqli, pdo_mysql ได้จากการติดตั้งไฟล์ php-mysql</li>
</ul>
<p>&nbsp;</p>
<p>หลังจากการติดตั้ง PHP module เพิ่มเติม การรัน PHP ที่เป็น command line สามารถเรียกใช้โมดูลใหม่นี้ได้เลย แต่ถ้าต้องการเรียกผ่านเว็บเซิร์ฟเวอร์ ต้องรีสตาร์ตเซอร์วิส httpd ก่อน</p>
<p>ใช้คำสั่ง service เพื่อรีสตาร์ตเซอร์วิส httpd</p>
<pre>[root@cent6 Packages]# <strong>service httpd restart</strong>
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]</pre>
<p>ตัวอย่างการใช้ฟังก์ชั่น phpinfo() แสดงผลผ่านหน้าเว็บเพจ เพื่อดูข้อมูลรายละเอียดโมดูล MySQL ที่ติดตั้งใหม่</p>
<pre>[root@cent6 ~]# <strong>cat /var/www/html/info.php</strong>
 &lt;?php
 phpinfo();
 ?&gt;</pre>
<p>ผลลัพธ์ที่ได้จากการเรียกผ่านหน้าเว็บ</p>
<p><a href="http://spalinux.com/wp-content/uploads/2012/04/install-php-module.png"><img title="install-php-module" src="http://spalinux.com/wp-content/uploads/2012/04/install-php-module.png" alt="" width="624" height="289" /></a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2012/04/install-more-php-module-on-centos-6/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

