在一个全新安装的Ubuntu 22.04 LTS上,每次使用apt安装或更新软件包时,会出现一个 Daemons using outdated libraries 弹窗,Which service should be restarted ? 大概是下面这个样子:
这是Ubuntu 22.04中的新功能。它是由 needrestart 命令带来的新特性,needrestart 现在是Ubuntu中apt-get升级过程的一部分。默认情况下,此设置为 “interactive” (交互式)模式,会导致脚本中断
修改这个模式配置,我们编辑 /etc/needrestart/needrestart.conf 文件,找到下面的这行:
123456# Restart mode: (l)ist only, (i)nteractive or (a)utomatically.## ATTENTION: If needrestart is configured to run in interactive mode but is run# non-interactive (i.e. unattended- ...
包管理工具总类
编程语言
管理工具
python
pip
node.js
npm
java
maven/gradle
共同点和不同点pip、Naven、npm 都是包管理工具,但它们分别属于不同的编程语言或平台。
pip:是 Python 的包管理工具,用于安装和管理 Python 包。Python 是一种广泛使用的高级编程语言,适用于多种应用场景,包括网站开发、数据分析、人工智能等。
Maven:是一个主要用于 Java 项目的构建、依赖管理和项目信息管理的工具。Java 是一种广泛使用的面向对象的编程语言,特别适用于企业级应用。
npm:是 Node Package Manager 的缩写,是 Node.js 的包管理工具。Node.js 是一个能够在服务器端运行 JavaScript 的平台,适用于构建大型网络应用,特别是实时、高并发的应用。共同点:
依赖管理:这三个工具都提供了依赖管理的功能,允许开发者轻松地管理项目所需的库和模块。
社区支持:它们都有庞大的社区支持,提供了大量的包和库供开发者使用。
版本控制:它们都能够处理包的不同版本,允 ...
UDP/TCP通信UDP(User Datagram Protocol):
连接性: UDP是一种面向无连接的协议。发送端只是把数据包发送到网络上,而不考虑目标是否存在或是否准备好接收数据。
可靠性: UDP不提供数据包的可靠交付。数据包被发送出去,但发送端不会对是否被接收到或接收顺序进行确认。因此,UDP更适用于一些实时性要求高、对数据可靠性要求相对较低的应用,如实时视频、音频传输。
开销: 由于不需要建立连接,UDP的开销相对较小,传输速度更快。
流式传输: UDP不支持流式传输,每个数据包都是独立的。
TCP(Transmission Control Protocol):
连接性: TCP是一种面向连接的协议。在数据传输之前,需要先建立连接,然后再进行数据传输,最后释放连接。
可靠性: TCP提供可靠的数据传输。它保证数据的顺序和可靠性,通过使用确认机制和重传机制来确保数据的正确性。
开销: 由于需要建立连接、进行确认和重传机制,TCP的开销相对较大,传输速度相对较慢。
流式传输: TCP是面向流的,数据是以流的形式传输的,而不是分割成独立的数据包。
HTTP协议w ...
Server
未读命令行下巧妙解压7z分卷今天下载了一些压缩文件,都是7z的压缩文件,文件名大概为:
file.7z.001file.7z.002file.7z.003
在使用7z命令无果后,甚是无奈。。。
新方法:
1copy /b file.7z.00* file.7z
这条命令是合并各个7z的分卷,合并完成后file.7z可以成功解压(使用winrar或者winzip或者7z命令行均可)。
什么是多态?多态(Polymorphism)即同一操作作用于不同的对象,可以有不同的解释,产生不同的结果。
多态的分类多态一般分为两种:
重载式多态
重载式多态,也叫编译时多态。也就是说这种多态在编译时已经确定好了。方法名相同而参数列表不同的一组方法就是重载。在调用这种重载的方法时,通过传入不同的参数最后得到不同的结果。
重写式多态
重写式多态,也叫运行时多态。这种多态通过动态绑定(dynamic binding)技术来实现,是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。也就是说,只有程序运行起来,你才知道调用的是哪个子类的方法。这种多态通过函数的重写以及向上转型来实现。
多态实现的必要条件
继承或实现接口
在多态中必须存在有继承关系的子类和父类或者接口及其实现类
重写
子类对父类中某些方法进行重新定义,再调用这些方法时就会调用子类的方法
向上转型
父类引用指向子类对象叫做向上转型。
向上转型与向下转型向上转型,上面已经说了。向下转型是子类引用指向父类对象(父类型,实例是子类的实例化),通常需要进行强制类型转换。
案例1234567 ...
前言先致谢🙏安知鱼,好好看的主题
之所以要把安知鱼主题作为子模块,是因为推送到github上面时发现不会推送安知鱼主题上去,不方便换环境,除非把主题配置文件(_config.anzhiyu.yml)放到根目录, 并且不魔改主题的情况下,就可用管
把主题当做子模块可以方便更新主题
有关父子模块介绍请看:父子模块密码样式的文本:这里没有验证码
在安装主题时创建子模块在hexo根目录下执行
1git submodule add https://github.com/anzhiyu-c/hexo-theme-anzhiyu.git themes/anzhiyu
魔改主题、commit、push如果主题里的文件发生变化,这是子模块的区域,所有的git操作应在子模块中运行
删除主题子模块如果不再需要子模块,您可以:
删除子模块目录:12git rm --cached themes/anzhiyurm -rf themes/anzhiyu
编辑 .gitmodules 文件,删除与子模块相关的条目。
编辑 .git/config 文件,删除与子模块相关的部分。
提交更改:12git commi ...
123456789101112131415161718192021mount挂载命令使用方法mount –t 类型 –o 挂接方式 磁盘分区目录 挂载位置目录-t 详细选项光盘或光盘镜像: iso9660DOS fat16文件系统: msdosWindows 9x fat32文件系统: vfatWindows NT ntfs文件系统: ntfsMount Windows文件网络共享: smbfs(需内核支持)推荐cifsUNIX(LINUX)文件网络共享: nfs自动: auto-o 详细选项loop:用来把一个文件当成硬盘分区挂接上系统ro:采用只读方式挂接设备rw:采用读写方式挂接设备(ubuntu系统)默认不支持exfat格式的U盘,只需要运行如下的命令:sudo apt-get install exfat-utils
使用cifs-utils1sudo apt install cifs-utils
将nas挂载在/mnt/nas下
1cd /mnt && sudo mkdir nas
执行挂载操作
1sudo mount -t cifs -o uid= ...
移动光猫HG6145D/D1
0.先尝试 CMCCAdmin aDm8H%MdA Cmcc10086# 能否直接登录进去,较早版本的HG6145D大部分都能直接登录。不行的话再继续试下面的1、获取光猫MAC:打开cmd,arp -a 192.168.1.1,查看光猫MAC地址,如aa-bb-cc-dd-ee-ff,必须和光猫一个网段2、开启光猫telnet:http://192.168.1.1/cgi-bin/telnetenable.cgi?telnetenable=1&key=AABBCCDDEEFF 此处填写上面的mac,注意全大写,随后网页提示 telnet启用成功3、准备一个带telnet功能的软件如Xshell等,或者启用windows自带的telnet客户端4、登录telnet:telnet用户名 admin 密码 Fh@DDEEFF 此处填写MAC的后6位,注意全大写,登录成功后出现#号5、进入工厂模式:load_cli factory6、显示管理员密码:show admin_pwd7、登录管理员帐号:http://192.168.1.1/
...
Git 子模块是什么?Git 子模块允许您将一个 Git 仓库(子模块)嵌入到另一个 Git 仓库(父仓库)中。这样,您可以在保持独立版本控制的同时,方便地在多个项目中共享代码。
如何添加子模块?
打开终端。
导航到父仓库的根目录:1cd /path/to/parent-repository
使用 git submodule add 命令添加子模块:1git submodule add <子模块仓库URL> <本地路径>
例如:1git submodule add https://github.com/username/child-repo.git child-repo
这会在父仓库的 child-repo 目录下添加子模块。
父仓库中的子模块变更
当您添加子模块时,Git 会记录子模块的当前提交哈希。
当您在子模块中做出更改时,需要先在子模块目录中提交这些更改:1234cd child-repogit add .git commit -m "子模块的更改"git push
然后,回到父仓库,提交子模块的变更:1234cd ..git ad ...
本地修改未commit回滚
rollback变更文件
暂存区取消也是可以的
delete删除文件
本地commit未push1、放弃所有未跟踪和未暂存的更改:
123git checkout . # 放弃所有未暂存的更改git add . # 添加所有文件到暂存区
2、放弃所有更改(包括暂存区的更改):
1git reset --hard HEAD~1
这个命令会放弃所有未提交的更改,将你的工作目录和暂存区重置到上次提交的状态。
3、放弃特定文件的更改: 如果你只想要放弃特定文件的更改,可以使用以下命令:
12复制git checkout -- <file>
将 file 替换为你想要放弃更改的文件名。这个命令会放弃该文件的未暂存更改。
本地已经commit,但是还未push
undo commit回滚最新/最后的commi在vscode中,可以在git-COMMITS,看到最新的commit,点击向左箭头就可以取消提交。
drop commit回滚任意一次commit,不留任何痕迹revert commit回滚任意一次commit,会留下记录
1、使用 ...