本文档是有关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)

这部分主要介绍的是软件包管理的基本内容,更多的信息也可以参考FAQCategory

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

这部分主要是介绍一些有关镜像管理的内容,这里只是附上一些链接,留作以后研究:MirrorsMirror status

Archlinux系统配置学习笔记(一)的更多相关文章

  1. Android(java)学习笔记204:自定义SmartImageView(继承自ImageView,扩展功能为自动获取网络路径图片)

    1.有时候Android系统配置的UI控件,不能满足我们的需求,Android开发做到了一定程度,多少都会用到自定义控件,一方面是更加灵活,另一方面在大数据量的情况下自定义控件的效率比写布局文件更高. ...

  2. AU3学习笔记

    目录 1. AU3是什么?能做什么? 2. 乱学AU3中的命令(语言相关)? 3. 通过简单示例学习AU3? 4. 正则表达式的学习(对大小写敏感) 5.对于GUI的相关学习 1.        AU ...

  3. Linux学习笔记-林耐斯Notes-Linux就该这么学

    Linux学习笔记... 参考的优秀Linux网站: http://www.w3cschool.cn/linux/ http://www.linuxeye.com/ http://linux.vbir ...

  4. Python学习笔记(六)

    Python学习笔记(六) Ubuntu重置root密码 Ubuntu 16.4 目录结构 Ubuntu 命令讲解 1. Ubuntu重置root密码 启动系统,显示GRUB选择菜单(如果默认系统启动 ...

  5. 《Linux内核分析》第二周学习笔记

    <Linux内核分析>第二周学习笔记 操作系统是如何工作的 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/ ...

  6. Android安装器学习笔记(一)

    Android安装器学习笔记(一) 一.Android应用的四种安装方式: 1.通过系统应用PackageInstaller.apk进行安装,安装过程中会让用户确认 2.系统程序安装:在开机的时候自动 ...

  7. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

  8. 我的Android进阶之旅------>Android中编解码学习笔记

    编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放license收费等等 ...

  9. Android(java)学习笔记147:自定义SmartImageView(继承自ImageView,扩展功能为自动获取网络路径图片)

    1. 有时候Android系统配置的UI控件,不能满足我们的需求,Android开发做到了一定程度,多少都会用到自定义控件,一方面是更加灵活,另一方面在大数据量的情况下自定义控件的效率比写布局文件更高 ...

随机推荐

  1. Java NIO 详解(一)

    一.基本概念描述 1.1 I/O简介 I/O即输入输出,是计算机与外界世界的一个借口.IO操作的实际主题是操作系统.在java编程中,一般使用流的方式来处理IO,所有的IO都被视作是单个字节的移动,通 ...

  2. BZOJ5416 NOI2018冒泡排序(动态规划+组合数学)

    打表可以发现相当于不存在长度>=3的递减子序列. 考虑枚举在哪一位第一次不卡限制.注意到该位一定会作为前缀最大值.判掉已确定位不合法的情况后,现在的问题即为求长度为i.首位>j的合法排列个 ...

  3. SpringMVC处理ajax请求的跨域问题和注意事项

    .首先要知道ajax请求的核心是JavaScrip对象和XmlHttpRequest,而浏览器请求的核心是浏览器我的个人博客(基于SSM,Redis,Tomcat集群的后台架构) github:htt ...

  4. 【BZOJ5281】Talent Show(分数规划)

    [BZOJ5281]Talent Show(分数规划) 题面 BZOJ 洛谷 题解 二分答案直接就是裸的分数规划,直接跑背包判断是否可行即可. #include<iostream> #in ...

  5. Redis连接的客户端(connected_clients)数过高或者不减的问题解决方案

    最近的项目上使用ServiceStack.Redis上了redis缓存,其中遇到了很多问题.. 比如说 某一天发现redis做的缓存竟然失效了,然后查了下日志  报错max number of cli ...

  6. 个推用户画像产品(个像)Android集成实践

    我们团队之前一直是个推推送的忠实用户,近期个推新推出了产品“个像·用户画像”,刚好非常契合我们的业务需求,于是我们也试用了一下.总的来说效果还不错,这篇文章就为大家介绍一下如何从零开始快速集成个像An ...

  7. 在kubernetes集群中创建redis主从多实例

    分类 > 正文 在kubernetes集群中创建redis主从多实例 redis-slave镜像制作 redis-master镜像制作 创建kube的配置文件yaml 继续使用上次实验环境 ht ...

  8. faster rcnn 详解

    转自:https://zhuanlan.zhihu.com/p/31426458 经过R-CNN和Fast RCNN的积淀,Ross B. Girshick在2016年提出了新的Faster RCNN ...

  9. Spark记录-spark报错Unable to load native-hadoop library for your platform

    解决方案一: #cp $HADOOP_HOME/lib/native/libhadoop.so  $JAVA_HOME/jre/lib/amd64 #源码编译snappy---./configure  ...

  10. SQL记录-PLSQL-EXIT/CONTINUE/GOTO

    PL/SQL EXIT语句   在PL/SQL编程语言中,EXIT语句有以下两种用法: 当循环中遇到EXIT语句循环立即终止,程序控制继续下一个循环语句后面. 如果使用嵌套循环(即一个循环内的另一个循 ...