จากตอนที่แล้วเราได้ repo เพื่อเตรียมเอาไว้ใช้บริการผู้ที่ต้องการติดตั้งโปรแกรมจาก repo เราไปแล้ว ในตอนที่ 2 นี้จะเกี่ยวกับเรื่องของการจัดการ package โดยที่นักพัฒนาหรือผู้ดูแล package ต้องการอัพโหลดขึ้น repo server ด้วยตัวเอง ไม่ต้องสั่ง include package เป็นครั้งๆ ไป Debian มีเครื่องมือให้เราใช้เช่นกันครับ เราจะมาใช้เครื่องมือที่ชื่อ dupload

dupload เป็นเครื่องมือที่ออกแบบมาเพื่อใช้ในการอัพโหลด package ไปยัง repo ต่างกันได้ ซึ่งจะทำให้ง่ายในการ contribute package ของนักพัฒนาและผู้ดูแล apckage นั้นๆ เอาล่ะเรามาเริ่มติดตั้งและ config เจ้า dupload กันดีกว่าครับ เริ่มแรก ติดตั้งกันก่อน ใช้คำสั่ง

$ sudo apt-get install dupload

จากนั้นเราต้องไป config ค่า repo ให้กับ dupload กันก่อน ที่ ~/.dupload.conf หรือที่ /etc/dupload.conf ก็ได้ การ config นั้เราจะกำหนด repo server ปลายทางที่เราต้องการจะ upload package ขึ้นไป เช่น

$cfg{‘example’} = {
fqdn => "example.com",
login => "steve",
method => "scpb",
incoming => "/incoming/",
# The dinstall on ftp-master sends emails itself
dinstall_runs => 1,
};

อธิบายกันก่อน config ข้างบนเป็นการบอกว่าเรามี repo server ชื่อเล่นว่า example โดยมี domain ชื่อเต็มๆ ว่า example.com ใช้ login ว่า steve ใช้ scpd เป็น protocal ในการ upload ไฟล์ มีไดเรคทอรี /incoming เป็นไดเรอทอรีปลายทางของ package ที่เร upload ขึ้นไป

หากต้องการปรับปรุงให้เข้ากับความต้องการของคุณก็เพียงแค่แก้ไข hostname, login, incoming dir แค่นี้ก็ได้แล้วครับ อ้อ หากคุณต้องการให้ upload package โดยใช้ anonymous FTP ก็สามารถแก้ไขได้ครับ เอาล่ะ วิธีการ upload ก็ง่ายๆ ครับ ใช้คำสั่ง dupload แบบนี้

$ dupload –to <reponame> <.change file>

ตัวอย่างเช่น

$ dupload –to example suriyan-wallpaper1.0i386.change

เท่านี้ก็ upload package ขึ้นไปยัง repo ได้แล้ว แต่ว่า dupload ทำหน้าที่ upload package ไปกองไว้ที่ incoming dir เท่านั้นครับ ไม่ได้ build และบรรจุลงใน repo ของเราจริงๆ ดังนั้นต้องเขียน script เพิ่มอีกหน่อยเพื่อให้ reprepro ทำงานต่อให้เรา อ่ะดาวน์โหลด script ไปละกันนะครับ เมื่อได้ script กันแล้ว บันทึกลงในที่น่าจะจำได้ แล้วก็ใส่ลงใน crontab ครับแบบนี้

*/5 * * * * /usr/local/import-new-packages.sh

Comments are closed.