ในรายการก่อนหน้านี้ในสิ่งพิมพ์ชุดนี้เราได้นึกถึงวิธีการนำ a:
- โมดูลการตรวจสอบ ROOT SUPERUSER
- โมดูลตัวแปรสภาพแวดล้อม
- DOUBLE EXECUTION DETECTION MODULE หรือ FAILED EXECUTION
และก่อนหน้านี้วิธีการใช้งานไฟล์ Shebang และ BSM (Bash Strict Mode / Strict Bash Mode)
แนวทางปฏิบัติที่ดีที่สุดในการสร้าง Shell Script ใน GNU / Linux - ตอนที่ 1
แนวทางปฏิบัติที่ดีที่สุดในการสร้าง Shell Script ใน GNU / Linux - ตอนที่ 2
นี่คือตัวอย่างของไฟล์ โมดูลการเพิ่มประสิทธิภาพโดยยกตัวอย่างหนึ่งในไฟล์ โปรแกรม (แอปพลิเคชัน) ข้อเท็จจริงในก เชลล์สคริปต์ ที่เรียกว่า การติดตั้ง Linux Post - สคริปต์สองร้อยปี 8.0:
นี่ควรเป็นโมดูล (ส่วน) เพื่อติดตั้งแพ็กเกจพื้นฐานที่จำเป็นสำหรับการทำงานที่เหมาะสมเหมือนกันหรือดำเนินการขั้นต่ำที่จำเป็นสำหรับการอัปเดตการบำรุงรักษาหรือประสิทธิภาพของสภาพแวดล้อมการทำงานหรือระบบปฏิบัติการเพื่อให้ทุกอย่างทำงานได้อย่างน่าพอใจ ฉันเพิ่มบรรทัดต่อไปนี้เป็นการส่วนตัวเพื่อสร้างโมดูลนี้:
###############################################################################
# INICIO DEL MODULO DE OPTIMIZACIÓN AL LINUX POST INSTALL - SCRIPT BICENTENARIO
###############################################################################
# Sección que instala los paquetes bases del LPI-SB
echo -e '\a'
apt update && apt install dialog gxmessage zenity espeak gksu -y && apt install -f && dpkg --configure -a
if [ $? = 0 ]; then
echo ""
echo ""
echo "#--------------------------------------------------------#"
echo "#LA INSTALACIÓN DE LOS PAQUETES HA CULMINADO EXITOSAMENTE#"
echo "#--------------------------------------------------------#"
echo ""
echo ""
play /usr/share/sounds/info.wav 2> /dev/null
sleep 3
clear
else
echo ''
echo ''
echo '#--------------------------------------------------------#'
echo '# LA INSTALACIÓN DE LOS PAQUETES NO CULMINO EXITOSAMENTE #'
echo '#--------------------------------------------------------#'
echo ''
echo ''
play /usr/share/sounds/warning.wav 2> /dev/null
sleep 3
clear
echo ''
echo ''
echo '#--------------------------------------------------------#'
echo '# EJECUTE MANUALMENTE #'
echo '# UN MANTENIMIENTO PREVENTIVO Y CORRECTIVO EN SU SISTEMA #'
echo '# EJECUTANDO LA SIGUIENTES ORDEN DE COMANDO, 1 HA 1: #'
echo '# #'
echo '# apt update #'
echo '# apt install -f #'
echo '# dpkg --configure -a #'
echo '# apt upgrade #'
echo '# #'
echo '# LUEGO INSTALE MANUALMENTE LOS PAQUETES NECESARIOS #'
echo '# CON LA ORDEN DE COMANDO SIGUIENTE: #'
echo '# #'
echo '# apt install dialog gxmessage zenity espeak -y #'
echo '# #'
echo '# AHORA, VUELVA HA INTENTAR EJECUTAR EL SCRIPT LPI-SB #'
echo '#--------------------------------------------------------#'
echo ''
echo ''
sleep 3
clear
play /usr/share/sounds/info.wav 2> /dev/null
exit 0
fi
wget -o /dev/null --user-agent="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36" -O "/tmp/audio.mp3" "https://translate.google.co.ve/translate_tts?ie=UTF-8&q=BIENVENIDO%20AL%20LINUX%20POST%20INSTALL%20-%20SCRIPT%20BICENTENARIO&tl=es&total=1&idx=0&textlen=54&tk=511133.124198&client=t&prev=input&ttsspeed=0.24" ; play -q /tmp/audio.mp3
wget -o /dev/null --user-agent="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36" -O "/tmp/audio.mp3" "https://translate.google.co.ve/translate_tts?ie=UTF-8&q=ESTIMADO%20USUARIO%2C%20ESPERE%20UNOS%20SEGUNDOS%20MIENTRAS%20EL%20PROGRAMA%20SE%20CARGA%20E%20INICIA&tl=es&total=1&idx=0&textlen=77&tk=337132.200023&client=t&prev=input" ; play -q /tmp/audio.mp3
###############################################################################
# FINAL DEL MODULO DE OPTIMIZACIÓN AL LINUX POST INSTALL - SCRIPT BICENTENARIO
###############################################################################
===============
อย่างที่คุณเห็นโมดูลนี้เรียกใช้ไฟล์ อัพเดทความถนัดตามด้วยการติดตั้งแพ็คเกจ ไดอะล็อก gxmessage zenity espeak gksuดำเนินการต่อด้วยคำสั่งคำสั่ง ความถนัดในการติดตั้ง -f y dpkg - กำหนดค่า -a. และในกรณีที่หากทุกอย่างดำเนินการเป็นที่น่าพอใจก ข้อความภาพ โดยเทอร์มินัล ของการทำสำเร็จด้วย การแจ้งเตือนด้วยเสียง และฉันดำเนินการต่อในขั้นตอนต่อไป (โมดูล / ส่วน) ของไฟล์ เชลล์สคริปต์ มิฉะนั้นก ข้อความภาพ โดยเทอร์มินัล ของการรับรู้ที่ไม่ประสบความสำเร็จด้วยก การแจ้งเตือนด้วยเสียงกับอีกอัน ข้อความภาพโดยเทอร์มินัลแนะนำให้ดำเนินการด้วยตนเองเพื่อหลีกเลี่ยงข้อผิดพลาดที่เกิดขึ้นอีกครั้ง แล้วเสร็จสิ้นการดำเนินการของไฟล์ เชลล์สคริปต์
เกี่ยวกับ 2 บรรทัดสุดท้ายของโมดูลซึ่งขึ้นต้นด้วย คำสั่ง wgetสำหรับตอนนี้สิ่งเหล่านี้ไม่จำเป็นเนื่องจากเป็นส่วนหนึ่งของไฟล์ ขั้นตอนการทดลอง ดัดแปลงโดยฉันเพื่อให้ได้เสียงสนับสนุนของไฟล์ เชลล์สคริปต์ ด้วยการเชื่อมต่ออินเทอร์เน็ตโดยใช้ไฟล์ เครื่องสังเคราะห์เสียงออนไลน์จาก Google Translate และเสียงผู้หญิงที่เย้ายวนของเธอและแทนที่ไฟล์ ซินธิไซเซอร์พร้อมเสียงหุ่นยนต์ (ชาย / หญิง) จัดทำโดยระบบปฏิบัติการ GNU / Linux พร้อมแพ็คเกจ (โปรแกรม) espeak, เทศกาล, festvox, mbrola, คำพูดและ stardict
คำแนะนำ:
อ่านเอกสาร: « CATHEDRAL และ BAZAR »
มหาวิหารและบาซาร์ เป็นรายการที่สร้างขึ้นโดย เอริคเอสเรย์มอนด์ ในปี 1.998 พยายามอธิบายจากมุมมองและประสบการณ์ส่วนตัวของคุณ (การสร้างโปรแกรม fetchmail) สิ่งที่เขารับรู้เกี่ยวกับการสร้างและวิวัฒนาการที่ประสบความสำเร็จของ Linux และโปรแกรมที่เกี่ยวข้องโดยเฉพาะจากมุมมองของความแตกต่างระหว่างไฟล์ แบบจำลองการพัฒนาซอฟต์แวร์ซึ่งเขาเรียกเป็นการส่วนตัวว่า: แบบจำลองมหาวิหารและแบบจำลองบาซาร์.
การวิเคราะห์โดยสรุปของฉันเกี่ยวกับเอกสารนั้นมีดังนี้:
การอ่านนี้แนะนำหรือนำเสนอวิสัยทัศน์ที่อยู่ในโลกของ ซอฟต์แวร์Ingeniería del มี“ รูปแบบการพัฒนาสองรูปแบบที่แตกต่างกันโดยสิ้นเชิง แบบจำลองมหาวิหารใช้ได้กับการพัฒนาส่วนใหญ่ที่ดำเนินการในโลกของ ซอฟต์แวร์เชิงพาณิชย์ด้านหน้า แบบจำลองตลาดสดตามแบบฉบับของโลก ลินุกซ์ ". โดยเน้นว่าทั้ง 2 โมเดลนี้ได้มาจากจุดเริ่มต้นที่ตรงกันข้ามกับลักษณะของกระบวนการดีบักซอฟต์แวร์และจากทฤษฎีเฉพาะของเขาเกี่ยวกับสิ่งที่เขาเรียกว่า กฎของ Linus ซึ่งระบุดังต่อไปนี้: "ด้วยจำนวนตาที่เพียงพอข้อผิดพลาดทั้งหมดไม่เกี่ยวข้อง" หรือกล่าวอีกนัยหนึ่ง: "ด้วยจำนวนตาที่เพียงพอความผิดพลาดทั้งหมดจึงเป็นเรื่องเล็กน้อย"
นอกจากนี้ในการอ่านนี้ผู้เขียนเน้นคำ แฮ็กเกอร์ซึ่งในความคิดของฉันผู้เขียนแสดงว่าเป็น ผู้ใช้ระดับสูงที่สามารถเข้าใจและใช้ประโยชน์จากโปรแกรมได้อย่างมีประสิทธิภาพและตรวจจับแนะนำหรือดำเนินการแก้ไขหรือปรับเปลี่ยนรูปแบบและเนื้อหาที่มีประสิทธิภาพสำหรับชุมชนผู้ใช้ทั้งหมด. ฉันชอบแนวคิดที่แนะนำตัวเองนี้มากเพราะฉันคิดว่ามันถูกต้องอย่างไรก็ตามฉันจะปล่อยให้สิ่งที่ฉันชอบมากเพราะมันเป็นเรื่องทั่วโลกและ / หรือทั่วไปมากกว่า
"Linux ถูกโค่นล้ม" ทำไม? สิ่งแรกที่การอ่านนี้บอกเราคือ:
จนถึงขณะนั้นมีวิธีการพัฒนาซอฟต์แวร์มาตรฐานหรือแบบจำลองที่มีพื้นฐานมาจากก “ แนวทางรวมศูนย์และวางแผนตั้งแต่เริ่มต้น” อันเป็นผลมาจากการออกแบบซอฟต์แวร์ที่ถูกนำไปใช้เป็นสิ่งที่เกี่ยวข้องกับไฟล์ ปัจจัย X ที่นำไปสู่ “ ความซับซ้อนที่สำคัญบางอย่าง” และแม้ว่าสิ่งนี้จะมีอยู่แล้วใน โลก Unixกล่าวอีกนัยหนึ่งคืองานที่ประกอบด้วยเครื่องมือขนาดเล็กการสร้างต้นแบบอย่างรวดเร็วและการเขียนโปรแกรมเชิงวิวัฒนาการการเกิดขึ้นของปรัชญาการพัฒนาซอฟต์แวร์เสรีภายใต้ Linux ได้นำเรื่องนี้ไปสู่ความซับซ้อนอีกระดับหนึ่ง
ด้วยเหตุนี้ในขณะที่ การพัฒนาซอฟต์แวร์ส่วนตัว ทำมาจาก "ทางเงียบและคารวะ"ในขณะที่คุณสร้างไฟล์ โบสถ์ใหญ่, การพัฒนาซอฟต์แวร์ฟรี (Linux) ทำจาก "วิธีที่คึกคักและมีหลายวาระ (เส้นทาง) และแนวทาง (ข้อเสนอ)”เช่นเดียวกับที่คุณอยู่ในสถานการณ์ที่ยอดเยี่ยม Bazar.
สุดท้ายนี้จะเปิดเผยชุดของสถานที่ที่ควรค่าแก่การทำลายและแยกย่อยในบริบทที่เหมาะสมเพื่อทำความเข้าใจผู้ที่พัฒนาสำหรับชุมชนผู้ใช้ซอฟต์แวร์เสรี สถานที่เหล่านี้ ได้แก่ :
- งานที่ดีทั้งหมดในซอฟต์แวร์เริ่มต้นพยายามที่จะแก้ไขปัญหาส่วนบุคคลจากสิ่งที่คุณกำหนดไว้
- นักเขียนโปรแกรมที่ดีรู้ว่าต้องเขียนอะไร สิ่งที่ดีที่สุดรู้ว่าจะรีไรท์ใหม่ (และใช้ซ้ำ)
- คิดเกี่ยวกับการทิ้งอย่างน้อยหนึ่งครั้ง: คุณจะต้องทำมันไม่ว่าอย่างไรก็ตาม "
- หากคุณมีทัศนคติที่ถูกต้องปัญหาที่น่าสนใจจะพบคุณ
- เมื่อโปรแกรมไม่สนใจคุณอีกต่อไปหน้าที่สุดท้ายของคุณคือการส่งต่อไปยังผู้ประสบความสำเร็จที่มีศักยภาพ
- การปฏิบัติต่อผู้ใช้ของคุณในฐานะผู้ทำงานร่วมกันเป็นวิธีที่ไม่ซับซ้อนในการปรับปรุงอย่างรวดเร็วและมีประสิทธิภาพในการแก้ปัญหาโปรแกรม
- ปล่อยเร็ว ๆ นี้ เปิดตัวบ่อยครั้ง และรับฟังผู้ใช้ของคุณ
- ให้ผู้ทดสอบและผู้ทำงานร่วมกันเป็นฐานอย่างกว้างขวางเกือบทั้งหมดปัญหาส่วนใหญ่จะได้รับการระบุอย่างรวดเร็วและแนวทางแก้ไขของพวกเขาจะเป็นอันตรายต่อใครบางคน
รวมทั้งสถานที่อื่น ๆ อีก 11 แห่งที่เหลืออยู่ซึ่งเป็นประเภทที่มีสติมากขึ้น (ทางศีลธรรม)ซึ่งไม่ได้มาพร้อมกับเรื่องราว แต่มีการตีความโดยแต่ละคน ผู้อ่าน (ผู้พัฒนา)ซึ่งในกรณีเฉพาะของฉันทำให้ฉันได้ข้อสรุปต่อไปนี้:
ฉันหวังว่าคุณจะชอบและข้อมูลนั้นจะมีประโยชน์ตั้งแต่นั้นมา การอ่านมหาวิหารและบาซาร์เป็นข้อมูลอ้างอิงที่จำเป็นสำหรับทุกคนที่เขียนโปรแกรมการพัฒนาใด ๆ ในซอฟต์แวร์เสรีไม่ว่าจะเล็กหรือใหญ่แค่ไหน
ต่อไปในโพสต์ในอนาคตเราจะยังคงเห็นตัวอย่างของ โมดูล (ส่วน) ที่ทำหน้าที่เช่น:
- โมดูลการอนุญาตของผู้ใช้ด้วยรหัสผ่าน
- โมดูลการตรวจจับสถาปัตยกรรมของระบบปฏิบัติการ
- โมดูลการกำหนดค่าภาษาการเข้ารหัส
- โมดูลการกำหนดค่าพร็อกซีสำหรับสภาพแวดล้อมการดำเนินการ
ท่ามกลางคนอื่น ๆ อีกมากมาย!
และเช่นเคยฉันขอแนะนำ ไปเรียนรู้ด้วยตนเอง เกี่ยวกับคำสั่ง: gksu, โต้ตอบ, gxmessage, zenity, espeak, playและอื่น ๆ อีกมากมาย เพื่อสร้างอินเทอร์เฟซแบบกราฟิกโดย Terminal หรือสำหรับเดสก์ท็อปของผู้ใช้พร้อมการแจ้งเตือนด้วยเสียงหรือมัลติมีเดียและความรู้ล่วงหน้าที่จะใช้ในภายหลัง
โปรดจำไว้ว่าสิ่งเหล่านี้และคำแนะนำอื่น ๆ ในบางส่วน โมดูลฟังก์ชันตัวแปรคำสั่งหรือการกระทำ โดยทั่วไปสามารถทำได้ หลายวิธีและสิ่งที่แสดงต่อไปนี้ไม่มีอะไรมากไปกว่าไฟล์ วิธีง่ายๆของ หลายวิธีที่เป็นไปได้และเป็นไปได้ ซึ่งกล่าวว่า การดำเนินการสามารถดำเนินการได้!
เพียงเพื่อจบฉันปล่อยให้คุณ Screencast สร้างโดยฉันเพื่อแสดงให้คุณเห็นว่าคุณสามารถทำอะไรได้บ้างหลังจากทำสิ่งนี้เสร็จ หลักสูตรออนไลน์ Shell Scripting ใน DesdeLinux:
(LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0) - ส่วนที่ 2