作者ChakraLinux (GNU/Chakra Project)
看板Linux
标题Re: [问题] 新手在Lubuntu安装软体问题,请益
时间Sun Apr 15 15:10:39 2018
※ 引述《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://webptt.com/cn.aspx?n=bbs/Linux/M.1523776242.A.6B7.html
1F:推 ddtsatan: 推 04/15 20:29
2F:推 R0bin03: 推个 04/15 21:51
3F:推 Gold740716: 没听过的发行版,推一下 04/15 22:49
4F:推 dces4212: 推 04/16 16:21
5F:推 wheado: 不要推一下,帮帮忙啊大哥们 04/16 17:31
6F:→ obarisk: 查克拉你没有听过,是说查克拉不教Pacman吗? 04/16 21:26
教pacman会:
1. 先吓跑一票新人
2. 被Archer鄙视不是正宗
3. 顺便被两大门派围殴(误
7F:→ qoopichu: 大家应该对螺旋丸之类的比较熟悉(? 04/16 22:11
拿乳头4ni?
※ 编辑: ChakraLinux (140.119.157.128), 04/16/2018 22:51:45
8F:推 shyangs: 如果遇到 依赖不同版本的同一lib 情况怎麽办 04/17 01:08
9F:推 cory8249: 推 04/17 01:12