為什麼這篇linux安裝軟體鄉民發文收入到精華區:因為在linux安裝軟體這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者ChakraLinux (GNU/Chakra Project)看板Linux標題Re: [問題...
※ 引述《wheado (principal component QQ)》之銘言:
: 小弟初學 linux 系統,問題可能很白癡,但希望能夠多了解一點。
: 所選用的是比 Ubuntu 輕的 Lubuntu。
: 目的是單純的寫自己的程式(R, python, kotlin, android studio),
: 但是想使用 linux
: 目前沒有特別的目的,單純當 windows 用這樣,
: 問題1:
: 安裝套件 R軟體 用 sudo apt-get install r-base 可以安裝
: 但不知道安裝到哪裡了...
: 上網搜尋有關安裝路徑的問題,大多數的高手都說這個不重要
: 也不需要改,但還是滿在意的,希望可以安裝在我指定的地方
: 像 windows 那樣,另外很特別的是 R 被歸類為繪圖軟體,
: 有點驚訝哈哈QQ
Linux以及其他類Unix系統使用的檔案系統標準並不以軟體為分類標準
而是以檔案性質為分類依據
(試想:大部分的軟體還是會使用到%APPDATA%來存一些運作需要的資料,需要使用
Program Data來存一些更新或者快取,需要寫一堆註冊碼來確保自己的獨占性
所以根本不是只有安裝到Program Files這麼簡單)
https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
維基頁面也有中文版可以參考
這樣子的標準有什麼優勢呢?首先應該是Shared Library的普及吧?
http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
因為Linux/Unix大部分的基礎建設都是基於開源協議發布的,所以他們的二進制檔案之間
可以自由的互相參照,以至於一個應用程式不需要為了能執行而從網路上把整個相依的
library都包裹起來下載給使用者,而是動態的去使用者系統中調度需要的library來執行
,這中間的容量差異應該是不言可喻的。
至於安裝方式,你首先應該會發現並不需要「到官網下載後安裝」這個步驟
而這也是Linux系統跟Windows操作邏輯很不一樣的地方,也是它能大量佈署的優勢之一
使用套件庫(repository)來建構信任網路以及統一發布更新
你可以想像它類似於Windows Update,但是比它更完善、更透明、更注重使用者選擇權
然而,每個Linux發行版[1]都有自己的一套管理機制(通稱package manager)
所以要知道從網路下載了什麼東西、安裝到了哪裡等等問題,就要先問「這個系統用的是
哪套套件管理員?」
Ubuntu是基於Debian的下游分支,使用的是apt指令從來源清單(source list)[2]中搜尋套
件,在本機端使用的是dpkg套件管理員。
然後才是問「那這兩個軟體的操作方法呢?」
https://askubuntu.com/questions/32507/
[1]至於為什麼不叫系統?因為其實大部份Linux都是基於同樣的coreutils以及一些開源
的基礎建設搭建而成的,所以不會自稱Linux系統(R)或Linux(TM)
當然,道德上如此,法律上為了維護這個地位,這些商標權也在Linux foundation下持有
所以大部分的Linux也只能自稱distribution,而非Linux OS
[2] /etc/apt/sources.list.d/ 或 /etc/apt/sources.list
: 問題2:
: 在安裝 Android studio 的時候無法用指令安裝,
: 參考的是 https://goo.gl/jxT1RK
: umake android 會出現 error,
: 但參考官網的操作可以安裝成功,
: 很神奇的是官網並非使用指令安裝
: 而是下載 zip 檔解壓縮,然後就可以執行了!!
: ---------------------切--------------------
: 問題是 如果我想像問題2那樣下載一個 R 的 zip 檔
: 到我的指定目錄然後解壓縮,就可以達到
: 安裝某個軟體到我的指定目錄了
: 但...對於大多數用指令就可以安裝的軟體
: 要怎麼做????
: 請指教,謝謝。
在企業中,無論是為了保護特定實做(智慧財產)或者是為了確保軟體可執行性(方便試
用),會捨棄共享函式庫而就靜態庫(static library, static lib)的方式發布軟體
優勢除了上段提的,還有不需要提權到root就能安裝軟體,但同時也代表,任意執行網路
上非信任來源的二進位檔案,無法確保其不會經由系統漏洞自我提權的可能性。
但是,現在一些(堆?)軟體為了搶佔市場或者為了達到宣稱的跨平台優勢,而又不打算
用心維護跨不同版本的支援,會選擇自己產生一套套件管理方式,如gem, pip, npm等等
這些軟體通常也都有自己的一套版本管理系統,也強過自己下載壓縮檔,自己使用資料夾
名稱分版號。
至於,想要如同Windows一般的安裝軟體的話,我會建議放在/opt下,一個軟體一個資料
夾,並且要注意你的應用程式的執行檔所在位置,必要時必須匯出到PATH好讓系統知道
去哪裡找執行檔來執行。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.119.157.128
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1523776242.A.6B7.html
1. 先嚇跑一票新人
2. 被Archer鄙視不是正宗
3. 順便被兩大門派圍毆(誤
※ 編輯: ChakraLinux (140.119.157.128), 04/16/2018 22:51:45