2018-06-27 16:10:50 wys578 阅读数 408

【个人笔记,用于研究移动端分布式系统的搭建】

【Arch Linux中文论坛】:http://bbs.archlinuxcn.org/

简介:

    Arch Linux(或称Arch)是一种以轻量简洁为设计理念的Linux发行版。其开发团队秉承简洁、优雅、正确和代码最小化的设计宗旨。Arch Linux 项目受 CRUX 启发,由 Judd Vinet 于2002年启动。

Arch Linux是起源于加拿大的一份致力于使用简单、系统轻量、软件更新速度快的GNU/Linux发行版。创始人Judd Vinet出于对Debian以及Red Hat的包管理器不满,以及受CRUX影响而创立。最初针对i686,但是如今对x86_64也支持良好,而且还派生出了针对ARM平台的Arch Linux ARM以及针对HURD内核的Arch Hurd(发展缓慢)。 --【百度百科】

    google的Android系统就是基于ARM架构的Arch Linux,简写AArch Linux,是ARMv8 架构的一种执行状态。简单的来说由于Andorid的特殊需求,这种轻量级的linux系统就应运而生了,也可以嵌入到其他设备中。这Arch Linux少了很多东西,没有gcc,没有bash(用别的简洁版代替了,如k_shell),常用的包管理工具:pacman(没有apt-get,更没有python)。

经典目录介绍:

/system/xbin : 存放常用命令二进制文件


。。。





2020-04-22 21:38:57 Pasick 阅读数 101

Arch安装与配置

刚接触Linux,有错误欢迎指正

Part1 安装

  • 根据ArchWiki文档走
  • 引导安装与配置
    • grub及必要软件安装
      pacman -S grub intel-ucode efibootmgr
      
    • 生成grub配置文件
      mkdir /boot/grub
      grub-mkconfig > /boot/grub/grub.cfg
      
    • 确认计算机架构
      uname -m
      
    • 安装grub
      grub-install --target=x86_64-efi --efi-directory=/boot
      
  • 联网工具
    • 这里推荐NetworkManager
      pacman -S networkmanager
      
    • 基本使用
      #开机自启
      systemctl enable NetworkManager
      systemctl start NetworkManager
      nmcli device wifi list
      nmcli device wifi connect [SSID] password [password]
      
  • 其它工具包
    • base-devel包
      pacman -S base-devel
      
    • 其他软件
      pacman -S vim alacritty
      

Part2 配置

  • 添加用户及赋权
    • 添加用户
      useradd -m -G wheel [name]
      
    • 赋权
      #由于没有选择vi,建立链接
      ln -s /usr/bin/vim /usr/bin/vi
      #去掉%wheel ALL=(ALL) ALL之前的注释符号
      visudo
      #修改密码
      passwd [name]
      
  • 桌面环境
    • 显示管理器
      sudo pacman -S xorg-server
      #驱动,根据实际情况选择
      sudo pacman -S xf86-video-intel
      #可以选择更美观的lightdm-webkit2-greeter,需要更改配置文件
      sudo pacman -S lightdm lightdm-gtk-greeter
      systemctl enable lightdm
      
    • 窗口管理器
      sudo pacman -S i3-gaps i3status
      
    • 重启登录即可,相关配置文件可以参考这里
  • archlinuxcn源
    sudo vim /etc/pacman.conf
    #添加
    [archlinuxcn]
    SigLevel = Optional TrustedOnly
    Server = http://mirrors.163.com/archlinux-cn/$arch
    sudo pacman -S archlinuxcn-keyring
    
  • 相关软件
    • zsh及oh-my-zsh
      git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
      cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
      #自动补全插件 zsh-autosuggestions
      git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
      #语法高亮插件 zsh-syntax-highlighting
      git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
      #修改.zshrc,添加相应名称至plugins数组
      #修改默认shell
      chsh -s /usr/bin/zsh
      
    • 字体
      #i3status需要
      sudo pacman -S ttf-font-awesome
      #基本字体
      sudo pacman -S ttf-roboto noto-fonts ttf-dejavu
      #中文字体
      sudo pacman -S adobe-source-han-sans-cn-fonts
      #nerd-fonts
      sudo pacman -S nerd-fonts-complete
      
    • 输入法
      sudo pacman -S fcitx-im fcitx-configtool fcitx-googlepinyin
      #环境变量 ~/.xprofile
      export GTK_IM_MODULE=fcitx
      export QT_IM_MODULE=fcitx
      export XMODIFIERS=@im=fcitx
      
      
  • 系统设置
