อพยพ - คัดลอกไบนารี Linux จากระบบ Linux หนึ่งไปยังอีกระบบหนึ่งอย่างปลอดภัย
อพยพ เป็นโปรแกรมที่เรียบง่ายแต่มีประโยชน์สำหรับการคัดลอกไบนารี Linux ELF จากระบบหนึ่งไปยังอีกระบบหนึ่งได้อย่างง่ายดายและปลอดภัย ตัวอย่างเช่น ถ้าคุณมี htop (Linux Process Monitoring Tool) ติดตั้งอยู่บนเครื่องเดสก์ท็อปของคุณ แต่ไม่ได้ติดตั้งบนเซิร์ฟเวอร์ Linux ระยะไกลของคุณ exodus จะให้วิธีการคัดลอก/ติดตั้งไบนารี htop จากเครื่องเดสก์ท็อป ไปยังเซิร์ฟเวอร์ระยะไกล
โดยจะรวมการขึ้นต่อกันของไบนารี่ทั้งหมดเข้าด้วยกัน รวบรวม Wrapper ที่เชื่อมโยงแบบคงที่สำหรับไฟล์ปฏิบัติการที่เรียกใช้ตัวเชื่อมโยงที่ย้ายตำแหน่งโดยตรง และติดตั้งบันเดิลในไดเร็กทอรี ~/.exodus/
บนระบบระยะไกล
คุณสามารถดูการทำงานได้ที่นี่
ติดตั้ง Exodus ในระบบ Linux
คุณสามารถติดตั้ง exodus โดยใช้ตัวจัดการแพ็คเกจ Python PIP ได้ดังต่อไปนี้ คำสั่งด้านล่างจะทำการติดตั้งเฉพาะผู้ใช้ (สำหรับบัญชีที่คุณเข้าสู่ระบบเท่านั้น)
sudo apt install python-pip [Install PIP On Debian/Ubuntu]
sudo yum install epel-release python-pip [Install PIP On CentOS/RHEL]
sudo dnf install python-pip [Install PIP On Fedora]
pip install --user exodus-bundler [Install Exodus in Linux]
จากนั้น เพิ่มไดเร็กทอรี ~/.local/bin/
ให้กับตัวแปร PATH ในไฟล์ ~/.bashrc
ของคุณ เพื่อเรียกใช้ exodus สามารถเรียกใช้งานได้เหมือนกับคำสั่งระบบอื่นๆ
export PATH="~/.local/bin/:${PATH}"
บันทึกและปิดไฟล์ จากนั้นเปิดหน้าต่างเทอร์มินัลอื่นเพื่อเริ่มใช้อพยพ
หมายเหตุ: ขอแนะนำเป็นอย่างยิ่งให้คุณติดตั้ง gcc และหนึ่งใน musl libc หรือ diet libc ( ไลบรารี C ที่ใช้ในการรวบรวมตัวเรียกโปรแกรมที่เชื่อมโยงแบบสแตติกขนาดเล็กสำหรับแอปพลิเคชันที่รวมมา) บนเครื่องที่คุณจะบรรจุไบนารี
ใช้ Exodus เพื่อคัดลอก Local Binary ไปยังระบบ Linux ระยะไกล
เมื่อคุณติดตั้ง exodus แล้ว คุณสามารถคัดลอกไบนารีในเครื่อง (เครื่องมือ htop) ไปยังเครื่องระยะไกลได้โดยการเรียกใช้คำสั่งต่อไปนี้
exodus htop | ssh tecmint@server3
จากนั้นเข้าสู่ระบบเครื่องระยะไกล และเพิ่มไดเร็กทอรี /home/tecmint/.exodus/bin
ลงใน PATH ใน ~/.bashrc
เพื่อที่จะรัน htop เช่นเดียวกับคำสั่งระบบอื่นๆ
export PATH="~/.exodus/bin:${PATH}"
บันทึกและปิดไฟล์ จากนั้นแหล่งที่มาดังต่อไปนี้ เพื่อให้การเปลี่ยนแปลงมีผล
source ~/.bashrc
ตอนนี้คุณควรจะสามารถเรียกใช้ htop บนเครื่อง Linux ระยะไกลของคุณได้
htop
หากคุณมีไบนารีสองตัวขึ้นไปที่มีชื่อเดียวกัน (เช่น มี htop มากกว่าหนึ่งเวอร์ชันติดตั้งอยู่ในระบบของคุณ มีเวอร์ชัน /usr/bin/htop
หนึ่งเวอร์ชัน และอีกเวอร์ชันหนึ่ง /usr/local/bin/htop
) คุณสามารถคัดลอกและติดตั้งพวกมันควบคู่ไปกับแฟล็ก -r
ซึ่งจะช่วยให้สามารถกำหนดนามแฝงให้กับแต่ละไบนารี่บนเครื่องระยะไกลได้ .
คำสั่งต่อไปนี้จะติดตั้ง htop เวอร์ชันทั้งสองขนานกับ /usr/bin/grep ที่เรียกว่า htop-1
และ /usr/ local/bin/htop เรียกว่า htop-2
ตามที่แสดง
exodus -r htop-1 -r htop-2 /usr/bin/htop /usr/local/bin/htop | ssh tecmint@server3
ข้อควรทราบ: Exodus มีข้อจำกัดหลายประการ และอาจล้มเหลวในการทำงานกับไบนารีที่ไม่ใช่ ELF, สถาปัตยกรรม CPU ที่เข้ากันไม่ได้, Glibc และเวอร์ชันเคอร์เนลที่เข้ากันไม่ได้, ไลบรารี่ที่ขึ้นกับไดรเวอร์, pro - ไลบรารีที่โหลดทางไวยากรณ์และการพึ่งพาที่ไม่ใช่ไลบรารี
สำหรับข้อมูลเพิ่มเติม โปรดดูหน้าวิธีใช้อพยพ
exodus -h
พื้นที่เก็บข้อมูล Exodus Github: https://github.com/intoli/exodus
บทสรุป
อพยพเป็นเครื่องมือที่เรียบง่ายแต่ทรงพลังสำหรับการคัดลอกไบนารีจากเครื่อง Linux เครื่องหนึ่งไปยังระบบ Linux ระยะไกลอีกเครื่องหนึ่ง ลองใช้และให้ข้อเสนอแนะของคุณผ่านทางแบบฟอร์มความคิดเห็นด้านล่าง