แพ็คเกจใน DEBIAN - ส่วนที่ XNUMX (แพ็กเกจที่เก็บและผู้จัดการแพ็คเกจ)

สวัสดีผู้อ่านไซเบอร์ทุกท่าน

นี่จะเป็นการตีพิมพ์ครั้งแรกของไฟล์ ชุดที่ 10 เกี่ยวข้องกับ การศึกษาแพ็คเกจซึ่งมีความสำคัญสูงสุดสำหรับผู้ใช้ ระบบปฏิบัติการ GNU / Linux โดยทั่วไป แต่เน้นที่ ดิสโตรเดเบียน.

แพ็คเกจ DEBIAN

ในส่วนแรกนี้เราจะมุ่งเน้นไปที่แนวคิด: แพคเกจที่เก็บและผู้จัดการแพ็คเกจ

  • แพคเกจ

ชุดซอฟต์แวร์ ใน ระบบปฏิบัติการ GNU / Linux โดยทั่วไปคือ ไฟล์บีบอัด ที่มีโครงสร้างภายในที่กำหนดไว้ล่วงหน้าซึ่งอำนวยความสะดวกและช่วยให้สามารถจัดการได้ เครื่องมือการจัดการซอฟต์แวร์ (ผู้จัดการแพ็คเกจ) เพื่อให้เกิดการรวบรวมและ / หรือการติดตั้งอัปเดตและ / หรือการกำจัดบนระบบปฏิบัติการด้วยวิธีที่สะดวกสบายปลอดภัยมีเสถียรภาพและรวมศูนย์ แพ็คเกจคือ รวบรวมได้ หากการติดตั้งของคุณขึ้นอยู่กับซอร์สโค้ดของคุณโดยตรง (ตัวอย่าง * .Tar.gz) o ติดตั้งได้ หากคุณทำในไบนารีที่คอมไพล์แล้วสำหรับสถาปัตยกรรมหรือแพลตฟอร์มบางอย่าง (ตัวอย่าง * .Deb).

แพ็คเกจส่วนใหญ่มาพร้อมกับไฟล์ รวมเอกสารมัน สคริปต์ก่อนและหลังการติดตั้งมัน ไฟล์การกำหนดค่าเริ่มต้นมัน ไฟล์ทรัพยากร, และพวกเขา ไบนารีหรือซอร์สโค้ด พร้อมทุกสิ่งที่คุณต้องการหากต้องการรวบรวม

รูปแบบแพ็คเกจส่วนใหญ่มาพร้อมกับรูปแบบที่สอดคล้องกัน เครื่องมือการจัดการซอฟต์แวร์ที่รู้จักกันดีที่สุดคือ .deb สร้างขึ้นสำหรับ DEBIAN Distro และอนุพันธ์ทั้งหมดและ .rpm สร้างโดย Red Hat สำหรับ Distro ของตัวเองและได้รับมาเช่น Fedora และ Open SUSE นอกจากนี้ยังมี แพ็คเกจที่คอมไพล์ได้ Gentoo. สร้าง.

ความจริงที่ว่าแพคเกจถูกสร้างขึ้นสำหรับ Distro เฉพาะไม่ได้หมายความว่าจะสามารถใช้ได้เฉพาะใน Distro หรืออนุพันธ์นั้นเท่านั้นเนื่องจากมันเพียงพอที่จะมีเครื่องมือพิเศษใน Distro อื่น ๆ สำหรับการจัดการรูปแบบเหล่านี้เพื่อให้สามารถใช้งานได้ ในบรรดาเครื่องมือที่เรามี: Dpkg, Apt-get, Aptitude, RPM, Emerge, Alíenและอื่น ๆ).

Distro แต่ละตัวเก็บไว้ พัสดุในที่เก็บทั้งในสื่อและ ซีดี / ดีวีดี ในขณะที่ เซิร์ฟเวอร์ระยะไกล, ซึ่งอนุญาต อัปเดตและติดตั้งโดยเครือข่าย (อินเทอร์เน็ต) ทั้งหมดหรือบางส่วนของระบบปฏิบัติการ จาก ตำแหน่งที่ปลอดภัยและเชื่อถือได้ (ที่เก็บอย่างเป็นทางการ) เพื่อหลีกเลี่ยงการต้องมองหาเซิร์ฟเวอร์ที่ไม่รู้จัก (และไม่ปลอดภัย) เว้นแต่ว่าจำเป็นอย่างยิ่ง