2018-08-18 22:32:53 petpig0312 阅读数 2391
我们见得多的Linux服务器系统一般都是什么Ubuntu Server啊,什么Cent OS啊,什么Fedora啊,或者企业采用的Red Hat啊,为什么几乎没有Arch Linux呢?下面我将从若干个方面指出Arch Linux在服务方面的劣势。

1、过分激进的滚动更新

滚动更新是Arch Linux最大的优势,但同时也是最大的劣势之一。鉴于Linux属于一类完全开放的项目,技术人员的能力参差不齐,贡献的代码质量当然也是参差不齐的。对于其它的发行版来说,软件包需要经过社区完善的测试才会被发布至软件源从而被用户更新;然而,Arch Linux的滚动更新机制过分激进,而Arch社区对软件包的测试并非绝对完善(有多少人滚挂过?)。

Linux服务器几乎从不采用Arch Linux?Linux服务器几乎从不采用Arch Linux?
假如一台Arch服务器在更新时滚挂了,技术人员顶着Boss的压力,不仅要一边努力恢复服务器,还要一边向Arch社区的上游反馈Bug、提Issue。这种事情谁都不愿意干的吧。

2、激进的内核更新机制

很多Linux桌面用户不止一次地问过我,为什么他们的桌面Linux在更新的时候不会像Arch一样立即删除旧的内核?这样不是会浪费空间吗?这种立即删除旧内核的更新机制也是Arch作为服务器的劣势之一。首先,新的内核不一定都能正常工作。万一你的新内核造成崩溃,你没有办法立即加载旧的内核,而必须重新安装旧的内核。这个过程是非常麻烦的,你不仅需要从安装介质启动,还必须设法弄到旧版内核的软件包。对于远程服务器来说,几乎无解。下面是来自Arch Wiki的解决方案。可以看得出来这有多么麻烦:图1:为什么Arch Linux不适合作为服务器操作系统其次,立即删除旧的内核要求系统必须重启来加载新的内核,否则容易发生诡异的问题。这是因为Linux所谓的“内核”包含有大量的动态加载模块,如果在某次启动后,某个模块没有被加载过,然后系统内核更新了,删除了旧的内核,那么这些模块将永远不能被加载了——除非你重启系统完整切换到新的内核——因为它们随着旧内核被删掉了。如果你手头有Arch系统,你可以尝试一下在某次启动之后不插任何USB设备,然后更新内核。你会发现,如果你不重启系统,无论你怎么努力,新插上去的USB设备总是不会被加载——因为需要被加载的模块已经随着旧内核删掉了。重新启动系统能完整切换到新的内核,以使用新版的动态加载模块。但是对于服务器来说,不可能三天两头重启;然而Arch Linux却又是一个一周一小更,一月一大更的快速迭代的操作系统。这就使Arch不适合作为服务器操作系统。

3、软件包管理体系

