Ubuntu 介绍

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

Ubuntu 使用介绍

开发公司

Canonical Ltd. 是 Ubuntu Linux 操作系统背后的公司,一家由南非企业家马克·沙特尔沃思(Mark Shuttleworth)创立的私营公司,其主要使命是推广和促进开源软件项目的发展。它通过向企业提供专业的开源软件支持和服务,确保开源技术能够在商业环境中可靠、安全地应用。

  • 核心产品与业务:
    • Ubuntu: Canonical 是最著名的 Linux 发行版 Ubuntu 的发行商和主要维护者。Ubuntu 被广泛应用于个人电脑桌面、服务器、云计算环境(它是大多数公有云环境中最流行的操作系统)、物联网(IoT)、自动驾驶以及机器人等领域。
    • 企业服务: 公司的主要商业模式是通过提供企业级支持、安全服务和咨询来盈利。他们为使用 Ubuntu 等开源软件的企业客户提供保障,包括安全更新、长期维护支持(LTS)和技术咨询服务。
  • 开源理念: Canonical 致力于提供可以自由获取、部署、维护和升级的开源软件。他们不区分商业版和社区版,而是将高质量的发行版免费提供给所有人,并通过服务来获得收入。
  • 全球布局:
    • Canonical 的总部设在英国伦敦
    • 它在全球各地设有办事处,包括波士顿、圣保罗、蒙特利尔、上海台北
    • 中国大陆,Canonical 设有子公司科能(上海)软件科技有限公司
  • 其他重要项目/平台:
    • Launchpad: 这是一个用于协作开发、缺陷跟踪和软件本地化的平台。
    • 云计算/容器技术: Canonical 积极参与和支持 OpenStack、Kubernetes(提供 MicroK8s 等轻量级解决方案)、LXD 等云和容器技术,为企业提供部署和管理云环境的工具和服务。

基础知识

  • 版本
    • 从 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

  • Fcitx 是一个轻量级输入方法框架,旨在为 Linux 提供独立的环境语言支持
    • 推荐使用 Fcitx5,不要使用 apt remove ibus
  • chrome 输入不了中文,可以回退版本,历史版本下载
  • 如何打出顿号
    • CTRL+.(CTRL+小数点) 切换全角和半角
  • 解决输入法无法输入中文中括号 ,修改文件,并重启输入法
$ sudo vim /usr/share/fcitx/data/punc.mb.zh_CN
[ 【
] 】

chrome 135 版本后无法输入中文

注销 ubuntu 登录输密码的时候右下角选择右下角选择 Ubuntu on Xorg 即可

初始化脚本

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

时显示 CPU、内存、网速

sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor -y
sudo apt-get update
sudo apt-get install indicator-sysmonitor

无人值守升级

apt install unattended-upgrades

unattended-upgrades --dry-run --debug

systemctl start unattended-upgrades

# 配置文件
$ cat /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Allowed-Origins {
      "${distro_id}:${distro_codename}";
      "${distro_id}:${distro_codename}-security";
      "${distro_id}:${distro_codename}-updates";
      "${distro_id}:${distro_codename}-proposed";
      "${distro_id}:${distro_codename}-backports";
};

Unattended-Upgrade::Package-Blacklist {
      "package-name-xx";
      "package-name-xxx";
};

密钥环解锁密码

去掉默认密钥环的密码方法,步骤如下:

  • 打开应用程序 -> 附件 -> 密码和加密密钥(或在终端中输入 seahorse
  • 切换到密码选项卡
  • 找到一个密码密钥环
  • 右键更改密码
  • 然后什么都不要填
  • 直接提交

关闭自动更新命令

# 关闭 Update-Package-Lists
sudo sed -i.bak 's/1/0/' /etc/apt/apt.conf.d/10periodic

# 关闭 unattended-upgrades
sudo sed -i.bak 's/1/0/' /etc/apt/apt.conf.d/20auto-upgrades

## 也可以通过以下命令选择 No
sudo dpkg-reconfigure unattended-upgrades

# 禁用 unattended-upgrades 服务
sudo systemctl stop unattended-upgrades
sudo systemctl disable unattended-upgrades

# 可选:移除 unattended-upgrades (sysin)
#sudo apt remove unattended-upgrades

禁用内核更新

sudo apt-mark hold linux-generic linux-image-generic linux-headers-generic
# 恢复内核更新
sudo apt-mark unhold linux-generic linux-image-generic linux-headers-generic

或在下面文件找到 Package-Blacklist 字段,加入如下内容
$ sudo vi /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Package-Blacklist {
  "linux-generic";
  "linux-image-generic";
  "linux-headers-generic";
};

安装

  • USB 启动盘制作
    • rufus
    • etcher Flash OS images to SD cards & USB drives, safely and easily

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

ubuntu 下 sudo 命令执行慢的解决办法

将 hostname 添加到 /etc/hosts 中

本文总阅读量 次 本站总访问量 次 本站总访客数
Home Archives Categories Tags Statistics