Distro แต่ละตัวมักจะมีส่วนร่วมของตัวเอง แพ็คเกจความปลอดภัย (แพตช์) และการปรับปรุง (อัพเดต)เพื่อให้พร้อมใช้งานสำหรับไฟล์ ชุมชนผู้ใช้ บานตะเกียง ซอฟต์แวร์ที่ใช้งานได้อย่างสมบูรณ์แบบรวมอยู่ในระบบปฏิบัติการ. และสำหรับ การพึ่งพา ระหว่างแต่ละแพ็คเกจมักจะ ได้รับการจัดการโดยอัตโนมัติเพื่อหลีกเลี่ยงปัญหาที่อาจเกิดขึ้น ผู้ใช้ที่เชี่ยวชาญน้อยกว่า

คอมไพล์หรือติดตั้ง? สิ่งที่ดีเกี่ยวกับการรวบรวม ในทางตรงกันข้ามกับการติดตั้งอาจกล่าวได้ว่าสิ่งสำคัญคือความเป็นไปได้ในการระบุตัวเลือกการคอมไพล์สำหรับระบบของคุณและซอฟต์แวร์ที่ใช้ซึ่งอนุญาตให้ใช้ทรัพยากรได้ดีขึ้นและปรับให้เข้ากับความต้องการของผู้ใช้ / ผู้ดูแลระบบ และไม่ดี กระบวนการนี้ช้าและซับซ้อนเพียงใด เนื่องจากโดยทั่วไปแล้วไฟล์ การติดตั้งแพ็คเกจ (เช่น * .deb) ทำได้ง่ายและรวดเร็วมากแต่ โดยปกติจะไม่ได้รับการปรับปรุงหรือปรับให้เหมาะสมกับ Distro ของการใช้งานหรือทรัพยากรของอุปกรณ์คอมพิวเตอร์ของเรา

หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ แพ็คเกจ DEBIAN ฉันปล่อยลิงค์ต่อไปนี้ไว้ด้านล่างสำหรับการอ่านโดยละเอียดของคุณ:

  1. DEBIAN - แพ็คเกจ
  2. มุมของนักพัฒนา Debian
  3. คู่มือสำหรับนักพัฒนาซอฟต์แวร์ใหม่ของ Debian
  4. คู่มือการสร้างแพ็คเกจ Debian
  • ที่เก็บ

ที่เก็บมีขนาดใหญ่ เซิร์ฟเวอร์ (ภายนอก / ภายใน) พวกเขาทำหน้าที่เหมือน Data Banks ที่โฮสต์แอปพลิเคชัน (แพ็คเกจ) ที่ระบบปฏิบัติการบน Linux ของเราต้องการเป็นพวกเขา เก่าปัจจุบันใหม่หรืออยู่ระหว่างการพัฒนาซึ่งติดตั้งโดยใช้ไฟล์ ผู้จัดการแพ็คเกจ. ทั้งหมดนี้มีวัตถุประสงค์ ปรับปรุงระบบปฏิบัติการให้ทันสมัยอยู่เสมอ โดยเฉพาะอย่างยิ่งในเรื่องของ แพตช์ความปลอดภัย. ที่เก็บสามารถเป็นได้ สอง (2) ประเภท: เป็นทางการและไม่เป็นทางการ.

ระบบปฏิบัติการที่ใช้ Linux (Distros) พวกเขามักจะมีไฟล์ที่รายการ Repositories (เป็นทางการหรือไม่) ที่เราสามารถเข้าถึงได้ผ่านไฟล์ ผู้จัดการแพ็คเกจ สำหรับ ดาวน์โหลดติดตั้งอัปเดตหรือกำจัด ไฟล์นี้โดยทั่วไปจะอยู่ที่ตำแหน่ง / etc / package_manager_name / ที่ไหน "Package_manager_name" โดยปกติจะเป็นชื่อของโปรแกรมจัดการแพ็คเกจของ Distro ตัวอย่างเช่นใน DEBIAN จะอยู่ใน /etc/apt/sources.list.