Arch Linux被推崇很大一部分的原因是便于使用的软件包管理体系。不同于Debian系列的apt/dpkg和Red Hat系列的dnf(yum)/rpm包管理体系,Arch Linux只用了一个工具pacman就解决了获取和安装两个功能。这降低了为Arch Linux制作软件包的门槛,这也是AUR几乎能涵盖整个Linux软件生态的主要原因。既然一个工具就能完成工作,那为什么另外两个主流系列都依然存在两个工具来管理软件包体系?这是因为,这种两个工具来管理软件包的体系中,那个负责处理本地依赖和本地包的部分,不仅仅是为了管理依赖、安装软件包而存在的。它还有更有用的功能:提供“虚包”支持。提到“虚包”就不得不提到Java这个平台,因为Java的开放,常见的Java运行时环境有两种:一个是Oracle官方的JRE,另一个是开源社区创建的Open JRE。它们都对Java提供很高程度的支持,但是依然存在微妙的差别。比如Android Studio使用Open JRE运行就会偶尔出现奇怪的Bug,而另外有一小部分软件则不能正常运行在Oracle JRE上。它们都提供JRE的支持,但是对于Debian或者Red Hat来说,二者是能共存的:dpkg或者yum可以决定对于哪些应用程序选取哪个JRE为应用程序提供JRE依赖。但是对于pacman来说,虚包支持什么的,不存在的。只能有一个软件包提供JRE支持:安装一个就必须删除另一个。对于服务器来说这就相当尴尬了:并不能保证所有的程序都能找到完美的依赖。

4、打包粒度

虽然最近几年有所改善,但是Arch Linux的打包粒度对于服务器来说还是过分大了。我们也许只会用到某软件包的一部分,但是pacman会把整个软件包给你装上——你还没得选。对于服务器来说,为实现功能所安装的软件包越少越好——一来节省资源,二来可以减少由软件体系带来的漏洞。这也是Arch不适合作为服务器操作系统的原因之一。就我目前的经验,以上理由可以充分打消在服务器上使用Arch Linux的想法。但是对于桌面系统,特别是对于开发人员,Arch还是相当不错的选择。汝等虔诚的Arch教徒们,切勿忍耐;想安装什么的时候便装,想做什么研究的时候便做就好——因为明天并不见得还能正常运行。

2018-07-30 15:18:39 weixin_41718085 阅读数 13632

主要为以下步骤:

1.下载ArchLinux安装镜像并 制作U盘启动工具

2.开机从U盘启动

3.进行联网

4.编辑镜像站文件(选择一个比较快的中国镜像源)

5.开始分区(UEFI+GPT)

6.格式化分区,并挂载

7.开始安装基本操作系统

8.配置基础系统

9.引导系统

10.用户管理

11.网络配置

12.安装桌面环境

13.安装完后的工作


开始:

1.下载ArchLinux安装镜像并 制作U盘启动工具

(本次使用archlinux-2017.06.01-x86_64.iso) 
下载地址:https://www.archlinux.org/download/

 
下载Ultra ISO将镜像写入U盘

(1)打开iso文件

(2)写入硬盘镜像

选择你要写入的硬盘驱动器(你的u盘) 
写入方式改为:RAW 

单击写入

2.开机

1.开机进入U盘启动(UEFI引导)


进入系统后界面如下: 

3.进行联网

执行:

# wifi-menu
  • 1

连接wifi 
或者:

# pppoe-setup
  • 1

进行配置或者:

# systemctl start adsl
  • 1

进行 adsl连接 
连接完后,执行:

# ping www.baidu.com
  • 1

或其他网址测试网络是否通

同步时间 
执行:

# timedatectl set-ntp true
  • 1

4.编辑镜像站文件

由于镜像站文件中有太多国外网址,网速慢,所以在镜像站文件开头添加国内镜像站 
执行:

# nano /etc/pacman.d/mirrorlist
  • 1

执行后如下图所示 

注释掉第一个镜像站,在前面加2个##,将 第二个镜像站:mirrors.xxxxxx.com/……的xxxxxx改为163 
也可以手动注释掉或者删除掉非中国的镜像站 
修改后如下图所示: 

执行ctrl+x退出,提示 是否保存,输入y,回车 保存

5.开始分区(UEFI+GPT)

