我们办公机是Ubuntu系统;
记录下工作中经常使用的几个文件或命令或一些零碎的知识点: (该文档会持续更新)
查看系统信息:
uname -a
cat /etc/product-info
cat /etc/os-version
存放系统启停脚本
/etc/init.d/
存放源信息
/etc/apt/sources.list
apt日志信息,当你执行了一个apt命令后发现系统重启有问题,可以通过这个文件详细查找安装卸载了哪些包
/var/log/apt/history.log
/usr/local 该目录用于存放用户自行编译安装的软件或者第三方应用程序,区别于操作系统发行版自带的默认软件。
/usr/local/lib 和 /usr/lib,用途不同,举个例子:
如果python是系统自带的,那一般sudo pip安装目录会在/usr/lib/pythonX.X/site-packages目录;
如果python是自己安装的,那一般sudo pip安装目录会在/usr/local/lib/pythonX.X/site-packages目录;
如果pip安装时,未加sudo,则安装目录会在$HOME/.local/lib/pythonX.X/site-packages目录;
以上三个查找目录从下往上,建议pip安装不加sudo。
但是如果pip安装的包有命令行工具,那建议是加sudo安装(/usr/local/bin),否则命令会安装到$HOME/.local/bin目录,不是系统环境变量,就无法读取;
/usr/bin和/usr/sbin的区别:
/usr/bin存
放普通用户能使用的命令程序,如ls、cp;
/usr/sbin
存放只有超级用户能使用的命令程序,如iptables、fdisk;
从zero设备文件中写入一个文件,指定大小,用于测试时构造任意大小的文件;
dd if=/dev/zero of=xxx.txt bs=1M count=100M
deb包的安装命令:
apt 命令:
aptitude install xxx # 当安装包依赖不满足时,可以使用此命令解决依赖关系
apt policy xxx # 查看包的版本号
apt install xxx # 安装包
apt autoremove xxx # 卸载包,会自动清理不再需求的依赖包
apt remove xxx # 程序的配置文件、数据等都会保留;
apt purge xxx # 程序的配置文件会被删除,但是数据会保留,如果想彻底删除需要手动删除数据目录;
dpkg 命令:
dpkg -i xxx # 安装包
dpkg -r xxx # -remove , 卸载包
dpkg -P xxx # -purge,卸载包
dpkg -l xxx # 简明地列出软件包的状态。安装还是仅存配置?等信息
dpkg -L xxx # 列出属于指定软件包的文件。用来查这个包都存了哪些目录;
dpkg -s xxx # 显示指定软件包的详细状态。包名、架构、版本、依赖包等信息;
当应用闪退时需要提供coredump日志
sudo apt install systemd-coredump # 安装包
ulimit -c unlimited # 收集信息不限制字符数,否则默认ulimit -c 为0
coredumpctl list # 崩溃后执行此命令,查找崩溃的应用信息,包括PID
coredumpctl debug PID # 获取具体的进程崩溃日志即可
python有些三方包,考虑到系统依赖等问题,都是需要通过apt安装,但是如果用虚拟环境的话,就没办法在虚拟环境安装此类包,因为apt不分虚拟环境,所以就通过拷贝文件目录的方式到虚拟环境。
假如需要在python虚拟环境安装的包是python3-numpy;
apt download python3-numpy # 下载deb包
dpkg -x python3-numpy_1%3a1.16.2.3-1+dde+sign_amd64.deb python3-numpy # 将下载的包抽提到一个目录
cp ./python3-numpy/usr/lib/python3/dist-packages/* $虚拟环境/lib/python3/dist-packages # 将三方包复制到虚拟环境
设置sudo免密
sudo vi /etc/sudoers
将%sudo ALL=(ALL:ALL) ALL 改为 %sudo ALL=(ALL:ALL) NOPASSWD:ALL