ที่เก็บอย่างเป็นทางการจัดเก็บแพ็คเกจของแอปพลิเคชันที่ Distro ของเรารองรับ โดยจะแบ่งออกเป็นโครงสร้าง (สาขาและเวอร์ชัน) เสมอซึ่งขึ้นอยู่กับนโยบายของผู้สร้างของตนรับประกัน (ให้แน่ใจ) ภายใต้โปรโตคอลการตรวจสอบที่เข้มงวดมากว่าแพ็คเกจทั้งหมดที่มีอยู่ในสถานะที่เหมาะสมที่สุดและไม่แสดงถึงความเสี่ยงด้านความปลอดภัยหรือ ความเสถียรของระบบและระบบใหม่หรือในการพัฒนาในสาขาแยกต่างหากสำหรับผู้ใช้ขั้นสูงหรือผู้มีประสบการณ์

ในกรณีของ DEBIAN ที่เก็บมี 3 สาขา:

  • หลัก: สาขาที่จัดเก็บแพ็คเกจทั้งหมดที่รวมอยู่ในการแจกจ่าย Debian อย่างเป็นทางการซึ่งให้บริการฟรีตาม หลักเกณฑ์ซอฟต์แวร์ฟรี Debian. การแจกจ่าย Debian อย่างเป็นทางการประกอบด้วยสาขานี้ทั้งหมด
  • การมีส่วนร่วม (Contribution): สาขาที่จัดเก็บแพ็กเกจที่ครีเอเตอร์มอบใบอนุญาตฟรี แต่มีการพึ่งพาโปรแกรมอื่น ๆ ที่ไม่ฟรี
  • ไม่ฟรี: สาขาที่จัดเก็บแพ็กเกจที่มีเงื่อนไขใบอนุญาตที่ยุ่งยากซึ่ง จำกัด การใช้งานหรือแจกจ่ายซ้ำ

ที่เก็บ DEBIAN แบ่งออกเป็นรุ่น:

  • OldStable (เสถียรเก่า):  เวอร์ชันที่เก็บแพ็คเกจที่เป็นของ DEBIAN เวอร์ชันเสถียรเก่า ตอนนี้เป็นของรุ่น Wheezy
  • มีเสถียรภาพ:  เวอร์ชันที่เก็บแพ็กเกจที่เป็นของ DEBIAN เวอร์ชันเสถียรปัจจุบัน ปัจจุบันเป็นของ Jessie Version
  • การทดสอบ:  เวอร์ชันที่จัดเก็บแพ็กเกจที่เป็นของ DEBIAN เวอร์ชันเสถียรในอนาคต ขณะนี้เป็นของเวอร์ชันยืด
  • ไม่เสถียร: เวอร์ชันที่เก็บแพ็กเกจที่เป็นของแพ็กเกจในอนาคตซึ่งอยู่ระหว่างการพัฒนาและทดสอบอย่างต่อเนื่องซึ่งในที่สุดอาจเป็นของเวอร์ชัน การทดสอบ โดย DEBIAN สิ่งนี้เป็นของเวอร์ชัน SID เสมอ

หมายเหตุ: หลายครั้งชื่อเวอร์ชันมักจะมาพร้อมกับคำนำหน้า "- อัปเดต" o "- เสนอ - อัปเดต" เพื่อเน้นที่กล่าวว่า แพคเกจ เก็บไว้ที่นั่นแม้ว่าจะเป็นของเวอร์ชันนั้นก็ตาม อัปเดตเพิ่มเติมเนื่องจากพวกเขาเพิ่งมาจากไฟล์ รุ่นที่สูงขึ้นถัดไป. ในช่วงเวลาอื่น ๆ เมื่อมันมาถึง ที่เก็บความปลอดภัย คำนำหน้ามักจะเป็น « / อัปเดต».

ที่เก็บ DEBIAN สามารถกรองตามเนื้อหา:

  • เด็บ: ที่เก็บที่จะมีเฉพาะแพ็คเกจที่คอมไพล์
  • deb-src: ที่เก็บที่จะมีเฉพาะซอร์สโค้ดของแพ็กเกจที่คอมไพล์แล้วเท่านั้น

ตัวอย่างของที่เก็บสำหรับ DEBIAN:


#######################################################
# REPOSITORIOS OFICIALES DE LINUX DEBIAN 8 (JESSIE)
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free
# deb http://ftp.us.debian.org/debian/ jessie-proposed-updates main contrib non-free
# deb http://ftp.us.debian.org/debian/ jessie-backports main contrib non-free
# deb http://www.deb-multimedia.org jessie main non-free
# aptitude install deb-multimedia-keyring
# ####################################################

หมายเหตุ: เส้นที่ขึ้นต้นด้วยอักขระ »#« พวกเขาถูกปิดใช้งานจากตัวจัดการแพ็คเกจ อักขระนี้ยังใช้สำหรับ แทรกความคิดเห็น เช่น คำอธิบายบรรทัดที่เก็บ หรือบรรทัดคำสั่งที่ควรใช้ เพิ่ม Repository Keys อธิบาย

  • ผู้จัดการแพ็คเกจ

ในอดีตแพ็คเกจลินุกซ์ (โปรแกรม) จำนวนมากถูกแจกจ่ายเป็นซอร์สโค้ดและจำเป็นต้องแปลง (คอมไพล์) เป็นโปรแกรมหรือชุดโปรแกรมที่ต้องการรวมทั้งเอกสารประกอบ (หน้าคน) ไฟล์กำหนดค่าและทุกอย่างที่จำเป็น . อย่างไรก็ตามปัจจุบัน Linux Distros ส่วนใหญ่ใช้ แพ็คเกจ (โปรแกรมหรือชุดโปรแกรมสำเร็จรูป)ซึ่งพร้อมติดตั้งในระบบจำหน่ายดังกล่าว.

ด้วยสิ่งเหล่านี้ เครื่องมือการจัดการแพ็คเกจ คุณสามารถทำได้อย่างง่ายดาย รู้ดาวน์โหลดติดตั้งอัปเดตและลบแพ็คเกจใด ๆe. ในกรณีของเราสำหรับ DEBIAN เราจะมุ่งเน้นไปที่ ผู้จัดการแพ็คเกจ Apt-get, Aptitude, Apt และ DPKG. ซึ่งใช้ทั้ง DEBIAN และ Distros ที่ได้มาจาก DEBIAN (เช่น Ubuntu)

แม้ว่าฟังก์ชั่นการจัดการแพ็คเกจพื้นฐานจะมีประสิทธิภาพมากขึ้นด้วยคำสั่งจาก Terminal (คอนโซล) แต่นักพัฒนา Linux ที่พยายามอย่างเต็มที่เพื่อให้ Linux ใช้งานง่ายขึ้นได้เสริมสิ่งเหล่านี้ เครื่องมือพื้นฐานกับผู้อื่น เครื่องมือที่มีอินเทอร์เฟซผู้ใช้แบบกราฟิก (เครื่องมือ GUI)ซึ่งพยายามลดความซับซ้อนที่เป็นไปได้ของเครื่องมือพื้นฐานเพื่อไม่ให้เกิดความซับซ้อนกับผู้บริโภคขั้นสุดท้าย

แต่โดยพื้นฐานแล้วพวกเขาทั้งหมดสามารถดำเนินการขั้นพื้นฐานเดียวกันกับที่ระบุไว้ในแพ็คเกจได้ แม้ว่าเครื่องมือพื้นฐานจะมีฟังก์ชันบรรทัดคำสั่ง แต่เครื่องมือเพิ่มเติมสามารถนำเสนออินเทอร์เฟซที่ใช้งานง่ายมากขึ้น และทั้งหมดนี้สามารถดึงแพ็กเกจจากอินเทอร์เน็ตได้เนื่องจากโดยทั่วไปข้อมูลสำหรับแพ็กเกจที่ติดตั้งจะถูกเก็บไว้ในฐานข้อมูลเดียว

นี่คือคำสั่งคำสั่งทั่วไปที่มีประโยชน์ที่สุดในแต่ละคำสั่ง ผู้จัดการแพ็คเกจ:


Apt-get:

Actualizar Listas: apt-get update
Chequear actualización de Listas: apt-get check
Instalar paquete: apt-get install nombre_paquete
Reinstalar paquete: apt-get install --reinstall nombre_paquete
Actualizar Distro: apt-get upgrade / apt-get dist-upgrade / apt-get full-upgrade
Actualizar paquete: apt-get upgrade nombre_paquete
Actualizar paquetes usando dselect: apt-get dselect-upgrade
Eliminar paquetes: apt-get remove / apt-get autoremove
Purgar paquetes: apt-get purge
Conocer paquete: apt-cache show nombre_paquete / apt-cache showpkg nombre_paquete
Listar paquetes: apt-cache search nombre_paquete
Listar dependencias de un paquete: apt-cache depends nombre_paquete
Listar paquetes instalados: apt-cache pkgnames --generate / apt-show-versions
Validar dependencias incumplidas de un paquete: apt-cache unmet nombre_paquete
Configurar dependencias de un paquete: apt-get build-dep nombre_paquete
Descargar paquetes: apt-get source nombre_paquete
Corregir problemas post-instalación de paquetes: apt-get install -f
Forzar ejecución de orden de comando: apt-get comando  -y
Eliminar descargas de paquetes: apt-get clean
Eliminar paquetes obsoletos y sin usos: apt-get autoclean
Otros importantes: apt-file update / apt-file search nombre_paquete / apt-file list nombre_paquete

Nota: Para mayor información sobre este comando ejecute la orden de comando: man apt-get  
 

Aptitude:

Actualizar Listas: aptitude update
Instalar paquete: aptitude install nombre_paquete
Reinstalar paquete: aptitude reinstall nombre_paquete
Actualizar Distro: aptitude upgrade / aptitude safe-upgrade / aptitude full-upgrade
Actualizar paquete: aptitude upgrade nombre_paquete
Eliminar paquetes: aptitude remove
Purgar paquetes: aptitude purge
Listar paquetes: aptitude search nombre_paquete
Listar paquetes instalados / rotos: apt search [*] | grep "^i" / apt search [*] | grep "^B"
Configurar dependencias de un paquete: aptitude build-dep nombre_paquete
Descargar paquetes: aptitude download nombre_paquete
Corregir problemas post-instalación de paquetes: aptitude install -f
Forzar ejecución de orden de comando: aptitude comando  -y
Eliminar descargas de paquetes: aptitude clean
Eliminar paquetes obsoletos y sin usos: aptitude autoclean
Otros importantes: aptitude (un)hold, aptitude (un)markauto, why, why-not
Conocer paquete:
aptitude show nombre_paquete
aptitude show "?installed ?section(fonts)" | egrep '(Paquete|Estado|Versión)'
aptitude show "?not(?installed) ?section(fonts)" | egrep '(Paquete|Estado|Versión)'
aptitude show "?section(fonts)" | egrep '(Paquete|Estado|Versión)'

Nota: Para mayor información sobre este comando ejecute la orden de comando: man aptitude  

Apt:

Actualizar Listas: apt update
Instalar paquete: apt install nombre_paquete
Reinstalar paquete: apt install --reinstall nombre_paquete
Actualizar Distro: apt upgrade / apt full-upgrade
Actualizar paquete: apt upgrade nombre_paquete
Eliminar paquetes: apt remove / apt autoremove
Purgar paquetes: apt purge
Conocer paquete: apt show nombre_paquete
Listar paquetes: apt search nombre_paquete
Listar paquetes instalados / actualizables: apt list --installed / apt list --upgradeable
Corregir problemas post-instalación de paquetes: apt install -f
Forzar ejecución de orden de comando: apt comando  -y
Eliminar descargas de paquetes: apt clean
Eliminar paquetes obsoletos y sin usos: apt autoclean
Otros importantes: apt edit-sources

Nota: Para mayor información sobre este comando ejecute la orden de comando: man apt

DPKG:

Instalar paquete: dpkg -i nombre_paquete
Eliminar paquete: dpkg -r nombre_paquete / dpkg --force -r nombre_paquete / dpkg --purge -r nombre_paquete
Purgar paquete: dpkg -P nombre_paquete
Descomprimir paquete: dpkg --unpack nombre_paquete
Conocer paquete: dpkg -c nombre_paquete / dpkg --info nombre_paquete / dpkg -L nombre_paquete
Buscar archivos de paquetes instalados: dpkg -S nombre_archivo
Configurar paquetes: dpkg --configure nombre_paquete / dpkg --configure --pending / dpkg --configure -a
Listar paquetes: dpkg -l patrón_búsqueda / dpkg --get-selections nombre_paquete / dpkg --get-selections | grep -v deinstall > lista-paquetes-actuales.txt

