Archlinux系统配置学习笔记(一)
本文档是有关Archlinux系统配置的学习笔记,参考和学习的是Archlinux官方网站上的相应文档:General Recommendations。
这里的配置主要是针对按照官方网站上的文档刚刚完成安装的基本的Arch Linux系统,其中首要的两个环节就是系统管理(System Administration)和软件包管理(Package Management)。
系统管理(System Administration):
这里主要是对系统管理有一个简单的介绍。
用户和组(Users and Groups):
在刚刚安装完Archlinux的基本系统之后,我们所能使用的用户只有一个超级用户:root,但是长时间地使用root账户或者是在通过SSH访问的时候将root用户暴露出去都是非常不安全的。这样一来,我们就需要为自己建立一个没有那么多特权的、用于管理日常大多数事物的一般的用户,root用户则仅仅留作系统管理之用。当然,用户和组(Users and Groups)也是一个单独的需要讨论的章节,这个留作之后研究。
批注:在UNIX/Linux类操作系统中,有着一切皆文件(Everything is a file)的概念。每一个文件都从属于某个用户和某个组,且存在着三种控制权限:读(read)、写(write)和执行(execute)。一般可以使用ls或是stat来查看文件的访问权限和从属关系等信息。示例如下:
其中访问权限被分为三组,分别表示所属用户的访问权限、所属组的访问权限和其他人的访问权限,第一个字节则指代的是文件的类型。我们可以在使用find时添加限定的用户或是组,如下:
find / -group [group]
find / -user [user]
我们也能够通过chown(change owner)来改变文件所从属的用户和组,能通过chmod(change mode)来改变文件的访问权限,更为详细的使用方法可以参考手册。
File list:
File | Purpose |
/etc/shadow | Secure user account information |
/etc/passwd | User account information |
/etc/gshadow | Contains the shadowed information for group accounts |
/etc/group | Defines the groups to which users belong |
/etc/sudoers | List of who can run what by sudo |
/home/* | Home directories |
总的来说,用户和组(Users and Groups)是一种适用于访问控制的机制,管理员能够通过调整组的成员关系以及所有权来允许或是拒绝用户和服务(Services)访问相应的系统资源。
权限升级(Privilege Escalation):
su(substitute user)指令能够在不同的用户之间进行切换(一般是为了切换到root用户),而sudo则是能够针对特定的命令,对当前的用户进行暂时的权限升级。
服务管理(Service Management):
Arch Linux使用systemd作为初始化进程,而systemd是Linux的系统和服务管理员,为了能够维护我们的Arch Linux系统,了解一些systemd的基础知识是很有必要的。用户可以通过systemctl命令来和systemd进行交互,更为详细的内容留作以后研究,链接为:systemd。
系统维护(System Maintenance):
Arch Linux是一种滚动更新的操作系统,软件包的周转也是十分得迅速,因此用户必须花费一些时间来进行系统的维护,为了能够使Arch Linux系统尽可能的稳定,这里有一份文档留作以后研究:Enhance system stability。
软件包管理(Package Management):
这部分主要介绍的是软件包管理的基本内容,更多的信息也可以参考FAQ和Category。
Pacman:
Pacman是Arch Linux的软件包管理者,每一个Arch Linux的用户都必须要非常熟悉这一软件。它也是可以单独分出一个章节:pacman,另有一些tips可以用于提升我们和pacman以及软件包管理方面的交互。
资源库(Repositories):
Official Repositories详细阐述了每个官方维护的资源库(Repository)的作用。对于安装了64位操作系统的用户,可能有的时候需要用到32位的应用程序,这个时候就需要激活multilib资源库。当然,也有一些非官方支持的用户自己编写的一些资源库:Unofficial user repositories。
Arch Build System(ABS):
Ports是最初被BSD发行版使用的系统,它是本地系统中包含很多编译脚本的目录树。简单地说,每一个port内包含了以第三方应用程序命名的文件内的编译脚本。
ABS树提供给Arch Linux的就是类似的功能,而在Arch Linux内,编译脚本被称作PKGBUILD,PKGBUILD中包含有哈希验证、软件主页、版本号、协议和编译步骤等信息。随后,我们可以通过makepkg来处理这些编译脚本,并将生成的洁净的软件包用pacman来安装。
事实上,每一个软件包,包括在AUR中的软件包都是由makepkg编译而成的。
Arch User Repository(AUR):
既然ABS提供了编译官方资源库中软件包的能力,那么对应的,AUR提供的是编译用户自定义软件包的能力。我们可以在这个网址找到所有AUR内的软件包,AUR Helper也能帮助我们更好地管理AUR中的软件包。
Mirrors:
这部分主要是介绍一些有关镜像管理的内容,这里只是附上一些链接,留作以后研究:Mirrors,Mirror status。
Archlinux系统配置学习笔记(一)的更多相关文章
- Android(java)学习笔记204:自定义SmartImageView(继承自ImageView,扩展功能为自动获取网络路径图片)
1.有时候Android系统配置的UI控件,不能满足我们的需求,Android开发做到了一定程度,多少都会用到自定义控件,一方面是更加灵活,另一方面在大数据量的情况下自定义控件的效率比写布局文件更高. ...
- AU3学习笔记
目录 1. AU3是什么?能做什么? 2. 乱学AU3中的命令(语言相关)? 3. 通过简单示例学习AU3? 4. 正则表达式的学习(对大小写敏感) 5.对于GUI的相关学习 1. AU ...
- Linux学习笔记-林耐斯Notes-Linux就该这么学
Linux学习笔记... 参考的优秀Linux网站: http://www.w3cschool.cn/linux/ http://www.linuxeye.com/ http://linux.vbir ...
- Python学习笔记(六)
Python学习笔记(六) Ubuntu重置root密码 Ubuntu 16.4 目录结构 Ubuntu 命令讲解 1. Ubuntu重置root密码 启动系统,显示GRUB选择菜单(如果默认系统启动 ...
- 《Linux内核分析》第二周学习笔记
<Linux内核分析>第二周学习笔记 操作系统是如何工作的 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/ ...
- Android安装器学习笔记(一)
Android安装器学习笔记(一) 一.Android应用的四种安装方式: 1.通过系统应用PackageInstaller.apk进行安装,安装过程中会让用户确认 2.系统程序安装:在开机的时候自动 ...
- Android学习笔记36:使用SQLite方式存储数据
在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...
- 我的Android进阶之旅------>Android中编解码学习笔记
编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放license收费等等 ...
- Android(java)学习笔记147:自定义SmartImageView(继承自ImageView,扩展功能为自动获取网络路径图片)
1. 有时候Android系统配置的UI控件,不能满足我们的需求,Android开发做到了一定程度,多少都会用到自定义控件,一方面是更加灵活,另一方面在大数据量的情况下自定义控件的效率比写布局文件更高 ...
随机推荐
- Jenkins发送邮件中文乱码问题解决
在环境变量中添加: JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF8 配置好后,重启Jenkins即可
- WebApplication与WebSite区别
1. WebApplication(Web应用程序)和WebSite(网站)的区别:WebSite是为了兼容从ASP转过来的开发人员的习惯而存在的,用起来简单,例如:不需要创建命名控件.C#代码修改以 ...
- 轻松学JVM
轻松学JVM(一)——基本原理 前言 JVM一直是java知识里面进阶阶段的重要部分,如果希望在java领域研究的更深入,则JVM则是如论如何也避开不了的话题,本系列试图通过简洁易读的方式,讲解JVM ...
- Several ports (8005, 8080, 8009) required by Tomcat
转载:http://blog.csdn.net/tomoto_zh/article/details/51931945 先找到Java项目中 Servers找到Server.xml然后 把8005, ...
- gcc 与 glibc 的关系 glibc版本查看
glibc是什么,以及与gcc的关系?glibc是gnu发布的libc库,也即c运行库.glibc是linux 系统中最底层的api(应用程序开发接口),几乎其它任何的运行库都会倚赖于glibc.gl ...
- NOIP2017逛公园(park)解题报告
park作为今年noipday1最后一道题还是相比前面几道题还是有点难度的 首先你可以思考一下,第一天dp不见了,再看一下这题,有向图,看起来就比较像一个dp,考虑dp方程,首先肯定有一维是到哪个节点 ...
- MySQL删除数据库时的错误(errno: 39)
由于mysql数据库是默认区分大小写的,部署的时候发现多了一些重复的表,于是就把多余的表删掉了.可是,剩下的重复的表再删除时会提示:表不存在. 于是,想把数据库删掉重新创建,可是,得到了 ERROR ...
- 【Revit API】创建相机视角
在Revit中有一个相机功能可以以相机视角产生一个视图.一开始我在Revit2016的API文档中找关键词Camera,但是没什么收获. 其实这个相机功能的真正核心是创建透视视图:View3D.Cre ...
- 关于程序设计中INF和MOD值的设定
在取模操作中,我们常把MOD设置为1000000007 模一个大数和模一个质数可以减少冲突 而1e9+7又有一个很好的特点,就是相加不会爆int,相乘不会爆long long 在设置无穷大值时中我们常 ...
- Spark记录-Scala语句(运算符-if-for-while-try-模式匹配)
Scala条件运算符 Scala条件运算符在下表中列出. 运算符 操作 描述 && 与 运算符左侧和右侧的值为true.仅当左侧为真时,右侧才被计算. || 或 左侧或右侧的至少一个值 ...