====== Snap ====== * https://snapcraft.io/ * [[linux:flatpak|Flatpak]] 같은 샌드박스형 리눅스 패키징. * [[linux:ubuntu|Ubuntu Linux]] 기본 * [[https://github.com/snapcrafters|Snapcrafters]] : snap 패키지를 함께 만드는 커뮤니티. ===== Install ===== sudo apt-get install snapd # snap 애플리케이션의 Permission 등을 더 쉽게 관리하려면 snap-store 가 있는게 낫다. sudo snap install snap-store * [[https://docs.snapcraft.io/installing-snapd|Installing Snapd]] ===== 기본 사용 ===== * 목록 검색 snap find <앱이름> * 설치 sudo snap install <앱이름> ===== 버전 고정 / application version ===== * https://askubuntu.com/a/1225257 * **단, 이 방법은 다음 업데이트가 발생하면 자동으로 업그레이드가 되어 버린다** # version / revision 목록 확인 snap list intellij-idea-ultimate --all # 바로 직전 버전으로 되돌리기 sudo snap revert intellij-idea-ultimate # revision 명시해서 되돌리기(버전과는 다른 값임) sudo snap revert intellij-idea-ultimate --revision 212 ===== 입력기 문제 ===== * 2020년 현재 [[linux:inputmethod:ibus|iBus]], [[linux:inputmethod:fcitx|Linux Input Method fcitx]] 만 작동하며 그나마도 완전하지 못해보임. * ''uim''은 아예 안됨. ===== Uninstall / Remove ===== * [[https://www.kevin-custer.com/blog/disabling-snaps-in-ubuntu-20-04/|Disabling Snaps in Ubuntu 20.04 - Kevin Custer]] * [[https://techwiser.com/remove-snap-ubuntu/|How to Remove Snap From Ubuntu | TechWiser]] * Ubuntu 설치 직후, 아무런 snap 애플리케이션도 설치 안한 상태에서는 ''sudo apt purge %%--autoremove%% snapd'' 만 해도 된다. # snap list 로 설치된 애플리케이션 목록을 확인하고, snap list # sudo snap remove xxx 로 모두 remove, 단 core 는 남겨둔다. sudo snap remove --purge snap-store sudo snap remove --purge ... # df 명령으로 /snap/core/xxxx 로 시작하는 모든 파티션 확인하고 umount sudo umount /snap/core/xxxx sudo umount /snap/core/yyyy ... sudo snap remove core # snapd 패키지 삭제, purge sudo apt purge --autoremove snapd # 남아있는 snap 디렉토리 삭제 rm -rf ~/snap sudo rm -rf /snap sudo rm -rf /var/snap sudo rm -rf /var/lib/snapd * ''snapd'' 삭제 [[devops:ansible|Ansible]] - name: remove snapd become: yes shell: | apt purge -y --autoremove snapd gnome-software-plugin-snap rm -rf /snap rm -rf /var/snap rm -rf /var/lib/snapd rm -rf /var/cache/snapd ===== classic ===== * [[https://ubuntu.com/blog/how-to-snap-introducing-classic-confinement|How to snap: introducing classic confinement | Ubuntu]] ===== Theme 연결 ===== * [[linux:theme|Linux Themes]] * [[https://snapcraft.io/blog/how-to-ensure-your-snap-uses-the-correct-theme|How to ensure your snap uses the correct theme | Snapcraft]] * [[https://snapcraft.io/whitesur-gtk-theme|snap whitesur-gtk-theme]] 혹은 [[https://snapcraft.io/orchis-themes|snap orchis-themes]] 참조 # 특정 snap app 만 연결 sudo snap connect [other snap]:gtk-3-themes whitesur-gtk-theme:gtk-3-themes sudo snap connect [other snap]:icon-themes whitesur-gtk-theme:icon-themes # 전체 snap app 에 연결 for i in $(snap connections | grep gtk-common-themes:gtk-3-themes | awk '{print $2}'); do sudo snap connect $i whitesur-gtk-theme:gtk-3-themes; done for i in $(snap connections | grep gtk-common-themes:icon-themes | awk '{print $2}'); do sudo snap connect $i whitesur-gtk-theme:icon-themes; done ===== 참조 ===== * [[https://ubuntu.com//blog/how-to-make-snaps-faster|How to make snaps faster | Ubuntu]] * [[https://ubuntu.com//blog/lets-build-a-snap-together-a-complex-snapcraft-yaml-walkthrough|Let’s build a snap together – a complex snapcraft.yaml walkthrough | Ubuntu]] * [[https://blog.simos.info/how-to-make-a-snap-package-for-lolcat-with-snapcraft-on-ubuntu/|How to make a snap package for lolcat with snapcraft on Ubuntu – Mi blog lah!]] * [[https://www.digitalocean.com/community/tutorials/how-to-package-and-publish-a-snap-application-on-ubuntu-18-04|How To Package and Publish a Snap Application on Ubuntu 18.04 | DigitalOcean]] * [[https://phoenixnap.com/kb/snap-packages|Snap Packages {Comprehensive Guide for Ubuntu Users}]]