Ports การจัดการ Package ของ FreeBSD
จากที่เคยใชงานลีนุกซ์ตัวแรก คือ Red Hat มีการจัดการแพ็กเก็จหรือการติดตั้งโปรมโดยใช้ RPM จนมาเล่น Ubuntu และ Debian ก็ถูกใจการจักการเพ็กเกจที่ใช้ ATP อยากได้อะไรก็ apt-get install ง่ายจนไม่อยากกลับไปเล่นลีนุกซ์ตระกูล Red Hat ปัจจุบันลีนุกซ์ตระกูล Red Hat เขาไปถึงไหนกันแล้วผมก็ไม่รู้เลย วันนี้มาเจอการจัดการแพ็กเกจของ FreeBSD ที่มีชื่อเรียกว่า Ports ก็รู้สึกว่าง่ายไม่แพ้ APT
ที่จะยกตัวอย่างต่อไปนี้เครื่องที่ใช้งานอยู่สามารถใช้งานอินเทอร์เน็ตได้
ตัวอย่างการติดตั้ง MySQL
ติดตั้ง MySQL บน Debian
# apt-get install mysql-server-5.0
ติดตั้ง MySQL บน FreeBSD
# cd /usr/ports/databases/mysql51-server
# make install clean
การติดตั้งจะเร็วจะช้าขึ้นอยู่กับความเร็วของอินเทอร์เน็ตที่เราใช้งานอยู่
FreeBSD น่าจะช้ากว่าเพราะต้องดาวน์โหลด source มาคอมไพล์ก่อน แต่ก็เป็นการจัดการแพ็กเกจที่น่าประทับใจเช่นกัน
ตัวอย่างการติดตั้ง MySQL บน FreeBSD แบบเต็มๆ
mysqlserver# make build-depends-list
/usr/ports/databases/mysql51-client
/usr/ports/devel/gmake
/usr/ports/devel/libtool15
mysqlserver# make run-depends-list
/usr/ports/databases/mysql51-client
mysqlserver# make WITH_CHARSET=tis620 WITH_XCHARSET=all WITH_COLLATION=tis620_thai_ci WITH_OPENSSL=yes BUILD_OPTIMIZED=yes WITH_ARCHIVE=yes WITH_FEDERATED=yes WITH_NDB=yes install clean
===> Vulnerability check disabled, database not found
You may use the following build options:
WITH_CHARSET=charset Define the primary built-in charset (latin1).
WITH_XCHARSET=list Define other built-in charsets (may be 'all').
WITH_COLLATION=collate Define default collation (latin1_swedish_ci).
WITH_OPENSSL=yes Enable secure connections.
WITH_LINUXTHREADS=yes Use the linuxthreads pthread library.
WITH_PROC_SCOPE_PTH=yes Use process scope threads
(try it if you use libpthread).
BUILD_OPTIMIZED=yes Enable compiler optimizations
(use it if you need speed).
BUILD_STATIC=yes Build a static version of mysqld.
(use it if you need even more speed).
WITH_NDB=yes Enable support for NDB Cluster.
===> Extracting for mysql-server-5.1.22
=> MD5 Checksum mismatch for mysql-5.1.22-rc.tar.gz.
=> SHA256 Checksum mismatch for mysql-5.1.22-rc.tar.gz.
===> Refetch for 1 more times files: mysql-5.1.22-rc.tar.gz mysql-5.1.22-rc.tar.gz
===> Vulnerability check disabled, database not found
You may use the following build options:
WITH_CHARSET=charset Define the primary built-in charset (latin1).
WITH_XCHARSET=list Define other built-in charsets (may be 'all').
WITH_COLLATION=collate Define default collation (latin1_swedish_ci).
WITH_OPENSSL=yes Enable secure connections.
WITH_LINUXTHREADS=yes Use the linuxthreads pthread library.
WITH_PROC_SCOPE_PTH=yes Use process scope threads
(try it if you use libpthread).
BUILD_OPTIMIZED=yes Enable compiler optimizations
(use it if you need speed).
BUILD_STATIC=yes Build a static version of mysqld.
(use it if you need even more speed).
WITH_NDB=yes Enable support for NDB Cluster.
=> mysql-5.1.22-rc.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from ftp://ftp.easynet.be/mysql/Downloads/MySQL-5.1/.
mysql-5.1.22-rc.tar.gz 100% of 27 MB 10 kBps 00m00s
===> Vulnerability check disabled, database not found
You may use the following build options:
WITH_CHARSET=charset Define the primary built-in charset (latin1).
WITH_XCHARSET=list Define other built-in charsets (may be 'all').
WITH_COLLATION=collate Define default collation (latin1_swedish_ci).
WITH_OPENSSL=yes Enable secure connections.
WITH_LINUXTHREADS=yes Use the linuxthreads pthread library.
WITH_PROC_SCOPE_PTH=yes Use process scope threads
(try it if you use libpthread).
BUILD_OPTIMIZED=yes Enable compiler optimizations
(use it if you need speed).
BUILD_STATIC=yes Build a static version of mysqld.
(use it if you need even more speed).
WITH_NDB=yes Enable support for NDB Cluster.
=> MD5 Checksum OK for mysql-5.1.22-rc.tar.gz.
=> SHA256 Checksum OK for mysql-5.1.22-rc.tar.gz.
For more information, and contact details about the security
status of this software, see the following webpage:
http://www.mysql.com/
===> Cleaning for libtool-1.5.24
===> Cleaning for mysql-client-5.1.22
===> Cleaning for mysql-server-5.1.22
mysqlserver#
