18.04 或更高版本的测试版中是否有结合 apt update && apt upgrade 的新命令?

18.04 或更高版本的测试版中是否有结合 apt update && apt upgrade 的新命令?

apt update && apt upgrade 如果我没错的话,在 18.04 或更高版本的测试版中有一个新的统一命令,带有一些参数-u-d

我是对的吗,或者有类似的东西吗?

答案1

在终端中使用命令设置alias您新定义的命令,例如:

alias update='sudo apt-get update && sudo apt-get dist-upgrade'

然后,您就有了新的命令“更新”,当在终端中输入“更新”时,您就可以向后靠。

答案2

这是一个待处理的功能请求(LP#1709603),据我所知,目前还没有对其进行任何开发活动(Ubuntu也不Debian)。


但是,有一个已实现的功能,即在使用 添加 PPA 时自动运行更新add-apt-repository(以及相关选项,这些选项已发生变化,因为这种行为现在是默认行为)。

答案3

不幸的是,我怀疑这种改变是否会被包括在内,但你可以做一些与其他答案类似的事情 - 到目前为止,加上一些额外的细节。

脚本位于/usr/local/bin/update

这具有以下其他答案迄今为止所不具备的好处:

  • sudo apt-get update这完全避免了如果需要一段时间,可能会再次要求您输入密码的问题sudo apt-get upgrade,因此您在午休后回来期待升级的软件包,现在您必须等待一段时间才能下载并安装它们。
  • 这让您知道是否需要重新启动(例如,如果您获得了新的内核)。
  • 这适用于所有sudo用户,而不仅仅是您。
  • 这可以执行比仅仅更多的与包升级相关的任务sudo apt update && sudo apt upgrade,例如在某些系统上升级 BIOS 和升级快照。

不久前在其他地方发布过,因此我将把它包括在这里。

  1. 打开终端(按Ctrl+ Alt+ T)并运行:

    sudo touch /usr/local/bin/update
    sudo chmod 0755 /usr/local/bin/update
    sudo nano /usr/local/bin/update
    
  2. 将以下内容粘贴到终端:

    #!/bin/bash
    
    if [ "$( /usr/bin/id -u )" -ne "0" ] ; then
     echo 'Please run using sudo.'
     exit 1
    fi
    set +e
    /bin/rm -f /var/cache/app-info/xmls/fwupd.xml
    /usr/bin/snap refresh
    /usr/bin/apt update
    /usr/bin/appstreamcli refresh --force
    /usr/bin/apt-file update
    /usr/bin/apt full-upgrade -y
    /usr/bin/apt autoremove --purge -y
    /usr/bin/apt clean
    /usr/bin/fwupdmgr refresh
    /usr/bin/fwupdmgr update
    /usr/bin/updatedb
    /sbin/fstrim --all
    /usr/lib/update-notifier/update-motd-reboot-required
    
  3. 阅读以下部分,了解您可能想要更改的内容. 进行任何您想进行的更改。

  4. Ctrl+O保存文件。这是字母 O,而不是零。
  5. 按下Enter接受文件名。
  6. Ctrl+X退出nano

现在你可以使用以下命令运行它:

sudo update

你可能想要改变的事情

您可以随意自定义其中您不喜欢的任何内容。您甚至可以向其中添加新命令来执行与升级相关的其他日常任务。

请注意,这使用apt full-upgrade而不是apt upgrade可以删除软件包. 它还使用apt autoremove --purge 删除软件包据称不再需要(例如任何比最新两个更旧的内核)以及它们的配置文件

sudo还要注意,由于我们使用 运行整个脚本,所以不需要任何行sudo,因此将其省略。

这些命令的作用如下:

  • sudo需要使用(if-块)运行脚本fi
  • 即使一个命令出现错误,也继续执行其他命令(set +e)。
  • 删除固件(G.,BIOS)更新元数据,因为它给了我 AppStream 错误(我们在下面下载了最新的,所以这并不像最初看起来那么成问题)。
  • 更新您的快照更新至最新版本。
  • 更新 APT 包信息。
  • 更新应用流元數。
  • 更新apt-file的元数据。apt-file list package-name是找出包安装了哪些文件的好方法(或者,dpkg -S /path/to/file是找出文件属于哪个包的好方法)。
  • 是否进行 APT full-upgrade
  • 删除新不需要的包及其配置文件。
  • 删除所有已下载并遗留的 APT 包文件。
  • 更新固件更新元数据。
  • 安装任何新的固件更新。
  • 使用上述所有更新之后存在的文件名来更新locate命令(一种快速查找外部文件的方法)的数据库。/home
  • 对所有 SSD 进行 TRIM。TRIM 会通知 SSD 本身不再使用的磁盘空间(G.,即被删除文件使用的空间)。这有助于它更好地进行磨损均衡。
  • 如果需要重新启动,则显示需要重新启动通知(G.,安装新内核后)。

答案4

我经常用于用户特定脚本的另一个选项是:

cd 
mkdir bin
cd bin
nano up

基本上,您正在创建一个 bin 文件夹,bash 会在每个用户中查找该文件夹,并在您重新启动时刷新该文件夹。您所需要的只是一个简单的更新脚本,就像您所说的那样:

#!/bin/bash
echo "System Upgrade Commencing!"
sudo apt update
sudo apt upgrade
echo "System Upgrade Complete!"

CTRL+X、Y、ENTER

up

瞧瞧。简单的更新和升级脚本。我个人在脚本中添加了很多自动化功能,例如“sudo apt upgrade -y”、uptime、date 和其他升级后工具“sudo apt autoremove”、“sudo apt autoclean”等。如果您想查询 DPKG 是否存在可能的错误、检查硬盘是否存在故障或列出机器上当前正在运行的进程,您还可以通过检查未正确安装的软件包来增加一些复杂性。脚本是一个充满冒险和欢乐的自由世界,祝您好运,玩得开心。

相关内容