ติดตั้งแพ็คเกจโดยไม่ต้องเข้าถึง sudo


11

มีวิธีง่ายๆในการติดตั้งแพ็กเกจที่มีแผนผังการพึ่งพาขนาดใหญ่หรือไม่หากคุณไม่มีสิทธิ์เข้าถึง superuser ตัวอย่างเช่นฉันต้องการติดตั้ง firefox Firefox มีการขึ้นต่อกันหลายแบบแต่ละอันมีการพึ่งพาของตัวเอง ฯลฯ การติดตั้งวิธี "./configure; make; make; make install" จะใช้เวลาตลอดไป

มีตัวเลือกที่ฉันสามารถให้ apt-get เพื่อติดตั้งในไดเรกทอรีส่วนตัวหรือไม่? หรือมีวิธีที่จะแฮ็กมันเพื่อทำการยกของหนักทั้งหมดให้ฉันได้ไหม?


ลองถามใน www.superuser.com หรือหากคำถามเซิร์ฟเวอร์โดยเฉพาะ www.serverfault.com

คำตอบ:


4

คุณสามารถติดตั้งไฟล์. deb แต่ละไฟล์ในโฮมไดเร็กตอรี่ของคุณด้วย:

dpkg-deb -x /path/to/some.deb $HOME

แต่สิ่งนี้ไม่ได้ดูแลการพึ่งพาเช่นความถนัดหรือการฉลาด - ไม่ได้


ฉันใช้วิธีนี้เพื่อติดตั้ง atom สำหรับ julia บนเวิร์กสเตชันของฉัน นอกจากนี้ฉันสร้างนามแฝงสำหรับ atom ใน ~ / .bashrc: alias atom = "/ path / to / the / executable / atom / binary / file" จากนั้นเรียกใช้: source ~ / .bashrc คุณพร้อมที่จะเรียกใช้ atom ในเทอร์มินัล
จะดี

2

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

jhbuildสามารถสร้างกระบวนการ cmmi ขนาดใหญ่โดยอัตโนมัติ แต่บางคนต้องเขียนชุดโมดูล (กราฟพึ่งพา)

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

dpkg สามารถบังคับให้ติดตั้งในส่วนนำหน้าอื่นด้วย instdir / admindir / root แต่สิ่งนี้มีประโยชน์สำหรับสภาพแวดล้อม chroot เท่านั้น


0

อย่ารวบรวม Firefox จากแหล่งที่มาเพียงติดตั้งแพคเกจไบนารีลงในไดเรกทอรีบ้านของคุณ

นี้บทความ Mozilla ความรู้อธิบายถึงวิธีการที่จะทำมัน โดยทั่วไปคุณต้องการเพียงแค่ดึงtarballและรันfirefoxไฟล์ในนั้น การอ้างอิงทั้งหมดมีอยู่แล้วดังนั้นคุณไม่จำเป็นต้องติดตั้งอะไรaptเลย

แก้ไข:ไม่มีไม่มีวิธีการทั่วไปอยู่อย่างน้อยเพราะแอปพลิเคชันส่วนใหญ่ (และโดยเฉพาะอย่างยิ่ง GUI) ต้องการข้อมูลจำนวนมากที่เกี่ยวข้องในสถานที่ที่มีชื่อเสียงเช่น / usr / share และฮาร์ดโค้ดในนั้น (เช่นกัน สามารถกำหนดค่าในเวลาคอมไพล์ แต่คุณไม่ต้องการคอมไพล์ซ้ำทุกอย่างตามที่คุณพูดในคำถาม) ดังนั้นคุณสามารถตรวจสอบแพ็คเกจไบนารีที่รวบรวมไว้ล่วงหน้าซึ่งค้นหาทรัพยากรในไดเรกทอรีเรียกใช้และไม่ใช่ระบบ


ฉันตีความคำถามเกี่ยวกับการจัดการบรรจุภัณฑ์ ฉันสงสัยว่า Firefox เป็นเพียงตัวอย่างดังนั้นวิธีการเฉพาะของ Firefox จึงไม่มีประโยชน์มากนัก
ต้มตุ๋น quixote

ขอบคุณแก้ไขโพสต์ ข้อมูล Firefox ยังมีประโยชน์ผ่าน
whitequark

0

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


0

ฉันเชื่อว่าคุณต้องทำ chroot แล้วคุณสามารถติดตั้งแพ็คเกจของคุณได้

อ้างอิง: https://help.ubuntu.com/6.10/ubuntu/packagingguide/C/appendix-chroot.html https://wiki.ubuntu.com/DebootstrapChroot


สิทธิ์ root จะต้องต่อไปเพื่อสร้าง chroot ดังนั้นทำไมไม่เพียงแค่ติดตั้งแพคเกจแทน ? นอกเหนือจากนี้โอกาสที่ระบบดูแลระบบของคุณจะให้สิทธิ์รูตแบบเต็มที่ (หรือแม้แต่ที่เกี่ยวข้องกับ apt) นั้นมีค่าน้อยกว่าค่า chroot มันเป็น (เกือบ) ไม่เป็นอันตรายสำหรับระบบโฮสต์
whitequark
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.