我是第一次使用 ubuntu 作为桌面。我已经管理 Linux(非 ubuntu)服务器一段时间了。但是,我只能勉强应付。我害怕把事情搞砸,而 cpanel/whm 是我的首选。
我知道一点(命令方面)..但我对这个社区的第一个问题是关于文件系统。
我搜索过,也看过这个论坛上的问题……但我找不到任何专门解决我所问问题的问题。如果这些问题存在,而这个问题是重复的,我深表歉意。
我的问题:
我在文件系统上将内容存储在哪里?特别是下载的应用程序/程序。
我知道我可以将文件放在任何我想要的地方,但我想遵守常用的做法。
让我举个例子。
我下载了 skype 和 apache 网络服务器。Skype 不应该对系统上的所有用户开放……只有我才可以使用。Apache 应该是每个人都可以使用的系统服务。
- 我应该将 skype 安装到我的 /home/me/ 目录(或其子目录)吗?
- 它应该安装在系统应用程序位置吗(在哪里?/bin?/usr/bin?)
- 因此 apache 已安装...(在某个位置)。每个用户的公共 html 文件夹是否位于其 /home/username/public 目录中?还是位于创建的 /home/username/public_html 目录中?还是位于安装 apache 的位置
- 无关...我应该把下载的媒体(音乐、电影等)放在哪里?其他用户可以默认访问这些内容吗?
- 如果我通过软件中心或 apt-get 安装程序,它们会自动转到哪里?软件包是否决定了这一点
- 有没有可以阅读的文档,其中讨论了 ubuntu(或者一般的 linux,我猜)将东西放在哪里?我在 Google 上搜索,得到的是 ubuntu 文件系统的解释,而不是文件系统内部东西放在哪里。如果能提供链接就更好了。
请尽可能具体地回答我的问题。提前谢谢。到目前为止,我很喜欢这个!
-斯科特
答案1
我应该将 skype 安装到我的 /home/me/ 目录(或其子目录)吗?
你不应该安装手动 Skype。只需下载和安装“ .deb” 包。
它应该安装在系统应用程序位置吗(在哪里?/bin?/usr/bin?)
应用程序通常存储在 /usr/bin 或 /usr/lib 中 http://ubuntuforums.org/archive/index.php/t-818509.html
/usr/bin
此目录包含系统中的绝大多数二进制文件。此目录中的可执行文件种类繁多。例如,vi、gcc、
gnome-session 和 mozilla 等都可以在这里找到。/usr/lib
此目录包含程序库。库是常用程序例程的集合。
因此 apache 已安装...(在某个位置)。每个用户的公共 html 文件夹是否位于其 /home/username/public 目录中?还是位于创建的 /home/username/public_html 目录中?还是位于安装 apache 的位置
它应该放在安装 apache 的地方(通常是 www 目录)。但是,如果您想实现其他目的,可以按照本指南操作: http://httpd.apache.org/docs/2.4/howto/public_html.html
如果您想了解有关 Apache 安装的“如何”和“在哪里”的更多信息,请遵循本指南: http://httpd.apache.org/docs/2.4/install.html
/usr/本地
'/usr/local' 的最初想法是在每台机器上除了 '/usr' 之外都有一个单独的 ('本地') '/usr' 目录,该目录可能只是从其他地方以只读方式挂载的。它复制了 '/usr' 的结构。如今,'/usr/local' 被广泛认为是保存自编译或第三方程序的好地方。/usr/local 层次结构供系统管理员在本地安装软件时使用。它需要确保在系统软件更新时不会被覆盖。它可能用于可在一组主机之间共享但在 /usr 中找不到的程序和数据。本地安装的软件必须放在 /usr/local 中而不是 /usr 中,除非是为了替换或升级 /usr 中的软件而安装的。
无关...我应该把下载的媒体(音乐、电影等)放在哪里?其他用户可以默认访问这些内容吗?
它通常位于 中/home/$username/Downloads
。其他用户无法访问这些文件。
更多信息:http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/home.html
/home 是一个相当标准的概念,但它显然是一个特定于站点的文件系统。不同的人喜欢将用户帐户放在各种位置。本节仅介绍用户主目录的建议位置;尽管如此,我们建议所有符合 FHS 的
发行版都将其用作主目录的默认位置。
在小型系统上,每个用户的目录通常是 /home 的许多
子目录之一,例如 /home/smith、/home/torvalds、
/home/operator 等。在大型系统上(尤其是当 /home
目录在使用 NFS 的许多主机之间共享时),细分
用户主目录很有用。可以使用子目录(例如 /home/staff、/home/guests、/home/students 等)进行细分。设置因主机而异。因此,任何程序都不应依赖此位置。如果您想找出用户的主目录,您应该使用 getpwent(3) 库函数,而不是依赖 /etc/passwd,因为用户信息可能使用 NIS 等系统远程存储。
应用程序的用户特定配置文件存储在用户主目录中以“.”字符开头的文件中
(“点文件”)。如果应用程序需要创建多个点
文件,则应将它们放在名称以“.”字符开头的子目录中(“点目录”)。在这种情况下,配置
文件不应以“.”字符开头。建议除自动保存和锁定文件外,程序
应避免在
没有用户干预的情况下在主目录中创建非点文件或目录。
来自 tldp
如果我通过软件中心或 apt-get 安装程序,它们会自动转到哪里?软件包是否决定了这一点
是的。正如前面提到的,它应该位于 /usr/bin 或 /usr/lib 中。但是,如果您手动安装应用程序,通常最好使用/opt
。
http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/opt.html
https://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html
有没有可以阅读的文档,其中讨论了 ubuntu(或者一般的 linux,我猜)将东西放在哪里?我在 Google 上搜索,得到的是 ubuntu 文件系统的解释,而不是文件系统内部东西放在哪里。如果能提供链接就更好了。
http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/
https://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html
https://en.wikibooks.org/wiki/LPI_Linux_Certification/Create_Partitions_And_Filesystems
https://en.wikibooks.org/wiki/LPI_Linux_Certification(一般来说 -LPIC 信息)
答案2
你应该将你的数据下载到/home/<your_userid>
。我把我的下载放到/home/kouros/downloads
。
当您想要安装不是来自软件包的程序时,您可以将其放入/usr/bin
。我更喜欢将其放入/opt/bin
,但为此您必须更改路径变量(请参阅 bash(1) 手册页)。然后,您可以以只有您才能执行和读取的方式更改二进制文件的用户、组和权限(请参阅 chown(1) 和 chmod(1) 手册页)。另一种方法是将二进制文件放入/home/<your_userid>/bin
并仅更改您的路径变量。
当您安装随软件包提供的程序时,您无法更改任何内容,否则删除软件包或应用更新将无法正常工作。然后您可以使用 来保护它apparmor
。