Wednesday, October 8, 2008

ເຮັດ repository ໃຫ້ກັບ ubuntu

ພໍດີຊ່ວງຝຶກງານອ້າຍໆໃນຫ້ອງການກໍ່ສົນໃຈ Ubuntu
ເຮົາກໍ່ເລີຍຄິດໄວ້ວ່າເອີ້ຖ້າມື້ຫນື່ງຫມົດຫ້ອງການພາກັນໃຊ້ຫມົດແລ້ວເນັດ512
ມັນຊິໄຫວຫວາດຽວກໍ່ອັບເດດນັ້ນນີ້ໆໆໆ ບໍ່ຢາກຈະຄິດ
ແລ້ວເຮົາພໍດີຈື່ໄດ້ວ່າອ້າຍອ໋ອງ (ອານຸສິດ) ເພິ່ນໄດ້ຂຽນໄວ້ໃນ thaiopensource
ເຮົາກໍ່ເລີຍເອົາມາໄວ້ນີ້:p


ກຳນົດ repo ໄວ້ /var/www/package

$ sudo -s
$ mkdir /var/www/packages
$ cd /var/www/packages


ສ້າງບ່ອນເກັບ (pool)

$ mkdir -p pool/main
$ mkdir -p dists/hardy/main/binary-i386
$ mkdir .cache


ສ້າງ config ຟາຍສຳຫລັບຂໍ້ມູນ repository

$ sudo gedit apt-release.conf


ໃສ່ຂໍ້ມູນຕາມລາຍລະອຽດທາງລຸ່ມ

APT::FTPArchive::Release::Codename "hardy";
APT::FTPArchive::Release::Origin "laoubuntu.com";
APT::FTPArchive::Release::Components "main";
APT::FTPArchive::Release::Label "laoUbuntu Repository";
APT::FTPArchive::Release::Architectures "i386";
APT::FTPArchive::Release::Suite "hardy";


ສ້າງຟາຍ apt-ftparchive.conf ເພື່ອລະບຸ config ຂອງ repo

$ sudo gedit apt-ftparchive.conf


ໃສ່ຂໍ້ມູນດັ່ງຕໍ່ໄປນີ້

Dir {
ArchiveDir ".";
CacheDir "./.cache";
};

Default {
Packages::Compress ". gzip bzip2";
Contents::Compress ". gzip bzip2";
};

TreeDefault {
BinCacheDB "packages-$(SECTION)-$(ARCH).db";
Directory "pool/$(SECTION)";
Packages "$(DIST)/$(SECTION)/binary-$(ARCH)/Packages";
Contents "$(DIST)/Contents-$(ARCH)";
};

Tree "dists/hardy" {
Sections "main";
Architectures "i386";
}

ຈາກນັ້ນກໍ່ໄປຫາ .deb ມາໃສ່ລົງໄປໃນ pool/main

ສັ່ງ update repository ດ້ວຍ

$ cd /var/www/packages
$ apt-ftparchive generate apt-ftparchive.conf
$ apt-ftparchive -c apt-release.conf release dists/hardy > dists/hardy/Release


ຖ້າຢາກໃຊ້ repo ກໍ່ໄປທີ່ sources.list

$ sudo gedit /etc/apt/sources.list


ໃສ່ຂໍ້ມູນ repo ຕາມນີ້

$ deb http://my-server-address.com/packages hardy main


ແລ້ວກໍ່ update package ດັ່ງນີ້

$ sudo apt-get update


ຢາກໄດ້ຫຍັງກໍ່ໂຫລດເອົາບໍ່ເປືອງແບນວິດ ອິນເຕີເນັດແລ້ວບາດນິ

ຂອບໃຈ ອ້າຍແະນຸສິດອີກເທື່ອຫນື່ງ

No comments: