命令记不住

登陆

Arch Linux 常用命令

Arch Linux常用命令

1.pacman常用命令

pacman -Sy abc #和源同步后安装名为abc的包
pacman -S abc #从本地数据库中得到abc的信息,下载安装abc包
pacman -Sf abc #强制安装包abc
pacman -Ss abc #搜索有关abc信息的包
pacman -Si abc #从数据库中搜索包abc的信息
pacman -Q # 列出已经安装的软件包
pacman -Q abc # 检查 abc 软件包是否已经安装
pacman -Qi abc #列出已安装的包abc的详细信息
pacman -Ql abc # 列出abc软件包的所有文件
pacman -Qo /path/to/abc # 列出abc文件所属的软件包
pacman -Syu #同步源,并更新系统
pacman -Sy #仅同步源
pacman -Su #更新系统
pacman -R abc #删除abc包
pacman -Rd abc #强制删除被依赖的包
pacman -Rc abc #删除abc包和依赖abc的包
pacman -Rsc abc #删除abc包和abc依赖的包
pacman -Sc #清理/var/cache/pacman/pkg目录下的旧包
pacman -Scc #清除所有下载的包和数据库
pacman -U abc #安装下载的abs包,或新编译的abc包
pacman -Sd abc #忽略依赖性问题,安装包abc
pacman -Su --ignore foo #升级时不升级包foo
pacman -Sg abc #查询abc这个包组包含的软件包

清除无用的包
sudo pacman -R $(pacman -Qdtq)

修改源
1)在/etc/pacman.d/mirrorlist设置安装源,视情况加入:

Server = http://mirrors.163.com/archlinux/$repo/os/i686
Server = http://mirrors.sohu.com/archlinux/$repo/os/i686
Server = http://mirror.lupaworld.com/archlinux/$repo/os/i686
Server = http://ftp.sjtu.edu.cn/pub/mirror2/www.archlinux.org/$repo/os/i686/
Server = 

2)/etc/pacman.conf类似这样:

[core]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/mirrorlist
[extra]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/mirrorlist
[community]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/mirrorlist

2.ArchLinux的包管理系统: pacman

常用命令有:

pacman -Sy abc                    和源同步后安装名为abc的包
pacman -S abc                     从本地数据库中得到abc的信息,下载安装abc包
pacman -Sf abc                    强制安装包abc
pacman -Ss abc                   搜索有关abc信息的包
pacman -Si abc                    从数据库中搜索包abc的信息
pacman -Syu                        同步源,并更新系统
pacman -Sy                          仅同步源
pacman -R abc                     删除abc包
pacman -Rc abc                   删除abc包和依赖abc的包
pacman -Rsn abc                 移除包所有不需要的依赖包并删除其配置文件
pacman -Sc                          清理/var/cache/pacman/pkg目录下的旧包
pacman -Scc                        清除所有下载的包和数据库
pacman -Sd abc                   忽略依赖性问题,安装包abc
pacman -Su --ignore foo       升级时不升级包foo
pacman -Sg abc                   查询abc这个包组包含的软件包
pacman -Q                           列出系统中所有的包
pacman -Q package             在本地包数据库搜索(查询)指定软件包
pacman -Qi package            在本地包数据库搜索(查询)指定软件包并列出相关信息
pacman -Q | wc -l                  统计当前系统中的包数量
pacman -Qdt                         找出孤立包
pacman -Rs $(pacman -Qtdq) 删除孤立软件包(递归的,小心用)
pacman -U   abc.pkg.tar.gz      安装下载的abs包,或新编译的本地abc包
pacman-optimize && sync        提高数据库访问速度
删除单个软件包,保留其全部已经安装的依赖关系
pacman -R package_name
删除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系:
pacman -Rs package_name
要删除软件包和所有依赖这个软件包的程序:
# pacman -Rsc package_name
警告: 此操作是递归的,请小心检查,可能会一次删除大量的软件包。
要删除软件包,但是不删除依赖这个软件包的其他程序:
# pacman -Rdd package_name
pacman 删除某些程序时会备份重要配置文件,在其后面加上*.pacsave扩展名。-n 选项可以删除这些文件:
pacman -Rn package_name
pacman -Rsn package_name

3.不知道是什么

一、Replace sdX in the following instructions with the device name for the SD card as it appears on your computer.

1.Start fdisk to partition the SD card:

	fdisk /dev/sdX

2.At the fdisk prompt, delete old partitions and create a new one:

- Type o. This will clear out any partitions on the drive.
- Type p to list partitions. There should be no partitions left.
- Type n, then p for primary, 1 for the first partition on the drive, press ENTER to accept the default first sector, then type +100M for the last sector.
- Type t, then c to set the first partition to type W95 FAT32 (LBA).
- Type n, then p for primary, 2 for the second partition on the drive, and then press ENTER twice to accept the default first and last sector.
- Write the partition table and exit by typing w.

3.Create and mount the FAT filesystem:

	mkfs.vfat /dev/sdX1
	mkdir boot
	mount /dev/sdX1 boot

4.Create and mount the ext4 filesystem:

	mkfs.ext4 /dev/sdX2
	mkdir root
	mount /dev/sdX2 root

5.Download and extract the root filesystem (as root, not via sudo):

	wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-latest.tar.gz
	bsdtar -xpf ArchLinuxARM-rpi-latest.tar.gz -C root
	sync

