Lenovo G50-70 BCM43142网卡,Win10原版镜像。

主板调成EFI启动。

制作Win10启动盘,打开Rufus。

按左边电源边的小按钮,选择Boot Menu,选择EFI USB Device,进入Win10安装界面,一路下一步,直到分区。

Shift+Fn+F10调出命令行

diskpart启动分区管理工具

list disk列出磁盘

Select disk n选中磁盘(n是磁盘号,我这里是0)

clean清除磁盘数据

convert gpt磁盘转换为gpt格式

exit退出分区管理工具

exit退出命令行

在可视化分区管理处刷新,然后进行分区。

然后选中作为C盘的盘下一步。

用Rufus刻录Arch盘。插网线

验证网络是否连通

#ping -c 3 archlinux.org

更新时间

#timedatectl set-ntp true

列出磁盘

#lsblk

选择磁盘进行分区,不分/boot,因为将挂载Windows的efi分区(这里使用/dev/sda)

#fdisk /dev/sda

在fdisk中分别键入

分交换分区: n,回车键,回车键,+2G

/: n,回车键,回车键,+60G

/tmp: n,回车键,回车键,+5G,(这里分了一个/tmp分区,默认分的/tmp很小,否则在装AS时需要临时挂载U盘作为/tmp)

/home: n,回车键,回车键,回车键,

w,至此,分区完成。

格式化分区

#mkswap /dev/sda8

#mkfs.ext4 /dev/sda9

#mkfs.ext4 /dev/sda10

#mkfs.ext4 /dev/sda11

挂载分区

首先挂载根分区

#mount /dev/sda9 /mnt

使用swap分区

#swapon /dev/sda8

挂载/tmp与/home

#mkdir /mnt/tmp

#mount /dev/sda10 /mnt/tmp

#mkdir /mnt/home

#mount /dev/sda11 /mnt/home

此处还要挂载Windows所分出的EFI分区

#mkdir -p /mnt/boot/efi

#mount /dev/sda2 /mnt/boot/efi

选择镜像源

#vim /etc/pacman.d/mirrorlist

文件开头加入阿里源

Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch

安装基本系统

#pacstrap /mnt base linux linux-firmware

生成fstab

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

切换到新系统

#arch-chroot /mnt

装几个必要的

# pacman -S vim dhcpcd

设置时区

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

删除/etc/locale.gen中需要使用的行前的注释符#

建议使用en_US.UTF-8 UTF-8

生成locale信息

#locale-gen

创建locale.conf

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

修改主机名

#echo studio > /etc/hostname

修改/etc/hosts如下

127.0.0.1	localhost
::1 localhost
127.0.1.1 studio.localdomain studio

设置root密码

#passwd

安装grub引导

#pacman -S dosfstools grub efibootmgr

#grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck

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

安装完成,退出chroot

#exit

重启

#umount -R /mnt

#reboot

重启后自动进入Arch插入网线还是没网

查看网卡

#ip link

此处为 ens1s0

启用网卡

#ip link set ens1s0 up

#systemctl enable dhcpcd.service

#systemctl start dhcpcd.service

等待一会 ping 一下

先创建一个普通用户

# useradd -m -s /bin/bash seliote

passed seliote

接下来安装X Window 以及登陆管理器

#pacman -S xorg xorg-server xorg-xinit xf86-video-ati xfce4 wqy-zenhei sddm

设置登陆管理器自启, sddm 默认不允许 root 登陆

#systemctl enable sddm

下面安装无线网卡驱动

#vim /etc/pacman.conf

最末加入以下内容

没设置 SigLevel = Optional TrustAll

[archlinuxcn]
Server = http://repo.archlinuxcn.org/$arch

更新源

#pacman -Syy

安装驱动

#pacman -S linux-headers broadcom-wl-dkms rfkill

重启

以下控制台以及 xfce 无线管理方式二选一

控制台使用 WiFi 的步骤

安装 wifi-menu

#pacman -S dialog wpa_supplicant

#ip link

查看无线网卡,此处得到wlp2s0

#rfkill unblock all

#ip link set wlp2s0 down

#wifi-menu

即可使用

以后使用WiFi步骤为

#ip link set wlp2s0 down

#wifi-menu

重新连接

#rfkill unblock all

#ip link set wlp2s0 up

#wifi-menu

xfce 使用 WiFi 的步骤

#pacman -S network-manager-applet

#systemctl enable NetworkManager

#systemctl disable netctl(如果有开启的话,默认没开)

然后在图形界面使用需要执行一次

#rfkill unblock all

#ip link set wlp2s0 up

Grub中添加Windows引导

