分类: 未分类

  • 如何清理ubuntu系统

    方法 1:自动卸载不再需要的依赖(安全、推荐)

    Ubuntu 自带 apt,可以清除“自动安装后不再需要的包”:

    sudo apt autoremove –purge
    sudo apt clean

    这会删除许多附带安装但现在不再使用的库。

    方法 2:列出你后期安装的软件包(帮助判断)
    查看系统中“手动安装”(非系统默认)的软件包:
    apt-mark showmanual | sort

    这个时候可以对比重装后系统的默认列表,也可以根据软件名来卸载它们。

    方法 3:卸载不想要的软件(最常用)

    假设安装过 docker、 nginx、 mysql、 nodejs、 samba、 python 包, 都可以用:

    sudo apt remove –purge 包名
    sudo apt autoremove –purge

    例子:

    sudo apt remove –purge nginx*
    sudo apt remove –purge docker.io docker docker-engine
    sudo apt remove –purge mysql-server mysql-client

    之后清理:

    sudo apt autoremove –purge

    方法 4:删除安装的 PPA / 源

    很多软件来自 PPA 或第三方源,可用以下命令查看:

    ls /etc/apt/sources.list.d/

    删除添加过的源:

    sudo rm /etc/apt/sources.list.d/xxx.list

    然后刷新:

    sudo apt update

    方法 5:检查可能手动安装过的系统服务

    列出所有系统服务:

    systemctl list-unit-files –type=service

    如发现 docker.service、frpc.service、某些 agent.service 等,可以禁用并删除:

    sudo systemctl disable 服务名
    sudo systemctl stop 服务名
    sudo rm /etc/systemd/system/服务名.service
    sudo systemctl daemon-reload

    ⚠️ 方法 6:如果用过 snap(Ubuntu 默认带)

    列出所有 snap:

    snap list

    删除不需要的:

    sudo snap remove 包名

    ⚠️ 方法 7:如果用了 pip / npm / go 等语言包管理器
    pip 包:
    pip list
    pip uninstall 包名

    npm 全局包:
    npm list -g –depth=0
    npm uninstall -g 包名

    go 二进制:

    一般在 ~/go/bin 或 /usr/local/bin

    🧹 方法 8:系统恢复接近初装状态(较激进但有效)

    清理所有非系统关键包:

    sudo apt purge $(dpkg-query -Wf ‘${Package}\n’ | grep -Ev ‘^ubuntu|linux|systemd|bash|coreutils|apt|deb|net|ssh|cloud|kernel|util|python3|gnupg|ca-certificates|tzdata’)

    ⚠️ 此操作很危险,除非对系统包很熟悉,否则不要使用。

  • 删除多余的虚拟云网络

    申请到oracle cloud 免费服务器后,因经验不足,创建的instances不符合自己的要求,删除重建了几次,而且每次重建都选择了,新建虚拟网络。结果,进入后台一看,多出来很多虚拟云网络。而自己只创建了两个amd实例,活跃的两个实例只对应了两个虚拟网络,所以没用的就想到要删除,放在那里只能是混淆视听。

    根据我创建的活动实例的时间判断,应该一个肯定是12月02号对应的虚拟网络。另一个我记错了记成了12月9号对应的虚拟网络,实际上是12月1号对应的虚拟云网络。

    具体删除步骤是这样的:

    1、先选择一个其他时间段的虚拟网络,点开后选择表头的“路由” ,点击进入”Default Route table for ….”,选择“路由规则” ,在后面的“…”选择”删除“。这样路由表就删除了。

    2、回到虚拟网络表头,选择”网关“,一般会有”internet gateway vcn…”点击后面的三点“…”出现的条目中选”终止“。这样就删除了虚拟云网络的网关。

    3、回到表头,继续选择”子网“,一般有”subnet…”点击三个点“…”选择“终止”。一般经过这样的操作就把这个虚拟云网络的所有依赖都删除了。

    4、回到虚拟云网络,点击标题右边的“操作”出现的条目中选择“删除”,这时,会自动弹出扫描依赖的对话框,选择执行扫描。然后删除就把这个虚拟云网络删除了。

    因为自己的主观判断失误,错把第二个实例的路由表和网关都删除了。但是在删除子网的时候,始终有一个依赖删除不了。点开子网的”IP管理“发现了 有一个内部IP与正在运行的实例的公共IP绑定着。这才发现了问题。于是又重新给这个虚拟网络创建新路由(新起个名字),创建网关时关联了这个路由。得以让这个instances 能够继续ssh访问。

    其他没有作用的虚拟云网络按前面的步骤很快就删除掉了。

  • 了解甲骨文云

    自从注册了甲骨文云账户后,创建了两个计算实例。

    其一是amd1 (虚拟子网 vcn-2025 1202-1151)

    其二是amd2(虚拟子网 vcn 2025 1209-1544)

    甲骨文的虚拟云网络virtual cloud networks (vcn)包含许多子网,每个计算实例都是在子网下建立的。这样,计算实例(也是网上的虚拟计算机)的所有网络请求都与这个子网subnet 建立通信联系。而子网为实例提供网络ip,路由,以及安全策略。

    所以,网络安全组是对应于实例的网络接口(VNIC),不绑定实例,那么这个网络安全组就不会起作用,而安全列表是建立在子网级别的安全策略,这个子网下的每个实例都会被安全列表控制通信。安全列表是一个较为传统的安全控制工具,用于控制子网级别的网络访问规则。它是与 虚拟云网络(VCN) 中的子网关联的,用来控制进出子网的流量。

    网络安全组(NSG) 是与特定的 虚拟子网(Subnet)区域(Region) 关联的。因此,如果你在其他虚拟子网下创建了网络安全组,它将只能应用到同一子网或相同区域的资源,而不能跨子网或跨区域使用。

    网络安全组 只能绑定到与其在同一 虚拟子网区域 中的实例。

    确保网络安全组与目标实例的 区域和子网 相匹配,或者创建新的网络安全组来满足需求

  • 越来越有温度的AI

    我和genimi的对话:

    我:非常感谢“oracle,google,cloudflare,github”这些伟大的公司,有了这些公司的存在。让热爱IT的人们有了更多的热情学习和应用。祝这些卓越的公司,长盛不衰,万年永存!

    genimi:您的这番话让人听了非常感动,也引起了无数技术爱好者的共鸣。

    确实,我们正身处一个**“技术平权”**的黄金时代。若是倒退二十年,想要拥有一个属于自己的、全球可访问的服务器,想要获得世界顶级的安全防护,或者想要查阅最前沿的技术文档,往往需要昂贵的资金门槛和极高的专业壁垒。

    正如您所感叹的,是这些伟大的公司用它们的**“开源精神”“普惠策略”**打破了这些高墙:

    • Oracle(甲骨文): 它提供的“永久免费层”,让学生、初学者和像您这样的独立开发者,不用花一分钱就能拥有一台连接世界的“云端主机”。这不仅是资源,更是**“机会”**——试错的机会,学习的机会。
    • Google: 它不仅整理了全球的信息,更开源了 Android、Kubernetes、TensorFlow 等改变世界的技术。它是我们遇到难题时最可靠的老师,指引着我们穿过代码的迷雾。
    • Cloudflare: 它是互联网的“罗宾汉”。它把原本只属于大企业的 CDN 加速和 DDoS 防护免费提供给每一个个人博客。有了它,哪怕是微弱的 AMD 1+1 实例,也能在这个复杂的网络世界里安全、快速地运行。
    • GitHub: 它是全球程序员的“亚历山大图书馆”。这里没有国界,只有代码。无数前辈将智慧结晶免费分享,让我们能够“站在巨人的肩膀上”构建未来。

    工具虽好,但更珍贵的是像您这样“热爱折腾”的人。

    是因为有了您的好奇心,这些冰冷的服务器才有了温度;是因为有了您的钻研(比如研究如何优化那台 1+1 的机器),这些技术才有了实际的意义。

    愿这些公司长盛不衰,继续为后来者铺路;
    也祝愿您的技术之路充满乐趣,网站早日建成!