本次将为sda硬盘重新建立分区表,重新建立分区,数据会全部丢失. 
分区方案: 
sda1—————200M————————/boot/EFi 
sda2—————200M————————/boot 
sda3—————100G————————/ 
先查看下电脑硬盘设备,执行lsblk,如下图所示:(不同电脑设备不同,有可能会是 /dev/sdb……) 
(有parted、fdisk两种分区方法,本次采用fdisk进行分区) 

用fdisk进行分区

(1)建立GPT分区表 
执行:

# fdisk /dev/sda
  • 1

不同电脑设备不同,有可能会是 /dev/sdb……) 
进入fdisk交互界面:

输入:g 建立gpt分区表:

(2)建立分区 
输入:n 添加一个分区

回车:

提示让输入开始扇区(一个扇区512B,按自己要分区容量大小进行计算) 
输入2048,回车

让输入结束扇区,由于一个扇区512B,要创建200M的分区,应该输入:+200M;

建立第二个分区: 
输入n; 
回车 
输入开始扇区: 回车 (默认开始扇区即可) 
输入结束扇区:+200M

建立第三个分区: 
输入n; 
回车 
输入开始扇区:回车 (默认开始扇区即可) 
输入结束扇区:直接回车(默认大那个数字)

输入:w 保存并退出; 
执行:lsblk 如下图所示:

6.格式化分区,并挂载

(1)格式化分区

执行:

# mkfs.fat -F32 /dev/sda1
  • 1

(格式化ESP分区)

# mkfs.ext4 /dev/sda2 
  • 1

(格式化boot分区)

# mkfs.ext4 /dev/sda3
  • 1

(格式化根分区) 
执行完如下图所示: 

(2)挂载:

# mount /dev/sda3 /mnt
# mkdir /mnt/boot
# mount /dev/sda2 /mnt/boot
# mkdir /mnt/boot/EFI
# mount /dev/sda1 /mnt/boot/EFI
  • 1
  • 2
  • 3
  • 4
  • 5

执行:

# lsblk 
  • 1

如下图所示 

7.开始安装基本操作系统

执行:

# pacstrap -i /mnt base base-devel
  • 1

后开始安装

8.配置基础系统

(1)配置fstab

执行:

# genfstab -U /mnt >> /mnt/etc/fstab
  • 1

最好再执行:

# cat /mnt/etc/fstab
  • 1

检查一下 

(2)切换到新系统

执行:

# arch-chroot /mnt /bin/bash
  • 1

(3)进行本地语言设置

执行:

# nano /etc/locale.gen
  • 1

反注释(删掉前面的#) 
en_US.UTF-8 UTF-8 
zh_CN.UTF-8 UTF-8 
这两个,退出保存 
执行:

# locale-gen
  • 1


执行:

# echo LANG=en_US.UTF-8 > /etc/locale.conf
  • 1

(4)设置时区

执行:

# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • 1

也可以执行:

# tzselect 
  • 1

按照提示选择时区 
执行:

# hwclock --systohc --utc
  • 1

设置硬件时间

9.引导系统

GRUB进行UEFI引导 
执行:

# pacman -S dosfstools grub efibootmgr
  • 1

安装引导工具 

执行:

# grub-install --target=x86_64-efi --efi-directory=/boot/EFI --recheck
  • 1

进行安装grub

 
执行:

# grub-mkconfig -o /boot/grub/grub.cfg
  • 1

进行配置grub

10.用户管理

(1)设置root密码

执行:

# passwd
  • 1

(2)添加用户

执行:

# useradd -m -g users -s /bin/bash 用户名
  • 1

(务必添加一个 用户 ,否则后面sddm显示管理器登录的时候无法登录,sddm不会列出root用户) 
执行:

# passwd 用户名
  • 1

为刚才添加的用户设置密码 
执行:

# nano /etc/sudoers
  • 1

在 root ALL=(ALL) ALL 下面添加 
用户名 ALL=(ALL) ALL 
为你刚才创建的用户 添加sudo权限

(3)退出chroot重启

(笔记本请直接跳到下面网络配置,安装无线网络相关模块) 
(也可以不重启,直接进行下面的网络配置和桌面环境配置) 
执行:

# exit
  • 1

退出chroot 
执行:

# reboot
  • 1

重启电脑

11.网络配置

开机进入电脑

(1)有线连接

# systemctl enable dhcpcd
  • 1

root下执行不了此命令,可以省略,执行完下面的命令一会重启会自动启动dhcpcd服务) 
启动dhcpcd