จนถึงตอนนี้ในโพสต์นี้ฉันหวังว่าเนื้อหาจะเป็นประโยชน์สำหรับคุณ


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   Kavra kavra dijo

    หมายเหตุหนึ่ง ... gentoo .ebuilds ไม่ใช่แพ็กเกจดังกล่าวเป็นสคริปต์ที่ระบุวิธีการติดตั้งแพ็กเกจโดยปกติจะมาจากซอร์สโค้ดพร้อมบรรจุภัณฑ์ที่ผู้พัฒนาเลือกไว้

  2.   Chaparral dijo

    ข้อมูลดีเยี่ยม ฉันจะเก็บไว้พร้อมกับงวดอื่น ๆ ที่เผยแพร่แล้วใน Debian เพราะมันจะมีประโยชน์มากสำหรับฉัน ฉันขอบคุณผู้เขียนสำหรับผลงานและข้อมูลที่ยอดเยี่ยมของเขา

  3.   เมลวิน dijo

    José Albert ยอดเยี่ยมคุณโดดเด่นมากขอแสดงความยินดีและคอยชี้แนะเรา

  4.   เมลวิน dijo

    ดีมากJosé Albert ยังคงแนะนำเราแสดงความยินดี

  5.   เมลวิน dijo

    บทความที่ดีมาก

  6.   เวนทูรี dijo

    ขอบคุณสำหรับการสนับสนุนของคุณแม้ว่าจะมีข้อผิดพลาดบางประการ คำถามที่เกิดจากความอยากรู้คุณเป็นนักพัฒนา Debian หรือผู้สนับสนุนในทางใด ขอบคุณสำหรับการเผยแพร่ข้อมูลเกี่ยวกับวิธีการทำงานร่วมกันกับ Debian สำหรับรสนิยมของฉันจำเป็นต้องพูดถึงความเป็นไปได้ในการช่วยทำงานร่วมกันในการแปลที่จำเป็นเสมอหรือการแก้ไขการแปลแพ็กเกจโปรแกรมติดตั้งหน้าเว็บ ฯลฯ ... สิ่งเดียวกันนี้สงวนไว้สำหรับการส่งมอบในอนาคต

    ทักทายและให้กำลังใจกับสิ่งพิมพ์

  7.   Jose Albert dijo

    ไม่! ฉันไม่ได้เป็นผู้พัฒนาอย่างเป็นทางการหรือผู้ร่วมให้ข้อมูลโดยตรงของ DEBIAN แม้ว่าฉันจะสร้างแพ็คเกจแยกกันประมาณ 2 แพ็คเกจและสคริปต์จำนวนมากสำหรับการแจกจ่ายดังกล่าว และฉันหวังว่าจะรวมสิ่งที่คุณบอกฉันไว้ในโพสต์อื่น และขอบคุณสำหรับการสนับสนุนของคุณ!

    DEBIAN เป็น Distro ที่ฉันชอบ!

    1.    Manuel "Venturi" Porras Peralta dijo

      อย่างที่ควรจะเป็น! 🙂

  8.   Alejandro TorMar Tor dijo

    บทความยอดเยี่ยม ... ขอแสดงความยินดีฉันเป็นคนรักซอฟต์แวร์ฟรีและฉันเรียนวิทยาศาสตร์คอมพิวเตอร์ซึ่งมีประโยชน์มาก
    คำทักทายจากโบโกตา

  9.   ออสการ์ dijo

    ขอบคุณมากสำหรับเวลาและความอดทน ... และสำหรับการแบ่งปัน !!!

    คำอวยพร!
    กราเซีย !!!!

  10.   Jose Albert dijo

    ขอบคุณมากสำหรับความคิดเห็นที่สนับสนุนขอแสดงความยินดีและแรงจูงใจ!

  11.   คาร์ลอสเรเยส dijo

    ขอบคุณสมบูรณ์มากอย่างน้อยสำหรับพวกเราที่ยังคงรู้มากเกี่ยวกับเรื่องนี้

  12.   บาลัว dijo

    ยอดเยี่ยมสำหรับการยื่นและให้คำปรึกษาขอบคุณสำหรับการสนับสนุน

  13.   ซาเวียร์ dijo

    ช่างเป็นเพื่อนอันโตนิโอที่มีสาระดีเข้าใจและใช้ประโยชน์ได้ดี ...