ฉันไม่มีสิทธิ์เข้าถึงรูทบนเครื่องนี้
ฉันอยากจะรู้ว่ามีวิธีที่ฉันสามารถดาวน์โหลดแพ็คเกจ Ubuntu และติดตั้งพวกเขาเป็นที่ไม่ใช่ราก?
อาจจะอยู่ในของฉัน~/bin
หรือ~/usr/share
หรือสิ่งที่ต้องการนั้น มันจะใช้ได้ไหม
ฉันไม่มีสิทธิ์เข้าถึงรูทบนเครื่องนี้
ฉันอยากจะรู้ว่ามีวิธีที่ฉันสามารถดาวน์โหลดแพ็คเกจ Ubuntu และติดตั้งพวกเขาเป็นที่ไม่ใช่ราก?
อาจจะอยู่ในของฉัน~/bin
หรือ~/usr/share
หรือสิ่งที่ต้องการนั้น มันจะใช้ได้ไหม
คำตอบ:
Apt ไม่สนับสนุนโดยตรง แต่มีหลายวิธีที่จะทำ
หนึ่งคือการใช้schroot
เพื่อสร้าง chroot ที่ไม่ใช่ราก นี่เป็นกระบวนการที่เกี่ยวข้องบ้างแต่คุณควรจะได้รับความช่วยเหลือจากชุมชนสำหรับผู้พัฒนาจำนวนมากที่ตั้งค่าสภาพแวดล้อม chroot สำหรับการรวบรวมรหัส
วิธีที่สองที่ฉันรู้คือติดตั้งจากแพ็คเกจ. deb คุณสามารถดาวน์โหลดได้จากเว็บไซต์หรือถ้าอยู่ในที่เก็บของ Ubuntu คุณสามารถดาวน์โหลดได้
apt-get download package
แทนที่package
ด้วยชื่อของแพ็กเกจ
เมื่อคุณมีการเรียกไฟล์ deb dpkg
โดยตรงจากบรรทัดคำสั่ง ตัวอย่างต่อไปนี้จะติดตั้ง package.deb ลงในโฮมไดเร็กตอรี่ของคุณ
dpkg -i package.deb --force-not-root --root=$HOME
ข้อเสียของการใช้ dpkg เช่นนี้คือข้อความแสดงข้อผิดพลาดน่าจะเป็นความลับ dpkg ไม่ได้แก้ไขการขึ้นต่อกันโดยอัตโนมัติหรือสร้างโครงสร้างไดเรกทอรีที่คาดไว้
ในที่สุดคุณสามารถใช้apt-get source
คำสั่งเพื่อดึงแหล่งที่มาของแพคเกจและกำหนดค่าให้ติดตั้งในเครื่อง โดยปกติจะมีลักษณะดังนี้:
apt-get source package
cd package
./configure --prefix=$HOME
make
make install
ข้อเสียของวิธีนี้คือคุณต้องมีสภาพแวดล้อมการพัฒนาที่พร้อมใช้งานสำหรับวิธีนี้ในการทำงานทั้งหมดและคุณอาจพบว่าคุณรวบรวมแพ็คเกจหลายสิบชุดเพื่อแก้ไขการพึ่งพาทั้งหมด
แก้ไข:
ในฐานะที่dpkg -i
ไม่ทำงาน (ดูความเห็น) ผมขอแนะนำทางเลือกนี้:
dpkg -x package.deb dir
สิ่งนี้จะแยกแพคเกจ. deb ไปยัง dir จากนั้นคุณสามารถส่งออก PATH โดยที่ไบนารีอยู่ ตราบใดที่มีการติดตั้งการพึ่งพาทั้งหมดของไบนารีมันควรจะทำงานตามปกติ
sudo apt-get build-dep package
เพื่อติดตั้งทุกสิ่งที่จำเป็นในการสร้างแพ็คเกจ (หลังจากรับแพ็กเกจด้วยapt-get source
)
--force-not-root --root=$HOME
หรือรูปแบบของมันจะไม่ทำงาน แพ็คเกจไบนารีเดเบียนไม่ได้รับการออกแบบให้ติดตั้งในโฮมไดเรกทอรี, ช่วงเวลา หรือเพื่อใช้วิธีนี้อีกครั้ง ตัวอย่างต่อไปนี้จะติดตั้ง package.deb ลงในโฮมไดเร็กตอรี่ของคุณ ". ไม่มันจะไม่
--force-not-root --root=/your/custom/path
ผมถือว่าคุณต้องการติดตั้งjedit ก่อนอื่นคุณต้องค้นหาแพ็คเกจและดาวน์โหลด ฉันเพิ่งใช้ไฟล์ deb จากมิเรอร์และเปิดคอนโซล / เทอร์มินัล:
mkdir /tmp/jedit && cd /tmp/jedit
- สร้างไดเร็คทอรี่ใหม่tmp
และเปลี่ยนแปลงมันwget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb
- ดาวน์โหลดแพ็คเกจar x jedit_4.3.1.dfsg-0ubuntu1_all.deb
หรือง่ายต่อการพิมพ์ar x *.deb
- ซึ่งจะแยกเนื้อหาไฟล์tar xvzf data.tar.gz
- ไฟล์data.tar.gz
มีทุกสิ่งที่คุณต้องการสำหรับการใช้งานซอฟต์แวร์usr/bin/jedit
เปิดตัวแก้ไขคุณสามารถย้ายไฟล์ไปยังบางจุดในโฮมไดเร็กตอรี่ของคุณและเรียกใช้ไฟล์จากที่นั่น
ฉันเขียนโปรแกรมที่เรียกว่าJuJuซึ่งโดยทั่วไปแล้วอนุญาตให้มีการแจกจ่ายลินุกซ์ขนาดเล็กมาก ๆ (มีเพียงผู้จัดการแพ็คเกจ) ในไดเรกทอรี $ HOME / .juju ของคุณ
อนุญาตให้มีระบบที่กำหนดเองของคุณภายในโฮมไดเร็กตอรี่เข้าถึงได้ผ่าน proot และดังนั้นคุณสามารถติดตั้งแพ็กเกจใด ๆ โดยไม่ต้องใช้สิทธิ์รูท มันจะทำงานได้อย่างถูกต้องกับการแจกแจงลินุกซ์ที่สำคัญทั้งหมดข้อ จำกัด เพียงอย่างเดียวคือ JuJu สามารถรันบนเคอร์เนลลินุกซ์ด้วยรุ่นที่แนะนำขั้นต่ำ 2.6.32
ตัวอย่างเช่นหลังจากติดตั้ง JuJu เพื่อติดตั้ง jedit:
$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit