arch-linux安装小记(一)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arch-linux安装小记(一)相关的知识,希望对你有一定的参考价值。

参考技术A     Arch Linux是朝向轻量(lightweight)以及简单(simple)的Linux发行版。其中“简单”(Simplicity)被定义为“避免不必要或复杂的修改”,也就是说,是由开发者角度定义,而非用户角度思考。 因此,受到了许多开发者的喜爱。
    作为小白的我,本着对技术的好奇心。也学习一下它的简单玩法。本文纯小白文。欢迎阅读......

    kernel:基于Arch——linux archlinux-2016.09.03-dual.iso
    环境:VMware Workstation12

    与其他发行版本的linux的分区不同,Arch的磁盘分区采用纯命令行的操作(包括以后的安装过程)。参阅 Arch Wiki 里的相关内容。
    这里我们以gdisk(GPT下的fdisk)来进行磁盘分区。
    在VM里创建了虚拟机后,开启虚拟机,进入了命令行,此时可以查看当前的分区内容,命令:

此时,可以看到系统的主分区,一般为sda(sdx)。

开始进行分区: 命令:

进入交互模式:

此时输入n可以开始添加分区,逐次选择分区号,起始扇区,终止扇区和文件系统类型(hex code)。 以分区1:boot,分区2:swap,分区3:根分区,分区4:home。
eg:boot分区
    (1).分区的分区号默认为1 (boot)
    (2).起始扇区选择默认
    (3).终止扇区设置为"+300M",表示大小为300M
    (4).hex code选默认(8300)表示为"Linux File System",如果是swaq分区时则要设置为(8200)表示为swap分区

依次设置完毕后,在交互模式下键入 p 可以查看分区的详细信息,确认后可以键入 w 将分区信息写入磁盘。
设置完毕后 Ctrl+c 退出交互模式,回到命令行,首先我们要将boot分区的格式设置为EFI System, 可以使用命令:

分区完成之后,可以开始下一步

上一步我们完成了分区,sda1~4 分别对应boot,swap,/根目录,home。首先格式化一般的存储目录。 命令:

对于交换分区使用mkswqp命令设置格式

设置完毕之后,我们将分区挂载到文件系统上,命令:

其中挂载swap分区的命令有点不同,另外,在挂载之前应先创建好相关的目录,命令:

此时挂载完毕。

此时我们使用pacstrap命令从网上安装基础包和基础开发包,在这一步之前,由于软件源的原因,我们要想完成的速度快,需要更改源。

将其他地区的源删除,保留中国地区的,建议使用阿里云或者163的源在最前面。

好了开始安装,命令:

等待一段时间(30m)左右,即可安装完毕。
此时我们要首先设置硬件启动时自动挂载分区,否则进入系统。 命令:

fstab文件的作用就是,启动时自动挂载磁盘分区,并检测交换分区(swap)

系统安装完毕之后,会需要引导来进入操作系统,常见的引导有grup和syslinux,此处我们选择Syslinux。它的相关配置可以查阅 Syslinux Wiki

首先安装syslinux, 命令:

自动配置syslinux, 命令:

安装完成后,键入命令:*****

进行配置语言、时区等,其中选择语言时需要修改文件 /etc/locale.gen 建议选择英文,避免命令行乱码。

然后需要修改syslinux的配置信息,在 /boot/syslinux/syslinux.cfg 文件中有一些xxx.c32模块,需要把对应的 /usr/lib/syslinux/bios/XXX.c32 复制到 /boot/syslinux/ 目录下。 主要应该有四个menu.c32、vesamenu.c32、 reboot.c32、 hdt.c32。

在运行命令:

此时bootloder安装完毕,此后需要增加一个启动系统的指令 即gptmbr.bin, 命令:

最后,初始化磁盘环境, 命令:

退出chroot, 命令: exit 。取消挂载,并重启,命令:

重启后就可以通过syslinux引导进入arch-linux的系统了,此时的用户为root,不需要密码。当前系统只有tty(即黑窗口),并无桌面环境。

好啦,第一次先进行这么多, 下一次再对我们的arch-linux进行进一步完善。呜啦啦啦未完待续........

npm—小记

一枚菜鸟,实习不久,一次帮别人的安装前端项目环境时,遇到很多坑。由于之前没有对npm有太多了解,所以这次打算整理梳理一下。


NPM——Node 的模块管理器

NPM 安装

新版的node.js已经集成了npm.,如果安装了node(node安装教程),就无需再安装npm了。

npm -v  //查看npm版本

一、npm install  (缩写 npm i)

npm install <Module Name>   //此时为本地安装

效果: 将安装包放在 ./node_modules 下(运行npm命令时所在的目录),如果没有node_modules目录,会在当前执行npm命令的目录下生成node_modules目录

过程:npm install    会先检查node_modules 目录之中是否已经存在指定模块。如果存在,就不再重新安装了,即使远程仓库已经有了一个新版本,也是如此。

假设:如果希望,一个模块不管是否安装过,npm 都要强制重新安装, 可以使用-f--force参数。

npm install –f <Module Name>
或者
npm install <Module Name> --force

 全局安装:

npm install <Module Name> -g #全局安装
或者
npm install -g <Module Name> 

 本地安装和全局安装区别:

本地安装 全局安装

