Ubuntu 介绍

发布时间: 更新时间: 总字数:1278 阅读时间:3m 作者: IP上海 分享 网址

Ubuntu 使用介绍

基础知识

  • 版本
    • 从 2004 年 10 月,每 6 个月发一个新版,命名格式为:Y.MM年.月
    • 普通版本 18 个月支持
    • 长期支持板 LTS(Long Term Support) 5 年支持,双年的 04 月发布的为长期支持版,如 22.04
      • 22.04 升级到 24.04 命令:sudo do-release-upgrade -d
    • iso 下载地址
      • 包括制作基础 docker 镜像的 tar 包
    • cloud-images
  • ubuntu 默认的 shdash,切换为 bash 命令:sudo dpkg-reconfigure dash 输入 no
    • 默认 dash 解析 bash if 语法报错:[: XXXX: unexpected operator,需要使用 dash 语法,如 bash 的 == 使用 = 替代
  • /etc/localtime 时区文件,源文件在 /usr/share/zoneinfo 目录下

版本

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.5 LTS
Release:	20.04
Codename:	focal

$ cat /etc/issue
Ubuntu 20.04.5 LTS \n \l

machine-id

参考

  • /var/lib/dbus/machine-id
  • /etc/machine-id
$ ls -lhart /etc/machine-id
-r--r--r-- 1 root root 33 Jan 13  2022 /etc/machine-id
$ ls -lhart /var/lib/dbus/machine-id
lrwxrwxrwx 1 root root 15 Jan 13  2022 /var/lib/dbus/machine-id -> /etc/machine-id
$ cat /etc/machine-id
62a45cd2213b47fe9d63b63df55297dd
  • 重新生成
rm -f /etc/machine-id /var/lib/dbus/machine-id
dbus-uuidgen --ensure=/etc/machine-id
dbus-uuidgen --ensure

Home 目录下中文目录为英文

  • 中文转英文
# 环境变量
export LANG=en_US

# 执行
xdg-user-dirs-gtk-update

# 弹出页面,点击update
  • 中文转英文
# 环境变量
export LANG=zh_CN.UTF-8

# 执行
xdg-user-dirs-gtk-update

# 弹出页面,点击保留旧的名称

命令行和图形桌面模式切换

  • Ctrl + Alt + (F1~F6中的任意一个) 进入命令行模式
  • Ctrl + Alt + F7 进入图形桌面模式

google pinyin

  • 如何打出顿号
    • CTRL+.(CTRL+小数点) 切换全角和半角
  • 解决输入法无法输入中文中括号 ,修改文件,并重启输入法
$ sudo vim /usr/share/fcitx/data/punc.mb.zh_CN
[ 【
] 】

初始化脚本

init.sh ...
# dns
sed 's/#DNS=/DNS=223.5.5.5 223.6.6.6/g' -i /etc/systemd/resolved.conf
systemctl restart systemd-resolved.service

# apt
sed 's/security.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' -i /etc/apt/sources.list.d/ubuntu.sources
sed 's/cn.archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' -i /etc/apt/sources.list.d/ubuntu.sources

apt update
apt install vim curl wget psmisc tree tcpdump lrzsz fping unzip screen htop btop iotop iftop git rsync gcc bash-completion make ca-certificates curl jq vim wget net-tools python-is-python3 -y

# time
apt install systemd-timesyncd -y
sed 's/#NTP=/NTP=ntp.aliyun.com/g' -i /etc/systemd/timesyncd.conf
systemctl restart systemd-timesyncd.service

# pip
apt install python3-full python3-pip python-is-python3 -y
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
mv /root/.config/pip/pip.conf /etc/

# ssh
sed 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' -i /etc/ssh/sshd_config
sed 's/#PasswordAuthentication yes/PasswordAuthentication yes/g' -i /etc/ssh/sshd_config
systemctl restart ssh.service

# disable upgrade
sudo systemctl stop apt-daily.service
sudo systemctl disable apt-daily.service
sudo systemctl stop apt-daily-upgrade.timer
sudo systemctl disable apt-daily-upgrade.timer

# ansible
# apt install python3-pip -y
pip3 install ansible --break-system-packages

# container
apt install docker.io docker-compose -y

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://ghihfm4j.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload

# clean
apt clean all
history -c

Gnome

  • GVFS 是 GNOME 桌面系统的虚拟文件系统,支持通过 SFTP、FTP、WebDAV、SMB 等访问远程数据,GVFS 包含两个部分:
    • GIO 作为 GLib 的一部分的新共享库,提供了 针对 GVFS 的 API
    • GVFS 本身是一个包含多种文件系统和协议(如 SFTP、FTP、DAV、SMB 和 ObexFTP)支持的后台软件包
  • GVFS 默认挂载点 /run/user/1000/gvfs

F&Q

Ubuntu 无法打开 terminal 之修复

Ubuntu 一般可以安装 XTerm、Konsole、Gnome-Terminal(即默认的 Terminal)等,通过 Ubuntu Software 安装 XTerm 即可进入 bash

重启 Gnome

  • 错误日志
Authentication is required to run gvfsd-admin daemon
  • 重启方式

alt + F2 在弹出框中输入 r 回车确定重启(该方法重启 Gnome 时当前窗口将消失,但正在运行的应用程序会继续运行)

docker 镜像

Ubuntu docker 镜像默认最小化安装(不包含 doc 等),使用如下命令解除该限制:

yes | unminimize

Syntax error: Bad for loop variable

Ubuntu 中使用 C 语言的for((i=1;i<10;i++)); do出现如下错误

  • 原因:Ubuntu 采用 dash shell
$ ls -lh /bin/sh
lrwxrwxrwx 1 root root 4 Jan 13  2022 /bin/sh -> dash
  • 解决方式一:切换为 bash shell
dpkg-reconfigure dash
  • 解决方式二:采用兼容式的 for
for i in `seq $num`; do
  echo $i
done

mlocate db 占用很多空间问题

  • 当系统文件很多时,/var/lib/mlocate/ 会占用很多空间
  • 解决方式

停止服务

sudo killall updatedb.mlocate

# 或
sudo kill -9 <PID>

停止每天自动更新 db

sudo chmod -x /etc/cron.daily/mlocate

# 或直接卸载
apt remove locate mlocate
yum remove mlocate

释放空间

rm -rf /var/lib/mlocate/*

可以通过配置文件 /etc/updatedb.conf 减少采集的文件数量

PRUNE_BIND_MOUNTS = "yes"  # 是否限制
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"  # 排除的文件系统类型
PRUNENAMES = ".git .hg .svn"  # 排除的文件夹
PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp /freeoa"  # 排除的路径
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数