#grub-probe --target=fs_uuid $esp/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi 获取到$UUID

#grub-probe --target=hints_string $esp/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi 获取$hints_string

编辑文件 # vim /boot/grub/grub.cfg,在行 ### END /etc/grub.d/10_linux ### 前加入

menuentry 'Windows 10' {
insmod part_gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --set=root $hints_string $UUID
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}

将其中$hints_string与$UUID替换为前文得到的

重启则加入了Win10引导

去除烦人的beep声

#rmmod pcspkr

#echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf

去除静音

#sudo vim /etc/asound.conf 加入

defaults.pcm.card 1
defaults.pam.device 0
defaults.ctl.card 1

安装声卡管理器

#pacman -S alsa-utils

#sudo alsamixer

按F6选择第二个声卡(第三行),按 m 挨个去除所有的静音

这个这次安装发现并不必要,还是留下来以备后面使用

把装不上驱动的AMD显卡扔进blacklist里(还有个方法是在 BIOS 里直接禁用掉独显)

#sudo vim /etc/modprobe.d/noradeon.conf

install radeon /bin/false
install amdgpu /bin/false

#sudo mkinitcpio -p linux

PS1 的设置 #vim ~/.bashrc

PMT_COLOR="\[$(tput bold)$(tput setab 0)$(tput setaf 2)\]"
PMT_RESET="\[$(tput sgr0)\]"
export PS1="${PMT_COLOR}\u \A \w >>>${PMT_RESET} "

~~

安装几个xfce插件,网速以及截图

#pacman -S xfce4-netload-plugin xfce4-screenshooter

设置几个快捷方式

Setting -> KeyBoard -> Application Shortcuts

amixer set Master 100%- 是静音键

amixer set Master 5%+ 是音量加

amixer set Master 5%- 是音量减

xfce4-screenshooter -fm -s /home/seliote/Pictures/Screenshooter 是截图键

解决双系统下不同时间标准导致时间错乱,此处更改的是 Linux 的

# timedatectl set-local-rtc 1

设置 grub 等待时长

#vim /boot/grub/grub.cfg

找到

set timeout=5

5 修改为指定的数值

安装并修改一下 SSH 配置,避免连接服务器一段时间不操作自动断开

#pacman -S openssh

#vim /etc/ssh/sshd_config

查找ClientAliveInterval

取消行前注释并设置 30 秒发送一次心跳包

ClientAliveInterval 30

之后安装 keyring 可能会报错,解决方案如下

#pacman -Syu haveged

#systemctl start haveged

#systemctl enable haveged

#rm -fr /etc/pacman.d/gnupg

#pacman-key --init

#pacman-key --populate archlinux

#pacman-key --populate archlinuxcn

#pacman -S archlinux-keyring && pacman -S archlinuxcn-keyring

#vim ~/.vimrc

set mouse=v
set number
set ts=4
set expandtab
set autoindent
syntax on
set hlsearch
set nowrapscan

装个中文输入法

#pacman -S fcitx-im fcitx-configtool

选择依赖的时候那几个 gtk 的和 qt 的都需要装,否则会没有输入框

安装完成后重新登录,右键右上角输入法标志,进入configuration,左下角加号,取消勾选Only Show Current Language,添加google-pinyin,默认的english需要留下,否则输入不了英文

添加环境变量

#sudo vim /etc/profile

文件开始结尾处添加

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

安装Android Studio

# pacman -S android-studio android-sdk

# sudo chmod -R 777 /opt/android-sdk

最好还是不要把 Android SDK 直接装吧,进了 Android Studio 后会自动下载

创建项目之后即便配置了 gradle 的本地仓库,但是部分还是不能用,需要设置全局代理

# export http_proxy='http://localhost:1080'
# export https_proxy='http://localhost:1080'

之后模拟器启动不了

#sudo ln -sf /usr/lib/libstdc++.so.6 ~/Android/Sdk/emulator/lib64/libstdc++/libstdc++.so.6

要用真机调试,手机打开USB调试

#pacman -S android-tools android-udev

#sudo usermod -a -G adbusers seliote

#sudo gpasswd -a seliote adbusers

AS今天滚完报错 Emulator: /home/seliote/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64: error while loading shared libraries: libpulse.so.0: cannot open shared object file: No such file or directory

解决办法是 #pacman -S libpulse

Markdown 编辑器用这个

# sudo pacman -S retext

安装网易云

#sudo vim /etc/pacman.conf

删除 /etc/pacman.conf 中 [archlinuxcn] 下的 SigLevel= 行,以使用默认设置

#pacman -Syy

#pacman -Syu

#pacman -S archlinuxcn-keyring

#pacman -S netease-cloud-music

