คุณรู้ไหมว่าคุณสามารถรันบรรทัดคำสั่ง Linux บนอุปกรณ์ iOS ได้? คุณอาจจะถามว่า “ทำไมฉันจึงควรใช้แอปส่งข้อความบน iPhone ของฉัน” คำถามที่ยุติธรรม แต่ถ้าคุณอ่าน Opensource.com คุณอาจรู้คำตอบ: ผู้ใช้ Linux ต้องการใช้งานบนอุปกรณ์ใด ๆ และต้องการปรับแต่งด้วยตนเอง
แต่เหนือสิ่งอื่นใด พวกเขากระหายในการแก้ปัญหาที่ซับซ้อน
ฉันมี iPad 2 Mini อายุเจ็ดขวบซึ่งยังค่อนข้างดีสำหรับการอ่านหนังสืออิเล็กทรอนิกส์และงานอื่นๆ อย่างไรก็ตาม ฉันต้องการใช้เพื่อเข้าถึงบรรทัดคำสั่งของแอปพลิเคชันด้วยชุดโปรแกรมและสคริปต์ของฉัน โดยที่ฉันไม่สามารถทำงานได้ ฉันต้องการสภาพแวดล้อมที่ฉันคุ้นเคย รวมถึงสภาพแวดล้อมการพัฒนามาตรฐานของฉัน และนี่คือวิธีที่ฉันจัดการเพื่อให้บรรลุเป้าหมายนี้
การเชื่อมต่อกับแป้นพิมพ์
การทำงานกับบรรทัดคำสั่งสำหรับการเขียนโปรแกรมผ่านแป้นพิมพ์บนหน้าจอของโทรศัพท์หรือแท็บเล็ตนั้นค่อนข้างไม่สะดวก ฉันแนะนำให้เชื่อมต่อแป้นพิมพ์ภายนอกผ่าน Bluetooth หรือใช้อะแดปเตอร์เชื่อมต่อกล้องเพื่อเชื่อมต่อแป้นพิมพ์แบบมีสาย (ฉันเลือกอย่างหลัง) เมื่อคุณเชื่อมต่อคีย์บอร์ดแยก Kinesis Advantage เข้ากับ iPhone 6 คุณจะได้รับอุปกรณ์แปลกๆ ที่มีลักษณะคล้ายกัน
การติดตั้งเชลล์บน iOS
หากต้องการใช้งานระบบ Linux ที่มีคุณสมบัติครบถ้วนบน iOS มีสองตัวเลือก:
- Secure Shell (SSH) เชื่อมต่อกับคอมพิวเตอร์ Linux
- การใช้งานระบบเสมือนโดยใช้ Alpine Linux พร้อม iSH ซึ่งเป็นโอเพ่นซอร์ส แต่ต้องติดตั้งโดยใช้แอปพลิเคชัน TestFlight ที่เป็นกรรมสิทธิ์ของ Apple
อีกทางเลือกหนึ่ง มีแอปพลิเคชันจำลองเทอร์มินัลโอเพ่นซอร์สสองตัวที่ให้ความสามารถในการทำงานกับเครื่องมือโอเพ่นซอร์สในสภาพแวดล้อมที่จำกัด นี่เป็นตัวเลือกที่แยกส่วนมากที่สุด จริงๆ แล้ว นี่คือวิธีใช้งานเครื่องมือ Linux ไม่ใช่ Linux มีข้อจำกัดด้านคุณลักษณะที่รุนแรงเมื่อทำงานกับแอปพลิเคชันเหล่านี้ แต่คุณจะได้รับฟังก์ชันบรรทัดคำสั่งบางส่วน
ก่อนที่จะไปยังวิธีแก้ปัญหาที่ซับซ้อน ฉันจะดูวิธีที่ง่ายที่สุดก่อน
ตัวเลือกที่ 1: เชลล์แซนด์บ็อกซ์
วิธีที่ง่ายที่สุดวิธีหนึ่งคือการติดตั้งแอป iOS
มีฟังก์ชั่นประมาณเดียวกัน
ตัวเลือกที่ 2: SSH
อีกขั้นของการดาวน์โหลดแอปคือการตั้งค่าไคลเอ็นต์ SSH เป็นเวลานานแล้วที่เราสามารถใช้แอปไคลเอ็นต์ SSH สำหรับ iOS เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ที่ใช้ Linux หรือ BSD ได้ ข้อดีของการใช้ SSH คือเซิร์ฟเวอร์สามารถเรียกใช้การแจกจ่ายด้วยซอฟต์แวร์ใดก็ได้ คุณทำงานจากระยะไกลและผลงานของคุณจะถูกถ่ายโอนไปยังโปรแกรมจำลองเทอร์มินัลบนอุปกรณ์ iOS ของคุณ
ตัวเลือกที่ 3: เรียกใช้ Linux
การใช้ SSH เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ Linux เป็นวิธีที่ดีในการเข้าถึงบรรทัดคำสั่ง แต่ต้องใช้เซิร์ฟเวอร์ภายนอกและการเชื่อมต่อเครือข่าย นี่ไม่ใช่อุปสรรคที่ใหญ่ที่สุด แต่ก็ไม่สามารถละเลยได้ทั้งหมด ดังนั้นคุณอาจต้องใช้งาน Linux โดยไม่มีเซิร์ฟเวอร์
หากเป็นกรณีของคุณ คุณจะต้องก้าวไปอีกขั้นหนึ่ง
ใช้งาน Alpine Linux ด้วย iSH
คุณลักษณะที่สำคัญ: การประยุกต์ใช้การทดลอง. เนื่องจากปัจจุบัน iSH เป็นแอปพลิเคชันทดสอบ อย่าคาดหวังการทำงานที่คงที่และเชื่อถือได้ แอปพลิเคชัน TestFlight มีกำหนดเวลา โครงสร้างปัจจุบันของฉันจะมีอายุการใช้งานเพียง 60 วันเท่านั้น ซึ่งหมายความว่าหลังจาก 60 วัน ฉันจะถูกกำจัด และจะต้องเข้าร่วมการทดสอบ iSH รอบถัดไปอีกครั้ง นอกจากนี้ ฉันจะสูญเสียไฟล์ทั้งหมดของฉัน เว้นแต่ฉันจะส่งออกโดยใช้ไฟล์บน iOS หรือคัดลอกไปยังโฮสต์ Git หรือ
การติดตั้ง iSH
เริ่มต้นด้วยการติดตั้ง
การใช้ลิงก์ TestFlight จะติดตั้งแอปพลิเคชัน iSH บนอุปกรณ์ของคุณ เช่นเดียวกับแอปพลิเคชันอื่นๆ ไอคอนจะปรากฏบนหน้าจอ
การจัดการแพ็คเกจ
iSH รันโปรแกรมจำลอง x86 พร้อม Alpine Linux Alpine เป็น distro เล็กๆ ที่มีขนาดไม่ถึง 5MB นี่เป็นครั้งแรกที่ฉันทำงานกับ Alpine ดังนั้นฉันจึงคิดว่าความเรียบง่ายคงจะน่ารำคาญ แต่จริงๆ แล้วฉันชอบมันมาก
อัลไพน์ใช้ตัวจัดการแพ็คเกจ
วิธีติดตั้งแพ็คเกจ:
apk add package
วิธีลบแพ็คเกจ:
apk del package
วิธีค้นหาคำสั่งและข้อมูลอื่นๆ:
apk --help
อัปเดตตัวจัดการแพ็คเกจ:
apk update
apk upgrade
การติดตั้งโปรแกรมแก้ไขข้อความ
โปรแกรมแก้ไขข้อความเริ่มต้นของ Alpine คือ Vi แต่ฉันชอบ Vim ดังนั้นฉันจึงติดตั้งมัน:
apk add vim
หากต้องการคุณสามารถติดตั้ง Nano หรือ Emacs ได้
การเปลี่ยนแปลงเชลล์
ฉันไม่รู้เกี่ยวกับคุณ แต่ฉันต้องการ
การติดตั้งปลา:
apk add fish
หากคุณต้องการ Bash ที่มีการเติมข้อความอัตโนมัติและหน้าคู่มือ ให้ติดตั้ง:
apk add bash bash-doc bash-completion
อุดมการณ์แบบมินิมอลลิสต์ของ Alpine มักจะหมายความว่าบางโปรแกรมที่รวมอยู่ในแพ็คเกจอื่น ๆ จะถูกแบ่งออกเป็นแพ็คเกจเล็ก ๆ หลายแพ็คเกจ นอกจากนี้ยังหมายความว่าคุณสามารถปรับแต่งและลดขนาดระบบของคุณได้ตามที่คุณต้องการ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้ง Bash โปรดดู
การเปลี่ยนเชลล์เริ่มต้น
หลังจากติดตั้งปลาแล้ว คุณสามารถสลับไปใช้ปลาได้ชั่วคราวโดยเข้าไป fish
และเข้าไปในเปลือก แต่ฉันต้องการให้ปลาเป็นเชลล์เริ่มต้นและคำสั่ง chsh
ซึ่งฉันใช้กับการแจกแจงอื่น ๆ ใช้งานไม่ได้
ขั้นแรกเราค้นหาว่าติดตั้งปลาไว้ที่ไหน:
which fish
นี่คือสิ่งที่ฉันได้รับ:
/usr/bin/fish
จากนั้นเปลี่ยนล็อกอินเชลล์เป็นฟิช คุณสามารถใช้โปรแกรมแก้ไขใดก็ได้ที่สะดวกสำหรับคุณ หากคุณเป็นมือใหม่ให้ติดตั้ง Nano (ด้วยคำสั่ง apk add nano
) เพื่อให้คุณสามารถแก้ไขไฟล์การกำหนดค่าและบันทึกผ่าน CTRL+X ยืนยันและออก
แต่ฉันใช้เป็นกลุ่ม:
vim /etc/passwd
บรรทัดแรกของฉันเป็นเช่นนี้:
root:x:0:0:root:/root:/bin/ash
หากต้องการให้ปลาเป็นเปลือกหอยเริ่มต้น ให้เปลี่ยนบรรทัดนี้เป็นดังนี้:
root:x:0:0:root:/root:/usr/bin/fish
จากนั้นบันทึกไฟล์และออก
ฉันแน่ใจว่ามีวิธีที่ดีในการเปลี่ยนเส้นทางไปยังเชลล์เพื่อให้สามารถใช้งานได้ทันที แต่ฉันไม่รู้ ดังนั้นฉันแนะนำให้กลับไปที่เบราว์เซอร์แอปพลิเคชัน บังคับออกจากเชลล์ และเพื่อความปลอดภัย ให้ปิดและรีสตาร์ท iPad หรือ iPhone ของคุณ เปิด iSH อีกครั้งและตอนนี้ นอกเหนือจากข้อความ “ยินดีต้อนรับสู่อัลไพน์!” และข้อมูลเกี่ยวกับการเปิดตัวจาก apk คุณจะเห็นข้อความต้อนรับการเข้าสู่ระบบปลามาตรฐาน: ยินดีต้อนรับสู่ปลาเปลือกโต้ตอบที่เป็นมิตร. ไชโย!
การตั้งค่า Python และ pip
ฉันตัดสินใจที่จะเพิ่ม
apk add python3
แม้ว่า Python 2.x จะล้าสมัย แต่คุณสามารถติดตั้งได้:
apk add python
มาติดตั้งตัวจัดการแพ็คเกจ Python ชื่อ pip และ
python3 -m ensurepip --default-pip
จะใช้เวลาสักครู่ในการติดตั้งและกำหนดค่าตัวจัดการแพ็คเกจ ดังนั้นให้รอสักครู่
จากนั้นคุณสามารถดาวน์โหลดเครื่องมือเพื่อถ่ายโอนไฟล์ผ่านเครือข่ายได้
apk add curl
การอ่านคู่มือ
Fish ใช้การเติมข้อความอัตโนมัติในตัวตามหน้าคน เช่นเดียวกับผู้ใช้บรรทัดคำสั่งอื่นๆ ฉันใช้คู่มือนี้ man
แต่ไม่ได้ติดตั้งในอัลไพน์ ดังนั้นฉันจึงติดตั้งด้วยเทอร์มินัลเพจเจอร์
apk add man man-pages less less-doc
นอกจากผู้ชายแล้วฉันยังใช้ความงดงามอีกด้วย
ฉันติดตั้งโดยใช้ pip:
pip install tldr
ทีม tldr
เชื่อมต่อกับเว็บเพื่อดึงข้อมูลเพจเมื่อพบคำขอเพจใหม่ หากคุณต้องการทราบวิธีใช้คำสั่งคุณสามารถเขียนได้ประมาณนี้ tldr curl
และรับคำอธิบายเป็นภาษาอังกฤษธรรมดาและตัวอย่างการใช้คำสั่งที่ดี
แน่นอนว่างานติดตั้งทั้งหมดนี้สามารถทำได้โดยอัตโนมัติ
ข้อมูลเพิ่มเติม
iSH Wiki มีหน้า "
หน้าวิกิอีกหน้าจะอธิบายวิธีการ
คุณยังสามารถติดตั้ง Git ได้ (ใช่! apk add git
) และผลักดันงานของคุณไปยังพื้นที่เก็บข้อมูลระยะไกลหรือถ่ายโอนไปยังเซิร์ฟเวอร์ผ่าน SSH และแน่นอน คุณสามารถดาวน์โหลดและรันโปรเจ็กต์โอเพ่นซอร์สที่ยอดเยี่ยมจำนวนเท่าใดก็ได้จาก GitHub
ข้อมูลเพิ่มเติมเกี่ยวกับ iSH สามารถดูได้ที่ลิงก์เหล่านี้:
เป็นโฆษณา
วสินา ข้อเสนอ
ที่มา: will.com