6.Move boot files to the first partition:

	mv root/boot/* boot

7.Unmount the two partitions:

umount boot root

8.Insert the SD card into the Raspberry Pi, connect ethernet, and apply 5V power.
9.Use the serial console or SSH to the IP address given to the board by your router.

	Login as the default user alarm with the password alarm.
	The default root password is root.

10.Initialize the pacman keyring and populate the Arch Linux ARM package signing keys:

	pacman-key --init
	pacman-key --populate archlinuxarm

4.ArchLinux下开机启动项目添加

系统级别的,我觉得最简单的方式就是创建 systemctl 的 service 脚本。这个脚本放什么位置呢?
我们运行一个命令就看到了:

$ systemctl enable sshd 
Created symlink /etc/systemd/system/multi-user.target.wants/sshd.service → /usr/lib/systemd/system/sshd.service.

我们开起来 sshd 服务,显示出来 service 的位置,我们模仿这个做一个开机启动出来。
还记得很早的 linux 中有一个 rc.local 么?有什么需要开机启动的脚本直接丢进去就行了。
升级到了systemd 之后,这个玩意就消失了,我们尝试恢复他。
先建立一个 rc-local.service,

sudo vim /usr/lib/systemd/system/rc-local.service

然后,我们模仿其他的 service ,来写一下:

[Unit]
Description="/etc/rc.local Compatibility" 
#Wants=sshdgenkeys.service
#After=sshdgenkeys.service
#After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardInput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

然后,我们创建 /etc/rc.local 文件:

sudo touch /etc/rc.local
sudo chmod +x /etc/rc.local

然后,添加一些我们希望的开机运行脚本

sudo vim /etc/rc.local 

最后:

sudo systemctl enable rc-local.service

5.为Arch Linux更换Archlinuxcn源(清华源)

我们这里使用的是清华源,清华源的好处上面我说了有一些国内常用的中文软件这些,我们换成清华cnarch linux源的好处就是Arch Linux 中文社区驱动的非官方用户仓库。包含中文用户常用软件、工具、字体/美化包等。

具体操作方法:

# sudo /etc/pacman.d/mirrorlist

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

# pacman -S  archlinuxcn-keyring
# sudo pacman -Sy

6.Arch终端中文输入问题解决

Arch Linux中文乱码解决

1.安装中文字体

pacman -S wqy-zenhei ttf-fireflysung (flash乱码)   ---乱码的原因就是缺少中文字体的支持下载文泉驿

vim /etc/locale.gen内容如下:

en_US.UTF8 UTF-8
zh_CN.UTF8 UTF-8
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_CN.GB18030 GB18030 

 ~/.xinitrc内容如下:
export.UTF-8 
export LC_ALL="zh_CN.UTF-8" 

/etc/locale.conf内容如下:
LANG=zh_CN.UTF-8 

2.执行下面命令看看是否配置好了中文编码:

locale-gen 
locale
locale -a

7.Arch Linux安装Firefox 火狐中文版

首先我们 输入命令

pacman -S firefox

这样我们就安装好了,然后我们再安装中文语言包

pacman -S firefox-i18n-zh-cn

8.ArchLinux安装中的wifi连接

连接网络
准备工作
如果知道无线网卡接口名称和网络的SSID, 可以直接这么干:

wpa_supplicant -B -i interface -c <(wpa_passphrase MYSSID passphrase)
这里interface就是无线网卡接口的名称, MYSSID就是网络的SSID, passphrase就是网络的密码(什么? 你说你不知道? 那我也没办法啊).

在wpa_supplicant命令中, -B参数让它后台运行, -i参数指示接下来将提供接口名称, -c参数指示配置文件(这里从命令的输出中重定向). wpa_passphrase是用来生成一个简单的配置文件和(从密码中计算出来的)PSK的.

获取IP地址
直接这样:

dhcpcd interface
同样, interface是无线网卡接口的名称.

然而如果没经历过配置网络的痛苦, 恐怕没人会知道无线网卡接口的名称...

所以, 下面是准备工作:

查找无线网卡接口名称
这个名称将被几乎所有网络程序使用, 同时查找方法有些蛋疼...

就是这样做:

ip link
# iw dev # 另一种解决方案, 不过如果在装好系统以后要用的话要安装iw包
有可能需要启用接口(interface代表接口名称):

ip link set interface up
# 如果写down的话就是禁用(然而似乎并没有用)
搜索网络
准备工作
先随便写一个配置文件:

ctrl_interface=/run/wpa_supplicant
update_config=1
然后跑一下wpa_supplicant:

wpa_supplicant -B -i interface -c file
这里interface指上一步找到的无线网卡接口名称, file指刚才写的配置文件.

wpa_cli跑起来!

wpa_cli  # 对, 就这样...
接下来的工作将在wpa_cli中进行.

搜索
跑一下scan和scan_results命令:

scan
scan_results  # 不要忘记加's'
跑完scan要等一会, 等它输出完之后再跑scan_results, 不然可能得不到输出.

找到要连接的那个网络, 按Ctrl+D退出wpa_cli, 就可以连接网络了(就是上面那一段).

或者也可以直接在wpa_cli中连接网络.

在wpa_cli中连接网络
先添加网络

add_network
然后wpa_cli应该会输出一个0(应该表示网络在这里的id).

然后设置网络

set_network 0 ssid network_ssid  # 设置网络的ssid
set_network 0 psk passphrase  # 设置网络的密码
# set_network 0 key_mgmt NONE  # 如果网络没有密码, 就用这个
enable_network 0

其中network_ssid指要连接的网络的ssid, passphrase指网络的密码.

如果要保存配置文件(我至今没有成功过):

save_config

然后按Ctrl+D退出, 再获取IP地址(看上文)就可以了.

9.初始化配置

设置系统时间

timedatectl set-timezone Asia/Shanghai

timedatectl set-local-rtc false

升级更新你的系统到最新状态

sudo pacman -Syu  

安装Xfce
直接安装软件包组(包含了很多软件包)即可:

sudo pacman -S xfce4 xfce4-goodies

安装桌面管理器

sudo pacman -S sddm
sudo systemctl enable sddm
推荐阅读