恕我直言,内存泄漏真可怕,音乐列表滑动也严重卡顿,听个响

#pacman -Rs netease-cloud-music

安装 TeamViewer 后还需要设置一下

# sudo pacman -S teamviewer

# sudo systemctl enable teamviewerd

为写个服务端PHP爬虫,本地搭建LNMP,因为LNMP用的比较少,所以全部没有设置服务自启

安装Nginx主线版本

#pacman -S nginx-mainline

手动启动Nginx

#sudo systemctl start nginx

浏览器进入127.0.0.1看Nginx是否安装成功

安装MariaDB

#pacman -S mariadb

执行自安装程序

#sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

启动

#sudo systemctl start mysqld

安全启动,按照提示设置root密码等

#sudo mysql_secure_installation

安装PHP 7

#pacman -S php-fpm

为Nginx配置PHP,去掉前面的分号并改为如下

#sudo vim /etc/nginx/nginx.conf

line65:   location ~ \.php$ {
line66: root /usr/share/nginx/html;
line67: fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
line68: fastcgi_index index.php;
line69: fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
line70: include fastcgi_params;
line71: }

启动PHP

#sudo systemctl start php-fpm

写一个PHP文件然后用浏览器测试一下

#sudo vim /usr/share/nginx/html/index.php

<? php
echo 'Hello world!'

设置PHP扩展,找到下面文件的这两行,去掉前面的分号

#sudo vim /etc/php/php.ini

;extension=mysqli
...
;extension=pdo_mysql

重启配置过的服务

#sudo systemctl reload nginx

#sudo systemctl reload php-fpm

添加LNMP快捷启动与停止shell bash

#vim ~/.bashrc

alias lnmp_start='sudo systemctl start mysqld ; sudo systemctl start nginx ; sudo systemctl start php-fpm'
alias lnmp_stop='sudo systemctl stop mysqld ; sudo systemctl stop nginx ; sudo systemctl stop php-fpm'

安装Tomcat

pacman -S tomcat8

sudo gpasswd -a seliote tomcat8

sudo vim /etc/tomcat8/tomcat-users.xml

<!-- 添加管理用户,记得改密码 -->
<!-- </tomcat-users> 标签前一行添加 -->
<user username="admin" password="admin" roles="manager-gui,admin-gui" />

idea 报错,权限不够

#sudo chmod -R 777 /etc/tomcat8

#sudo chmod -R 777 /usr/share/tomcat8

快捷启动

vim ~/.bashrc

alias java_web_start='sudo systemctl start tomcat8; sudo systemctl start mysqld'
alias java_web_start='sudo systemctl stop tomcat8; sudo systemctl stop mysqld'
export JAVA_WEB_PATH="/var/lib/tomcat8/webapps"

最近做C#开发, 每次GRUB引导后都要手动选择排在第三的Win很不方便, 修改一下吧

#sudo vim /boot/grub/grub.cfg

然后查找set default = 0, 修改为set default = 2重启即可

做完ARCH镜像后U盘会出问题,Win下cmd,diskpart,list disk,select disk n,clean,然后打开计算机右键管理,磁盘管理,右键磁盘,新建简单卷,然后下一步就OK

-------------------------------------------我是分割线----------------------------------------

2019.01.02 系统滚挂了,wifi_menu 提示 no network found。距离上次安装正好差一个月一年,记录一下修复过程。

  • 查看更新记录,寻找可能导致滚挂的包 $ sudo vim /var/log/pacman.log,比如这里日志的 [2019-01-02 11:48] [ALPM] upgraded wpa_supplicant (1:2.6-12 -> 1:2.7-1)

  • 如果之前没有删过缓存包的话 $ sudo pacman -U /var/cache/pacman/pkg/.... 即可回滚,可惜我删了。

  • 电脑插上网线或者手机共享一下网络

  • 这里 找旧版的 tar.gz 并下载,解压 $ tar -zxvf packages-aaccde99f510add8851ca05febe9cca64406a27d.tar.gz

  • 进入子目录 $ cd packages-aaccde99f510add8851ca05febe9cca64406a27d/repos/core-x86_64/

  • 尝试打包 $ makepkg,我这里报错 ==> ERROR: One or more PGP signatures could not be verified! 签名不对,那就别校验了,$ makepkg --skippgpcheck

  • 安装打包后的软件 $ sudo pacman -U wpa_supplicant-1:2.6-12-x86_64.pkg.tar.xz

  • 重启测试一下 WiFi 能不能用了,OK 后忽略这个软件包的升级,$ vim /etc/pacman.conf 添加或新增 IgnorePkg = wpa_supplicant

05-19 10:46