• archlinux-pacdiff


    1. Pacnew_and_Pacsave
     1.1 查找.pac *文件
      1.1.1 要在/etc存储大多数全局配置的位置进行搜索:
      1.1.2 也可以使用locate
      1.1.3 使用pacman的日志查找它们:
     1.2 管理.pac*文件 pacdiff
     1.3 paddiff帮助
    2. pacman-contrib

    1. Pacnew_and_Pacsave

    https://wiki.archlinux.org/index.php/Pacman/Pacnew_and_Pacsave
    *.pacnew文件
    在软件包升级期间pacman -Syu (也有覆盖安装时pacman -S upacman -U), 为避免覆盖已存在的用户先前修改过的文件, 会创建一个.pacnew文件。发生这种情况时,pacman的输出中将显示以下消息:
      warning: /etc/pam.d/usermod installed as /etc/pam.d/usermod.pacnew
    *.pacsave文件
    当卸载一个软件包(pacman -R), 或者upgrade(必须先removed)一个软件包时, 会创建.pacsave文件. When the pacman database has a record that a certain file owned by the package should be backed up, it will create a .pacsave file. 生这种情况时,pacman的输出中将显示以下消息:
      warning: /etc/pam.d/usermod saved as /etc/pam.d/usermod.pacsave

    1.1 查找.pac *文件

    Pacman不会自动处理.pacnew文件:您必须自己维护这些文件。要发现是否已安装任何.pac *文件,请使用以下方法之一:

    1.1.1 要在/etc存储大多数全局配置的位置进行搜索:

    $ find /etc -regextype posix-extended -regex ".+.pac(new|save)" 2> /dev/null
    /etc/locale.gen.pacnew
    /etc/shadow.pacnew
    /etc/pacman.conf.pacnew
    /etc/security/limits.d/10-gcr.conf.pacnew
    /etc/default/grub.pacnew
    /etc/pacman.d/mirrorlist.pacnew
    /etc/nftables.conf.pacnew

    1.1.2 也可以使用locate

    $ sudo updatedb
    $ locate --existing --regex ".pac(new|save)$"
    /etc/locale.gen.pacnew
    /etc/nftables.conf.pacnew
    /etc/pacman.conf.pacnew
    /etc/shadow.pacnew
    /etc/default/grub.pacnew
    /etc/pacman.d/mirrorlist.pacnew
    /etc/security/limits.d/10-gcr.conf.pacnew

    1.1.3 使用pacman的日志查找它们:

    $ grep --extended-regexp ".pac(new|save)" /var/log/pacman.log
    ...
    [2020-06-25T04:58:54+0800] [ALPM] warning: /etc/pacman.d/mirrorlist installed as /etc/pacman.d/mirrorlist.pacnew

    1.2 管理.pac*文件 pacdiff

    pacman-contrib提供了用于管理 .pac *文件的简单 pacdiff工具。它将搜索所有 .pacnew和 .pacsave文件,并要求对它们进行任何操作。默认情况下,它使用 vimdiff,但您可以使用指定其他工具。有关其他常见的比较工具,请参见应用程序/实用程序列表#比较,差异,合并。 DIFFPROG=your_editor pacdiff
    https://wiki.archlinux.org/index.php/List_of_applications/Utilities#Comparison,_diff,_merge
    仅打印出待处理文件
    $ pacdiff -l -o
    /etc/locale.gen.pacnew
    /etc/nftables.conf.pacnew
    /etc/pacman.conf.pacnew
    /etc/shadow.pacnew
    /etc/default/grub.pacnew
    /etc/pacman.d/mirrorlist.pacnew
    /etc/security/limits.d/10-gcr.conf.pacnew
    使用meld作为合并程序处理/etc目录下的*.pac*文件
    $ sudo DIFFPROG=meld DIFFSEARCHPATH="/etc" pacdiff
    ==> pacnew file found for /etc/shadow
    :: (V)iew, (S)kip, (R)emove pacnew, (O)verwrite with pacnew, (Q)uit: [v/s/r/o/q] v
    r
    :: (V)iew, (S)kip, (R)emove pacnew, (O)verwrite with pacnew, (Q)uit: [v/s/r/o/q] removed '/etc/shadow.pacnew'
    ==> pacnew file found for /etc/security/limits.d/10-gcr.conf
    ...
    命令会逐个列出每一个待处理文件:
    输入(v) 回车, 查看差异:
      程序会自动打开meld对比软件, 这里可以手动逐条同步文件, 有时新的配置文件会由于软件的新功能添加新的属性项目, 这时候可以合并到在用的配置文件中,
      然后保存, 退出meld软件后. 进入下一步. (通过(v)打开meld软件查看差异, 不管是否修改保存, 退出后还是等待处理同一对文件.)

    • 如果已经手动合并保存了, 这个*.pac*文件就没用了, 可以使用(r) 回车, 删除该*.pac*文件. 然后开始处理下一对文件.
    • 如果在用的配置文件并没有什么自定义的修改, 可以使用(o) 回车, 使用*.pac*文件覆盖旧的配置文件. 然后开始处理下一对文件.
    • 或者使用(s) 回车, 跳过, 以后在说...

    1.3 paddiff帮助

    $ pacdiff --help A simple program to merge or remove pacnew/pacsave files. 合并或删除pacnew/pacsave文件的简单程序。
    pacdiff v1.3.0 Usage: pacdiff [-l | -f | -p] [--nocolor]  
    Search Options: select one (default: --pacmandb) 选择一个(默认值:-pacmandb)
    -l/--locate scan using locate 使用定位扫描
    -f/--find scan using find 使用查找扫描
    -p/--pacmandb scan active config files from pacman database 扫描pacman数据库中的活动配置文件
    General Options:    
    -o/--output print files instead of merging them 打印文件而不是合并文件
    --nocolor remove colors from output 从输出中删除颜色
    Environment Variables:    
    DIFFPROG override the merge program: (default: 'vim -d') 覆盖合并程序:(默认值:'vim -d')
    DIFFSEARCHPATH override the search path. (only when using find) (default: /etc) 覆盖搜索路径。 (仅在使用查找时)

    2. pacman-contrib

    pacman-contrib包含的命令:

    checkupdates 检测更新(-Sy)
    paccache 清理缓存($ sudo paccache -rk1)
    pacdiff 对比管理pac*配置文件($ pacdiff -l -o)
    paclist 按库repository列出包
    paclog-pkglist 列出所有安装包(pacman -Q)
    pacscripts 查看安装脚本
    pacsearch 搜索包(pacman -Ss)
    pacsort 实现alpm_pkg_vercmp的排序实用程序
    pactree 依赖树
    rankmirrors 通过连接和打开速度对pacman镜子进行排名。
    Pacman镜像文件位于/etc/pacman.d/中。
    如果提供了URL,它也可以排名一个镜像。
    updpkgsums  


    $ paclog-pkglist |wc -l
    779

    $ sudo paccache -rk1
    ==> finished: 16 packages removed (disk space saved: 230.82 MiB)
    $ sudo pacman -Sc
    Packages to keep:
      All locally installed packages
    Cache directory: /var/cache/pacman/pkg/
    :: Do you want to remove all other packages from cache? [Y/n] y
    removing old packages from cache...
    Database directory: /var/lib/pacman/
    :: Do you want to remove unused repositories? [Y/n] y
    removing unused sync repositories...

    $ paclog-pkglist |wc -l
    779
    
    $ sudo paccache -rk1
    ==> finished: 16 packages removed (disk space saved: 230.82 MiB)
    $ sudo pacman -Sc
    Packages to keep:
      All locally installed packages
    Cache directory: /var/cache/pacman/pkg/
    :: Do you want to remove all other packages from cache? [Y/n] y
    removing old packages from cache...
    Database directory: /var/lib/pacman/
    :: Do you want to remove unused repositories? [Y/n] y
    removing unused sync repositories...
    
    $ paclist community |wc -l
    104
    $ paclist core |wc -l
    175
    $ paclist extra |wc -l
    499
    
    $ pacscripts vlc
    ==> ERROR: Package vlc does not include any .INSTALL script
    $ pacscripts chromium
    post_upgrade() {
      if (($(vercmp $2 42.0.2311.90-1) < 0)); then
    ...
      fi
    }
    # vim:set ts=2 sw=2 et:
    
    $ checkupdates
    ca-certificates-mozilla 3.53.1-1 -> 3.54-1
    curl 7.70.0-1 -> 7.71.0-1
    gtk-update-icon-cache 1:3.24.20-1 -> 1:3.24.21-1
    gtk3 1:3.24.20-1 -> 1:3.24.21-1
    imagemagick 7.0.10.21-1 -> 7.0.10.22-1
    libfontenc 1.1.4-2 -> 1.1.4-3
    libglvnd 1.3.1-1 -> 1.3.2-1
    libwacom 1.3-1 -> 1.4-2
    nspr 4.25-1 -> 4.26-1
    nss 3.53.1-1 -> 3.54-1
    perl-http-message 6.24-2 -> 6.25-1
    unrar 1:5.9.3-2 -> 1:5.9.4-1
    
    $ sudo pacman -Syu
    :: Synchronizing package databases...
     core                                                     134.5 KiB   193 KiB/s 00:01 [#################################################] 100%
     extra                                                   1698.5 KiB   765 KiB/s 00:02 [#################################################] 100%
     community                                                  5.0 MiB  1190 KiB/s 00:04 [#################################################] 100%
    :: Starting full system upgrade...
    :: Replace intel-tbb with extra/tbb? [Y/n] y
    resolving dependencies...
    looking for conflicting packages...
    Package (16)                           Old Version     New Version     Net Change  Download Size
    core/ca-certificates-mozilla           3.53.1-1        3.54-1           -0.02 MiB       0.32 MiB
    core/curl                              7.70.0-1        7.71.0-1          0.02 MiB       1.01 MiB
    extra/gtk-update-icon-cache            1:3.24.20-1     1:3.24.21-1       0.00 MiB       0.01 MiB
    extra/gtk3                             1:3.24.20-1     1:3.24.21-1       0.19 MiB      11.24 MiB
    extra/imagemagick                      7.0.10.21-1     7.0.10.22-1       0.03 MiB       2.52 MiB
    intel-tbb                              2020.2-1                         -2.18 MiB               
    extra/tbb                                              2020.2-1          2.18 MiB       0.38 MiB
    extra/libfontenc                       1.1.4-2         1.1.4-3           0.00 MiB       0.02 MiB
    extra/libglvnd                         1.3.1-1         1.3.2-1           0.01 MiB       0.36 MiB
    extra/libwacom                         1.3-1           1.4-2            -0.01 MiB       0.09 MiB
    core/nspr                              4.25-1          4.26-1            0.00 MiB       0.20 MiB
    core/nss                               3.53.1-1        3.54-1            0.01 MiB       1.45 MiB
    extra/perl-http-message                6.24-2          6.25-1            0.00 MiB       0.07 MiB
    extra/unrar                            1:5.9.3-2       1:5.9.4-1         0.00 MiB       0.14 MiB
    extra/xorg-fonts-encodings                             1.0.5-2           0.61 MiB       0.55 MiB
    
    Total Download Size:    18.40 MiB
    Total Installed Size:  100.52 MiB
    Net Upgrade Size:        0.85 MiB
    :: Proceed with installation? [Y/n] 
    
    
  • 相关阅读:
    c#操作Excel时,抛出异常:“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”
    设计模式(二)(Factory method)工厂方法设计模式
    设计模式(一)Singlton
    oracle中merge的用法,以及各版本的区别 Create
    rowid去重(删除表的重复记录)
    Oracle 12C 新特性之 恢复表
    Oracle 12C 新特性之 sqlplus查看History命令
    Oracle 12C 新特性之 PDB热克隆(本地克隆、远端异机克隆)
    Oracle 12C 新特性之 db默认字符集AL32UTF8、PDB支持不同字符集
    Oracle 12C 新特性之表分区部分索引(Partial Indexes)
  • 原文地址:https://www.cnblogs.com/sztom/p/13215847.html
Copyright © 2020-2023  润新知