1.将安装包放在 ./node_modules 下(运行npm命令时所在的目录),

如果没有node_modules 目录,会在当前执行npm命令的目录下生成node_modules目录

1.安装包放在 /user/local下或者 你 node的安装目录
2.可以通过require()来引入本地安装包 2.可以直接在命令行里使用
3. package.json会被下载到当前所在目录,安装的模块会在 node_modules里面

3.package会被下载到特定的系统目录下,安装的package能够在所

有目录下使用。

 

不同情况下的安装:

1. 安装当前目录 package.json文件中配置的devDependencies模块

npm install 

2.安装本地的模块文件

npm install  ../package.tgz

3. 安装指定URL的模块

npm install https://github.com/indexzero/。。。。

4.安装本地文件系统中指定目录包含的模块

npm install <folder>

5.安装并更新package.json 中的版本配置

npm install <name> [–save|–save-dev|–save-optional]

  • 添加–save 参数安装的模块的名字及其版本信息会出现在package.json的dependencies选项中

  • 添加–save-dev 参数安装的模块的名字及其版本信息会出现在package.json的devDependencies选项中

  • 添加–save-optional 参数安装的模块的名字及其版本信息会出现在package.json的optionalDependencies选项中

6.安装模块的指定版本

npm install <name>@<version>     npm install [email protected]

7.安装模块指定版本号范围内的某一个版本

npm install <name>@<version range>    npm install [email protected]”>=0.2.0 <0.2.9″

注明: 如果项目路径中有package.json文件时,直接使用npm install 方法就可以根据dependecies配置安装所有的依赖包。

 

二、 卸载 npm uninstall

卸载某一个模块,npm uninstall <Module Name>

在安装环境时,有时会删除全部的安装模块,这是可以删去 node_modules 文件夹,然后再 npm install  重新安装

若输入命令行的话,可以如下:

 rm -rf node_modules
 npm install 

三、 更新  npm update

若更新已安装的模块:

npm update [-g] [<name> [<name> … ]

它会先到远程仓库查询最新版本,然后查询本地版本。如果本地版本不存在,或者远程版本较新,就会安装。

-g 参数会更新全局安装的模块。 如果没有指定name,且不是在某个模块内,会更新当前目录依赖的所有包都会更新;若当前目录在某个模块内,只更新该模块依赖的模块。

原理: npm update 命令怎么知道每个模块最新版本?

npm 模板仓库提供了一个查询服务registry。在https://registry.npmjs.org/ 后面跟上模块名,会得到json对象,里面是该模块所以版本信息。

例如:https://registry.npmjs.org/vue 后面加入版本,例如 https://registry.npmjs.org/react/v0.14.6 ,可查看 React 的 0.14.6 版

四、查看安装信息

npm list -g    //查看所有全局安装的模块
npm list grunt  //查看grunt模块的版本号

npm ls //列出当前安装的了所有包 一般是到 /node_modules/目录下查看包是否还存在

npm ls grunt // 查看特定包具体信息

五、卸载

npm uninstall  <Module Name>

六、搜索模块

npm search <Module Name>

七、创建模块  

package.json 文件是别不可少的,可以使用npm生成package.json 文件

npm init   //根据提示,输入,在最后输入“yes”后会生成package.json文件

八、其他命令

npm help //可查看所有命令

npm help <command> //可查看某条命令的详细帮助 npm help install

package.json 说明

npm命令运行时会根据当前目录的package.json文件进行。相应的关键字含义如下所示:

name——应用名称
description——应用描述
keywords—— 关键字
version —— 版本号
config——应用的配置项
homepage——主页
author——作者
repository——资源仓库地址
bugs——bug 提交地址
licenses——授权方式
directories——目录
main——应用入口文件
bin——命令行文件
dependencies——应用依赖模块
devDependencies ——开发环境依赖模块
engine——运行引擎
scripts——脚本

自己混淆点——dependencies and devDependencies

1. dependencies 应用依赖模块  别人要使用这个package,至少需要安装哪些东西。 它会在安装时安装到当前模块的node_modules 目录下。

2. devDependencies 开发环境依赖模块  它主要是在开发环境中用到的依赖模块。用命令npm的命令install 或 link 加上参数  —dev 安装到当前模块的node_modules目录下。

版本号

npm 采用语义化版本识别

例子:0.4.1

主版本(0)当你做了不兼容的API修改

次版本(4)当你做了向下兼容的功能性新增

修订版本(1)当你做了向下兼容的问题修正

npm 脚本问题

实习中使用 npm run stage,主要是利用了 npm 脚本

它主要就是指 package.json 文件 使用 script字段 定义脚本命令

{
  "name": "Test Project",
  "devDependencies": {
    "eslint": "^1.10.3"
  },
  "scripts": {
    "lint": "eslint ."
  }
}

运行 npm run lint ,会自动执行 ./node_modules/.bin/elint

如果直接运行 npm run 不给出任何参数,就会列出 scripts 属性下所有的命令

 

以上是关于arch-linux安装小记(一)的主要内容,如果未能解决你的问题,请参考以下文章

linux图形环境小记

Linux安装Redis小记

Linux 日常使用小记

virtualBox 安装linux系统 网络设置小记

小记Linux下安装JDK1.7

linux -小记 问题:linux 安装epel扩展源报错