วิธีที่ถูกต้องในการสร้างนามแฝงเพื่อจัดแพคเกจใน Ubuntu 16.04 คืออะไร?


8

TL; DR

จะสร้างนามแฝงทั้งระบบเพื่อจัดแพ็คเกจใน Ubuntu 16.04 ได้อย่างไร?

รายละเอียดเพิ่มเติม

ฉันต้องการติดตั้ง Blender อย่างรวดเร็ว ฉันพบว่ามีแพ็คเกจblender-tpawซึ่งสามารถติดตั้งได้ แต่น่าเสียดายที่หลังจากติดตั้งมันมีอยู่ในภายใต้ชื่อสถานีไม่blender-tpawblender

การใช้นามแฝงสแนป

ดังนั้นก่อนอื่นฉันได้พยายามเรียกใช้คำสั่งsudo snap alias blender-tpaw blenderตาม: https://insights.ubuntu.com/2017/01/28/ubuntu-core-how-to-enable-aliases-for-your-snaps-คำสั่ง/ . แต่นี่คือสิ่งที่ฉันมี:

error: cannot perform the following tasks:
- Enable aliases for snap "blender-tpaw" (cannot enable alias "blender" for "blender-tpaw", no such alias)

สร้างลิงก์สัญลักษณ์ใน / usr / local / bin

ถ้าอย่างนั้นฉันก็พยายามที่จะสร้างลิงก์สัญลักษณ์sudo ln -s /snap/bin/blender-tpaw /usr/local/bin/blenderแต่ในกรณีนี้สิ่งที่แปลกประหลาดเกิดขึ้น: ตอนนี้เมื่อฉันพิมพ์blenderเทอร์มินัลฉันได้snapรับคำสั่ง ...

ใส่นามแฝงใน /etc/profile.d

ฉันพยายามสร้างนามแฝงด้วย /etc/profile.d/alias.sh

alias blender='blender-tpaw'

แต่ใช้งานได้เฉพาะบน Ubuntu 16.04 Server ของฉัน แต่ไม่สามารถใช้งานบน Ubuntu 16.04 Desktop

สิ่งที่ฉันต้องการบรรลุ

ฉันต้องการนามแฝงนี้จะเป็นระบบที่กว้างสำหรับผู้ใช้ทั้งหมดโดยไม่ต้องเปลี่ยนด้วยตนเอง.bashrcสำหรับผู้ใช้แต่ละคนแยกกัน และฉันก็ต้องการวิธีเดียวกันในการทำงานบนเซิร์ฟเวอร์ Ubuntu และ Ubuntu Desktop ด้วย


บางทีนี่อาจช่วยได้? insights.ubuntu.com/2017/01/28/…
edwinksl

@edwinksl ฉันใช้คำสั่งจากบทความนี้ แต่ดูเหมือนว่าเป็นไปไม่ได้ที่จะประกาศนามแฝงของคุณเองโดยไม่ต้องสร้างสแน็ปอินใหม่ทั้งหมด
Piotr Ciążyński

ฉันเข้าใจแล้ว ฉันไม่ได้ใช้สแนปดังนั้นฉันจึงไม่ได้รับความช่วยเหลือที่นี่ แต่ฉันหวังว่าจะมีวิธีแก้ไขปัญหานี้อย่างง่าย กำลังสร้าง snaps ใหม่เพื่อให้นามแฝงนั้นเกินความจำเป็น
edwinksl

หลังจากที่คุณทำการ symlink /usr/local/bin/blenderแล้วผลลัพธ์จากการป้อนคำสั่งblenderคืออะไร นอกจากนี้คุณมีสิ่งอื่นในเส้นทางของคุณชื่อblender(ใช้type -a blenderเพื่อแสดงรายการทุกสิ่งที่เชลล์แฮชภายใต้ชื่อนั้น)
takatakatek

คำตอบ:


1

สิ่งที่พบปัญหาเมื่อปีที่แล้วเมื่อพยายามที่จะลงทะเบียนนามแฝงในขณะนี้ดูเหมือนว่าได้รับการแก้ไข ลำดับเดียวกันทำงานกับ 16.04 และเกือบปล่อย 18.04 เช่นกัน การใช้รุ่นอยู่ในเอาต์พุต

$ sudo snap install blender-tpaw
[sudo] password for dpb: 
blender-tpaw 2.78c-tpaw0 from 'tpaw' installed
$ sudo snap alias blender-tpaw blender
Added:
  - blender-tpaw as blender
$ sudo snap aliases
Command                  Alias         Notes
aws-cli.aws              aws           -
blender-tpaw             blender       manual
conjure-up.conjure-down  conjure-down  -
lxd.lxc                  lxc           -
$ snap version
snap    2.32.3.2+18.04
snapd   2.32.3.2+18.04
series  16
ubuntu  18.04
kernel  4.15.0-15-generic

อ้างอิง:

  • ฉันคิดว่าโพสต์ต่อไปนี้ให้ข้อมูลพื้นฐานที่ดีเกี่ยวกับการเปลี่ยนแปลงที่ดำเนินการสำหรับผู้ที่สนใจรายละเอียด https://forum.snapcraft.io/t/improving-the-aliases-implementation/18

0

ในการตั้งค่านามแฝงภายนอกsnapโดยใช้aliasฟังก์ชันbash-builtin คุณจำเป็นต้องโทรหาsnapอย่างชัดเจนดังนั้นในกรณีของคุณคำสั่งคือ:

alias blender='snap run blender-tpaw'

man bash พูดว่า:

เมื่อเชลล์เชิงโต้ตอบที่ไม่ใช่เชลล์ล็อกอินเริ่มทำงาน bash จะอ่านและดำเนินการคำสั่งจาก /etc/bash.bashrc และ ~ / .bashrc หากมีไฟล์เหล่านี้อยู่

ดังนั้นเพื่อให้นามแฝงของระบบพร้อมใช้งานเพียงเพิ่มลงใน/etc/bash.bashrcไฟล์:

echo "alias blender='snap run blender-tpaw'" >> /etc/bash.bashrc
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.