ค้นหาเว็บไซต์

อพยพ - คัดลอกไบนารี 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 ระยะไกลอีกเครื่องหนึ่ง ลองใช้และให้ข้อเสนอแนะของคุณผ่านทางแบบฟอร์มความคิดเห็นด้านล่าง