# systemctl enable dhcpcd
  • 1

开机自动启动dhcp服务 

(2)无线连接:

# pacman -S iw wpa_supplicant dialog
  • 1

(3)ADSL 宽带连接:

# pacman -S rp-pppoe# pppoe-setup # systemctl start adsl
  • 1

(chroot下执行不了此命令)# systemctl enable adsl

 12.安装桌面环境

(1)安装显卡驱动

确定显卡型号 
执行:

# lspci | grep VGA
  • 1

执行:

# pacman -S 驱动包
  • 1

官方仓库提供的驱动包: 
通用———————————-xf86-video-vesa 
intel———————————-xf86-video-intel 
Geforce7+————————–xf86-video-nouveau 
Geforce6/7————————-xf86-video-304xx

(2)安装X窗口系统

执行:

# pacman -S xorg
  • 1

安装X窗口系统 

执行:

# pacman -S xf86-input-synaptics
  • 1

(触摸板驱动,笔记版可装,台式机就不用了)执行

# pacman -S ttf-dejavu wqy-microhei
  • 1

安装字体:Dejavu 和 微米黑字体(不安装的话 后面进入桌面环境设置系统语言为简体中文的时候会出现字体显示不全的问题) 
!https://img-blog.csdn.net/20170720110819958?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcjhsOHE4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

(3)安装kde-plasma桌面环境

安装 Gnome桌面环境的直接跳到第(4)步 
(kde和gnome桌面环境自带了大部分的驱动 ,安装其他桌面环境可能需要额外配置一些驱动,比如声卡) 
想安装其他桌面环境 参照官方wiki:https://wiki.archlinux.org/index.php/Desktop_environment_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 
执行:

# pacman -S plasma
  • 1

安装plasma 

执行:

# pacman -S konsole
  • 1

安装 kde下的控制台终端 

执行:

# pacman -S dolphin
  • 1

安装kde下的文件管理器 
(可以直接执行:

# pacman -S kde-applications
  • 1

安装kde套件,包含了常用的系统工具) 
安装完后 
执行:

# systemctl enable sddm
  • 1

启用 sddm显示管理器 
 
执行:

# systemctl enable NetworkManager
  • 1

启用网络管理 

执行:

# pacman -S plasma-nm
  • 1

安装 网络管理的前端工具(图形界面) 
执行:

# reboot
  • 1

重启

进入系统后界面如下: 

(4)安装Gnome桌面环境 
执行:

# pacman -S gnome
  • 1

安装gnome桌面 
执行:

# pacman -S gnome-tweak-tool
  • 1

安装gnome桌面优化工具 
执行:

# pacman -S alacarte
  • 1

安装gnome桌面菜单编辑器 
执行:

# systemctl enable gdm
  • 1

启用gnome窗口管理器服务 
执行:

# systemctl enable NetworkManager
  • 1

启用网络管理器服务 
执行:

# reboot
  • 1

13.安装完后的工作

(1)添加archlinuxcn源(里面包含了很多中国人常用而官方仓库又没有的软件)

执行:

# nano /etc/pacman.conf
  • 1

在 /etc/pacman.conf 文件末尾添加两行:

[archlinuxcn]
SigLevel=Never
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
  • 1
  • 2
  • 3

(2)安装中文输入法 
执行:

# pacman -S fcitx-im fcitx-configtool
  • 1

安装输入法引擎 
(官方仓库里的输入法: 
fcitx-cloudpinyin 
fcitx-googlepinyin 
fcitx-libpinyin 
fcitx-sunpinyin) 
执行:

# nano ~/.xprofile
  • 1

添加一下内容

export GTK_IM_MODULE=fcitx

export QT_IM_MODULE=fcitx

export XMODIFIERS="@im=fcitx"
  • 1
  • 2
  • 3
  • 4
  • 5

执行:

# pacman -S fcitx-sogoupinyin
  • 1

安装搜狗输入法

(3)安装网易云音乐

执行:

# pacman -S netease-cloud-music
  • 1

安装网易云音乐

(4)安装yaourt使用aur

执行:

# pacman -S yaourt
  • 1

安装yarourt 
以后可以使用yaourt 安装aur中的软件了 ,yaourt跟pacman使用方法一样 
安装kde下的文件管理器 
(5)安装浏览器 
执行:

# pacman -S google-chrome
  • 1

安装google浏览器(没法在线观看视频) 
执行:

# pacman -S firefox
  • 1

安装火狐浏览器 
(执行: # pacman -S flashplugin 安装flas插件,否则无法在线观看视频,chrome浏览器不支持flash)

(6)其他常用软件

可在https://wiki.archlinux.org/index.php/List_of_applications_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 
进行查找

(7)桌面美化 
Kde-Plasma桌面: 

Gnome桌面:




可自行安装一些主题,请自己探索。

2017-01-24 13:18:07 weixin_33858249 阅读数 0

编者按:这篇文章介绍了笔者解决archlinux+kde plasma环境无法链接无线网的问题。笔者通过查阅archlinux wiki与Google定位问题,重新安装Linux无线网卡固件解决了问题。

背景介绍

  • hp440,i54200U 64bit.

  • archlinux 20170101.iso

  • kde5 plasma

问题描述

安装NetworkManager(负责提供网络功能的服务,简称nm)和network-manager-applet,network-manager-applet适用于使用plasma桌面的场景,它是一个托盘程序,通过图形化的界面管理计算机的网络,下面简称nm-applet,正确启动nm后,点击nm-applet图标后只显示有线链接,不显示可用的无线网列表。

即使自己手动添加的linkernetworks2也无法激活。

解决步骤

参考archlinux wiki cn

archlinux wiki-NetworkManager (简体中文))主要介绍了:

  • archlinux上NetworkManager的安装与使用

  • GUI的安装

这部分信息适合安装archlinux后配置基本的网络链接。不适用无线网络的debug。

archlinux上无线网络的配置

先在kde-cn频道上提问并没有解决自己的问题。

又参考Wireless network configuration (简体中文))

  • 查看pci设备没发现问题

$ lspci -k
09:00.0 Network controller: Broadcom Limited BCM43228 802.11a/b/g/n
        Subsystem: Broadcom Limited Device 05e2
        Kernel driver in use: bcma-pci-bridge
        Kernel modules: bcma
  • 查看网卡设备,发现没有无线网卡的信息。

$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 5c:b9:01:f6:3b:18 brd ff:ff:ff:ff:ff:ff

以上两步发现没有无线网卡的设备信息。猜测有两个:

  1. 无线网卡设备没有开启,(在笔记本上)手动开启

  2. 无线网卡坏了

自己尝试在hp上开启网线网卡发现没用。这是我有点慌,难道网卡坏了?宝宝刚申请的笔记本就坏了无线网卡,蓝瘦香菇!

安装archlinux就像堆积木,许多东西都需要自己适配,并且这时我发现了[archlinuxcn-bbs找不到无线网卡[已解决]](https://bbs.archlinuxcn.org/v...,参考对方的解决方案感觉是自己没安装对固件(firmware)。

最后定位了自己的问题:内核中无线网卡固件和无线网卡硬件不一致。找到问题后参考wiki中的链接正确安装固件后重启笔记本解决问题。

有用的参考

小推广

原文地址
欢迎关注我的公众号 泉Talk,介绍Spark、Python、读书笔记等内容:

Vmware安装Arch Linux

阅读数 2136

Arch Linux 安装小记

阅读数 20775