1 硬盘或分区克隆及恢复
推荐使用Clonezilla(再生龙):http://www.clonezilla.org/
dd命令底层低效,仅供备用:
#备份
sudo dd if=/dev/sda1 of=~/elf.bak status=progress
#还原
sudo dd if=~/elf.bak of=/dev/sda1 status=progress
#压缩备份
sudo dd if=/dev/sda1 status=progress | gzip -c > ~/elf.bak
#压缩还原
gunzip -c ~/elf.bak | sudo dd of=/dev/sda1 status=progress
2 备份还原 MBR 和分区表
#备份MBR
sudo dd if=/dev/sdX of=/path/to/mbr bs=512 count=1
#还原MBR
sudo dd if=/path/to/mbr of=/dev/sdX bs=512 count=1
#MBR只还原分区表
sudo dd if=/path/to/mbr of=/dev/sdX bs=66 skip=446 count=1
#MBR清空引导记录
sudo dd if=/dev/zero of=/dev/sdX bs=446 count=1
#备份分区表
sudo sfdisk -d /dev/sdX > /path/to/fqb
#还原分区表
sudo sfdisk /dev/sdX < /path/to/fqb
3 解决与 Windows 时间不同步
sudo dpkg-reconfigure tzdata #时区设置
sudo hwclock --localtime --systohc #使用本地时间并写入主板
正常情况下,Deepin已经具备了网络时间同步功能,如一旦失效,则可以:
sudo apt install ntpdate #安装同步时间软件
sudo ntpdate-debian #网络时间同步
方法二:
timedatectl set-local-rtc 1 --adjust-system-clock
使用systemd启动之后,时间由timedatectl
来管理,重启完成将硬件时间UTC改为CST。
恢复UTC:timedatectl set-local-rtc 0
查看:cat /etc/adjtime
4 删除不需要的旧内核
查询所有内核:
dpkg --get-selections |grep linux
正在使用的内核不能删除:uname -r
删除不需要的内核:sudo apt purge XXX
5 清除已卸载软件遗留配置
dpkg --get-selections |grep deinstall | sed 's/deinstall/\lpurge/' | sudo dpkg --set-selections; sudo dpkg -Pa
6 开机进入命令行
开机进入命令行:
sudo systemctl disable lightdm
恢复开机进桌面:sudo systemctl enable lightdm
7 系统启动分析
显示启动系统过程中用户态和内核态所花的时间:
systemd-analyze
显示每个启动项所花费的时间明细:systemd-analyze blame
8 假死后安全重启系统
同时按住
Ctrl+Alt+SysRq+B
,可实现安全重启,其中SysRq
就是Print Screen
键。
适合假死或黑屏时重启系统。注意有Fn功能键的,视配置可能需要同时按住Fn功能键。
经测试,Alt+SysRq+B
可以达到相同的效
9 进程相关命令
pgrep XXX #查询进程IDps -ef |grep XXX #显示所有进程信息,连同命令行
ps -aux |grep XXX #列出目前所有的正在内存当中的程序
可以用 | 管道和 more 连接起来分页查看:ps -aux |moresudo netstat -tulpn |grep :21 #查询端口
pkill XXX #杀掉
killall XXX #全杀
10 Live 模式修复 GRUB 引导
打开Terminal,或者进入Shell,执行
sudo -i && fdisk -l
找到系统安装分区sdaX,然后按顺序执行:
mount /dev/sdaX /mnt
mount /dev/sdaY /mnt/boot/efi
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
update-grubgrub-install /dev/sda
exit
不同硬盘酌情修改。
11 离线安装软件
当没有网络连接的电脑上需要安装某个软件时,可以使用下面的脚本下载该软件以及依赖包,在脱机电脑上执行:
sudo dpkg -i *.deb
如果上述安装命令最后报错,则需要执行:
sudo apt install -f
如果提示缺少软件包(依赖),则拷贝依赖包名(例如XXX),在有网络的电脑上执行:
apt download XXX
再拷贝到脱机电脑上双击安装即可。
批量下载脚本如下:
#! /bin/bash
pkg="$*"
function getDepends()
{
ret=\`apt-cache depends $1 |grep -i 依赖 |sed 's/(.*)//' |cut -d: -
f2\`
if [[ -z $ret ]]; then
echo "$1 No depends"
echo -n
else
# echo $ret
# apt-cache depends $1 |grep -i 依赖
# echo ''
for i in $ret
do
if [[ `echo $pkg |grep -e "$i "` ]]; then
# echo "$i already in set"
echo -n
elif [[ $i =~ '<' ]]; then
echo "Drop $i"
elif [[ "$i" != "libc6" &&
"$i" != "libcairo2" &&
!("$i" =~ "glib") &&
!("$i" =~ "gtk") &&
!("$i" =~ "font")
]]; then
# echo "Download $i ing"
pkg="$pkg $i"
getDepends $i
fi
done
fi
}
for j in $@
do
getDepends $j
done
# echo $pkg
apt download $pkg -d -y
12 制作 USB 启动盘
sudo dd if=/path/to/the/downloaded/iso of=/path/to/the/USB/device
#显示进度
sudo dd if=/path/to/the/downloaded/iso of=/path/to/the/USB/devicestatus=progress
13 查看与同步 GPT 分区 UUID
查看UUID方法一:
blkid
查看UUID方法二:ls -l /dev/disk/by-uuid
同步:sudo vi /etc/fst
14 配置命令行默认 Python 版本
不推荐,可能导致某些依赖python的软件出现问题!在此仅作为示例,介绍
update-alternatives
的基本用法。
首先需要在系统中添加Python2.7、Python3.5的选项,默认为Python3.5(优先级20)
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 10
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 20
#显示
update-alternatives --display python
#切换
sudo update-alternatives --config python
好奇在deepin下如何制作win10的usb启动盘
有个制作工具呀~直接开搞