Tag: Linux

  • 在Ubuntu上解决nvidia-smi未找到命令的问题

    在Ubuntu上解决nvidia-smi未找到命令的问题

    如果你在Ubuntu上遇到了nvidia-smi命令未找到的问题,那么你可能需要重新安装NVIDIA驱动或者进行一些额外的配置。本教程将指导你解决这个问题,确保你能够成功使用nvidia-smi命令。

    起因

    首先,让我们了解一下为什么会出现nvidia-smi未找到命令的问题。通常情况下,这个命令是NVIDIA GPU驱动程序的一部分,用于查看GPU的状态和性能。但有时,它可能会出现在系统中找不到的情况,这可能是由于以下原因导致的:

    1. NVIDIA驱动未安装或损坏:如果你的系统上没有正确安装NVIDIA驱动,nvidia-smi命令将无法正常工作。

    2. 环境变量未设置:有时,nvidia-smi命令的路径未添加到系统的环境变量中,导致系统无法找到该命令。

    3. 驱动版本不匹配:如果你的系统上安装了不兼容的NVIDIA驱动版本,nvidia-smi命令可能会出现问题。

    现在,让我们一步步解决这个问题。

    解决方法

    1. 安装NVIDIA驱动

    首先,确保你的系统上已经正确安装了NVIDIA驱动。你可以通过以下命令来检查驱动的安装情况:

    nvidia-smi

    如果你看到了一个错误信息,说明驱动未正确安装。你可以使用以下命令来安装NVIDIA驱动:

    sudo apt-get update
    sudo apt-get install nvidia-driver

    这将安装最新版本的NVIDIA驱动。安装完成后,重新启动你的系统。

    2. 配置环境变量

    如果你的系统上已经安装了NVIDIA驱动,但仍然无法找到nvidia-smi命令,可能是因为它的路径没有添加到系统的环境变量中。你可以手动将路径添加到环境变量中,或者使用以下命令来检查路径并添加:

    echo 'export PATH=$PATH:/usr/bin/nvidia-smi' >> ~/.bashrc
    source ~/.bashrc

    这将把nvidia-smi的路径添加到你的.bashrc文件中,并立即生效。现在,你应该能够正常运行nvidia-smi命令了。

    3. 检查驱动版本

    有时,nvidia-smi命令会出现问题,因为安装的NVIDIA驱动版本与你的GPU不兼容。你可以使用以下命令来查看已安装的NVIDIA驱动版本:

    nvidia-smi --query-gpu=driver_version --format=csv,noheader

    然后,前往NVIDIA官方网站,查找与你的GPU型号兼容的驱动版本,并按照官方指南进行安装。

    总结

    通过按照上述步骤检查NVIDIA驱动的安装情况、配置环境变量以及检查驱动版本,你应该能够解决nvidia-smi未找到命令的问题,并正常使用它来监视你的GPU状态和性能。

  • 使用树莓派在ZeroTier和本地网络之间创建桥接

    使用树莓派在ZeroTier和本地网络之间创建桥接

    你是否有一些家中的设备无法运行ZeroTier?你是否想要远程访问这些设备?你是否已经在使用ZeroTier?你可以使用一台小型Linux PC作为ZeroTier虚拟网络和物理网络之间的桥接设备。

    假设和要求

    在开始之前,请确保满足以下假设和要求:

    • 你正在在家庭网络上进行操作,并可以登录到你的路由器并找到DHCP设置。
    • 你有一个键盘、显示器和以太网电缆连接到你的树莓派。因为在配置过程中可能会破坏网络,导致无法远程连接,所以这些物理设备很重要。
    • 你对命令行和SSH有一定的了解。
    • 本教程将使用systemd networking。如果你对systemd有异议,你可能需要自行适应不同的Linux网络配置系统。
    • 我们在编写本文时使用的是树莓派2,但树莓派3或4也应该可以正常工作。任何运行基于Debian 10的发行版的设备都应该可以正常工作。不一定非要使用树莓派,但某些指令可能特定于Raspbian系统。

    准备信息

    在开始之前,请准备以下信息以在配置过程中使用:

    • 物理LAN子网
    • 物理LAN DHCP范围
    • ZeroTier自动分配范围
    • 默认网关IP地址(路由器)
    • 桥接IP地址(将静态分配)
    • 创建一个新的ZeroTier网络并获取其ID。保留旧网络以作为连接已使用ZeroTier的设备的备用方法。
    • DHCP范围和ZeroTier自动分配范围应该位于相同的子网中,但不重叠。你可能会基于已在你的路由器上配置的内容进行设置。

    以下是一个示例计划:

    • 物理LAN子网:192.168.192.0/24
    • 物理LAN DHCP范围:192.168.192.65到192.168.192.126
    • ZeroTier自动分配范围:192.168.192.129到192.168.192.190
    • 默认网关IP地址:192.168.192.1
    • 桥接IP地址:192.168.192.2/24(或使用DHCP)
    • ZeroTier网络ID:d5e04297a19bbd70

    步骤

    步骤1:使你的桥接设备运行起来

    首先,确保你的树莓派设备已经启动并运行。按照以下步骤进行操作:

    1. 遵循树莓派的安装指南,下载并安装操作系统。你可以使用以下版本:Raspbian Buster Lite。

    2. 启用SSH以便远程登录到树莓派,详细说明请参考这里。

    3. 使用SSH连接到树莓派,例如:

      ssh [email protected]

      或者

      ssh pi@<树莓派的IP地址>
    4. 更新操作系统:

      sudo apt update && sudo apt -y full-upgrade && sudo reboot
    5. 在重启后重新登录。

    步骤2:安装ZeroTier

    接下来,安装ZeroTier。请遵循Linux系统的安装指南,具体指南请参考这里。基本上,你可以运行以下命令:

    curl -s https://install.zerotier.com | sudo bash

    在安装完成后,设置一些shell变量以在后续配置中使用:

    NETWORK_ID=<你的网络ID>
    BR_IF="br0"
    BR_ADDR=<你的桥接地址>
    GW_ADDR=<你的网关地址>

    然后,加入ZeroTier网络:

    sudo zerotier-cli join $NETWORK_ID
    sudo zerotier-cli listnetworks

    我们不希望ZeroTier在$ZT_IF上管理地址或路由,我们会在下面的步骤中手动进行配置。

    sudo zerotier-cli set $NETWORK_ID allowManaged=0

    再设置一个变量,用于存储ZeroTier网络接口的名称,你可以从listnetworks输出中找到它,它通常会类似于:zt3jvirser。

    ZT_IF=<你的ZeroTier接口名称>

    步骤3:在my.zerotier.com上配置设备

    前往my.zerotier.com,找到你的ZeroTier网络($NETWORK_ID),然后在“Members”部分添加你的设备。打开高级设置的扳手图标,并选中以下选项:

    • 允许桥接
    • 不自动分配
    • 授权成员

    步骤4:切换到systemd networking

    现在,我们将切换到systemd networking。首先,删除已有的网络配置:

    sudo apt remove --purge --auto-remove dhcpcd5 fake-hwclock ifupdown isc-dhcp-client isc-dhcp-common openresolv

    然后,启用systemd-networkd:

    sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf;
    sudo systemctl enable systemd-networkd;
    sudo systemctl enable systemd-resolved;
    sudo systemctl enable systemd-timesyncd;

    接下来,配置网络接口。我们将在下面的步骤中创建网络配置文件。以下是示例配置文件:

    cat << EOF | sudo tee /etc/systemd/network/25-bridge-br0.network
    [Match]
    Name=$BR_IF
    
    [Network]
    Address=$BR_ADDR
    Gateway=$GW_ADDR
    DNS=1.1.1.1
    EOF
    
    cat << EOF | sudo tee /etc/systemd/network/br0.netdev
    [NetDev]
    Name=$BR_IF
    Kind=bridge
    EOF
    
    cat << EOF | sudo tee /etc/systemd/network/25-bridge-br0-zt.network
    [Match]
    Name=$ZT_IF
    
    [Network]
    Bridge=$BR_IF
    EOF
    
    cat << EOF | sudo tee /etc/systemd/network/25-bridge-br0-en.network   
    [Match]
    Name=eth0 # 可能是en*
    
    [Network]
    Bridge=$BR_IF
    EOF

    完成配置后,请检查网络配置文件:

    tail -n+0 /etc/systemd/network/*

    如果需要,使用你喜欢的文本编辑器编辑这些文件。如果一切看起来正常,重新启动树莓派以应用配置:

    sudo reboot

    你现在应该能够从物理LAN连接到树莓派,使用$BR_ADDR作为目标地址。

    如果在启动过程中等待网络连接时间较长,有时物理接口可能会出现长的“可预测接口名称”,例如“enb827eb0d4176”,有时只是“eth0”,这取决于Raspbian版本。如果出现这种情况,请连接键盘和显示器,并检查/etc/systemd/network/25-bridge-br0-en.network以匹配接口名称。

    步骤5:配置ZeroTier网络

    前往my.zerotier.com/network/$NETWORK_ID,然后在“设置” -> “Advanced”中进行以下配置:

    • 删除默认的Managed Route,添加新的Managed Route $ZT_ROUTE
    • 将IPv4自动分配更改为Advanced,
    • 删除现有的Pool,创建新的Pool,其范围从$ZT_POOL开始和结束。

    为了文档记录,将$BR_ADDR分配给ZeroTier桥接成员。

    结论

    至此,你已经成功创建了一个树莓派桥接设备,用于将ZeroTier虚拟网络和物理网络连接起来。你可以从物理LAN连接到树莓派,并通过它访问ZeroTier网络中的设备。

    如果一切正常,你应该能够在一分钟后通过$BR_ADDR重新使用SSH连接到树莓派。如果有任何问题,树莓派不再在网络上,你需要使用键盘和显示器来查找问题。

    希望这个教程能够帮助你成功创建一个ZeroTier和本地网络之间的桥接,以便更轻松地管理和访问你的设备。

  • 在ZeroTier和物理网络之间进行路由设置

    在ZeroTier和物理网络之间进行路由设置

    在网络管理中,有时需要在ZeroTier虚拟网络和物理网络之间进行路由设置,以便实现远程访问你的局域网(LAN)。本教程将介绍一种简单的模式,可以帮助你实现这一目标,而不需要访问LAN的路由器或遇到桥接的一些问题。这个模式需要在你的LAN上运行Linux PC或虚拟机,以及运行iptables的设备,如树莓派。本教程将指导你进行NAT/Masquerade设置,以便在ZeroTier和物理网络之间进行路由。

    请注意,如果你的路由器支持运行ZeroTier,那么最好使用路由器厂商提供的ZeroTier包,而不是使用本文的方法。许多路由器厂商和操作系统都提供了ZeroTier包。

    可能的缺点

    在使用这种方法时,可能会遇到一些限制,包括:

    • 不能在不同网络之间进行广播/多播(但移动操作系统通常也不允许这样做)。
    • 不能从LAN主动连接到外部ZeroTier客户端。

    摘要

    下面是在ZeroTier和物理网络之间进行路由设置的摘要步骤:

    1. 安装ZeroTier。
    2. 添加管理路由到ZeroTier网络(在my.zerotier.com上进行)。
    3. 启用IP转发。
    4. 配置iptables。

    所需信息

    在开始之前,请收集以下所需信息,以便在配置过程中使用:

    • ZeroTier网络ID($NETWORK_ID)
    • ZeroTier接口名称($ZT_IFACE)
    • 物理接口名称($PHY_IFACE)
    • ZeroTier子网
    • 物理子网($PHY_SUB)
    • ZeroTier路由器的IP地址($ZT_ADDR)

    步骤

    步骤1:安装ZeroTier

    首先,安装ZeroTier。你可以从ZeroTier的官方网站下载安装程序并进行安装。安装完成后,运行以下命令以加入ZeroTier网络,并在my.zerotier.com上进行授权:

    sudo zerotier-cli join $NETWORK_ID
    sudo zerotier-cli listnetworks 

    步骤2:配置ZeroTier管理路由

    登录到my.zerotier.com,找到你的ZeroTier网络($NETWORK_ID),然后在“设置”中添加管理路由。管理路由会自动添加到所有加入该ZeroTier网络的设备上。配置管理路由时,请确保目标设置如下:

    • 目标:$PHY_SUB
    • 通过:$ZT_ADDR

    例如:

    • 目标:192.168.100.0/23
    • 通过:172.27.0.1

    请注意,目标路由应设置为略大于实际物理子网的范围,以便既在物理网络上又在ZeroTier网络上的设备优先选择物理连接。

    步骤3:启用IP转发

    启用IP转发的方法可能因Linux发行版而异,但通常包括以下步骤:

    编辑/etc/sysctl.conf文件,取消注释net.ipv4.ip_forward以在启动时启用转发。

    立即启用IP转发,运行以下命令:

    sudo sysctl -w net.ipv4.ip_forward=1

    步骤4:配置iptables

    在进行iptables配置之前,请分配一些shell变量以便在命令中使用。个性化这些变量以匹配你的网络设置:

    PHY_IFACE=eth0
    ZT_IFACE=zt7nnig26

    然后,添加iptables规则以进行NAT设置和数据包转发:

    sudo iptables -t nat -A POSTROUTING -o $PHY_IFACE -j MASQUERADE
    sudo iptables -A FORWARD -i $PHY_IFACE -o $ZT_IFACE -m state --state RELATED,ESTABLISHED -j ACCEPT
    sudo iptables -A FORWARD -i $ZT_IFACE -o $PHY_IFACE -j ACCEPT

    最后,保存iptables规则以便在下次启动时生效:

    sudo apt install iptables-persistent
    sudo bash -c iptables-save > /etc/iptables/rules.v4

    步骤5:测试

    现在,你已经完成了路由设置。可以通过以下步骤测试它是否正常工作:

    1. 关闭手机上的Wi-Fi。
    2. 将手机连接到ZeroTier网络并进行授权。
    3. 尝试访问物理LAN上的某些内容。

    结论

    通过本教程,你学会了如何在ZeroTier虚拟网络和物理网络之间进行路由设置,以实现远程访问你的LAN。这个模式可以在不访问LAN路由器的情况下实现,同时避免了一些桥接引发的问题。

    希望这个教程对你有所帮助。如果你有任何其他问题或需要更多的帮助,请随时联系我们。祝你成功配置你的ZeroTier网络!

  • ZeroTier命令行界面(zerotier-cli):网络管理与配置

    ZeroTier命令行界面(zerotier-cli):网络管理与配置

    ZeroTier是一个强大的网络虚拟化工具,它可以帮助你轻松管理和配置虚拟网络。虽然在Mac和Windows平台上有图形界面,但在所有平台上都可以使用zerotier-cli命令行界面来执行各种任务,包括加入和离开网络以及检查zerotier-one服务的状态。本教程将介绍如何使用zerotier-cli进行网络管理和配置。

    获取ZeroTier地址和检查服务状态

    首先,你可以使用以下命令获取你的ZeroTier地址并检查服务状态:

    zerotier-cli status

    这个命令会返回类似以下的信息:

    200 info 998765f00d 1.2.13 ONLINE

    这表示你的ZeroTier服务处于在线状态,同时提供了你的ZeroTier地址。

    加入、离开和列出网络

    你可以使用zerotier-cli命令来加入、离开和列出网络。请记住,ZeroTier网络由类似于8056c2e21c000001的16位ID标识。

    要加入网络,使用以下命令,将################替换为网络的ID:

    zerotier-cli join ################

    要离开网络,使用以下命令,同样替换################为网络的ID:

    zerotier-cli leave ################

    要列出网络,使用以下命令:

    zerotier-cli listnetworks

    这将返回类似以下的信息:

    200 listnetworks 8056c2e21c000001 earth.zerotier.net 02:99:35:84:f9:dc OK PUBLIC 29.152.27.109/7

    这表示你已经成功连接到该网络。

    请求配置

    如果你的连接需要与网络控制器协商,可能需要一分钟左右。如果协商时间太长,可以参考路由器配置技巧以解决问题。

    常见错误和解决方法

    在使用zerotier-cli时,可能会遇到一些常见错误,以下是一些常见错误和解决方法:

    • Not Found – Typo in the Network ID?:这个错误可能是由于网络ID拼写错误引起的,请仔细检查并确保输入正确的网络ID。

    • Access Denied – You node needs to be Authorized on this network (via my.zerotier.com). Talk to you friendly network administrator.:如果你收到这个错误,说明你的节点需要在该网络上授权。请与网络管理员联系以获得授权。

    • Port Error – Something went wrong with the ZeroTier installer. PORT_ERROR on Mac – On Linux, make sure the tun driver is loaded.:这些错误可能是由于ZeroTier安装程序出现问题引起的。请检查安装程序并确保一切正常。

    • missing authentication token and authtoken.secret not found (or readable):如果你收到这个错误消息,可能是因为你尝试从非管理员帐户运行zerotier-cli。在macOS、Linux或其他基于Unix的系统上,请使用sudo zerotier-cli。在Windows上,请使用管理员命令提示符。

    收集调试信息

    如果你需要向支持团队提供调试信息,可以使用以下命令生成调试输出:

    zerotier-cli dump

    这个命令将在你的桌面上创建一个文件,其中包含有关你的设备和ZeroTier的信息。请注意,其中的一些信息可能被视为私人信息,因此请谨慎在公共场合发布。

    结论

    通过本教程,你已经学会了如何使用zerotier-cli命令行界面来管理和配置ZeroTier网络。这个工具可以帮助你更灵活地控制你的虚拟网络,确保它满足你的需求。

    希望这个教程对你有所帮助。如果你有任何其他问题或需要更多的帮助,请随时联系我们。祝你在使用ZeroTier时取得出色的结果!

  • ZeroTier路由器配置技巧:优化网络连接

    ZeroTier路由器配置技巧:优化网络连接

    ZeroTier被设计用于在尽可能多的环境中工作。我们提供多层备用方案,以确保即使在最受限制或故障的物理网络下,也能实现某种程度的连接性。但是,“某种程度的连接性”并不意味着“最佳连接性”。本页面将详细介绍我们推荐的物理网络配置,以获得最佳效果。

    问题描述

    在使用ZeroTier时,如果你的网络配置不友好,可能会导致大部分ZeroTier流量通过中继间接传输,从而降低速度。其他设置,比如“本地隔离”,也可能对性能产生显著干扰,强制本地流量在互联网上进行传输。

    解决方法

    1. 更新所有节点至最新版本

    确保你的所有节点都已更新到最新版本,以确保你使用的是最新的功能和性能优化。

    2. 推荐的本地网络和Internet网关配置

    以下是一些推荐的本地网络和Internet网关配置,这些配置适用于大多数典型的部署情况:

    • 不要限制出站UDP流量。
    • 在你的网络上支持UPnP或NAT-PMP可以极大地提高性能,允许ZeroTier端点映射外部端口,从而避免NAT遍历。
    • 如果双方都支持IPv6,建议使用IPv6,它可以极大地提高直接连接的可靠性。如果存在IPv6,应该在没有NAT的情况下实现(IPv6与NAT完全不必要,只会增加复杂性),并配备有允许双向UDP会话的有状态防火墙。
    • 不要使用“对称”NAT。使用“全锥形”或“端口限制锥形”NAT。对称NAT对点对点流量非常不友好,会降低VoIP、视频聊天、游戏、WebRTC以及ZeroTier等许多协议的性能。

    3. 多重NAT层次

    在ZeroTier端点和互联网之间不应该存在多重NAT层次。多层NAT会引入连接不稳定性,因为不同层次的状态和行为之间会发生混乱的相互作用。不要使用双重NAT。

    4. NAT端口映射和连接超时

    NAT应该具有不短于60秒的端口映射或连接超时时间,以确保每个设备都可以映射足够数量的端口。

    5. 允许本地设备间的直接流量

    交换机和无线接入点应该允许本地设备之间的直接本地流量。关闭任何“本地隔离”功能。一些交换机可能允许更精细的控制,在这些设备上,只需允许本地UDP流量在9993端口上进行。

    6. ZeroTier使用的端口

    ZeroTier监听三个UDP端口:

    • 9993 – 默认端口
    • 从你的ZeroTier地址派生的一个随机高端口号
    • 用于UPnP/NAT-PMP映射的一个随机高端口号

    这意味着你的对等方可以在任何端口上监听。为了直接与它们通信,你需要能够发送到任何端口。

    7. 是否需要在路由器中转发端口?

    不需要。让ZeroTier和UPnP、NAT-PMP和IPv6自动处理端口转发。

    8. 系统防火墙和安全软件

    如果你的计算机有本地防火墙,请允许与UDP端口9993的流量进出。某些情况下(比如Windows内置防火墙),如果使用我们的安装包之一安装,ZeroTier会自动执行此操作。在其他情况下,比如Linux iptables,我们将此任务留给用户,因为有太多的变化,我们不想尝试手动修改用户设置以避免意外损坏。

    一些系统可能还有安全软件,只允许特定应用程序与互联网通信。在这种情况下,你可能需要找到ZeroTier服务二进制文件并进行授权。

    最后,需要注意的是,ZeroTier One的虚拟网络端口对于你的系统就像正常的LAN或WiFi端口一样,并受到本地防火墙规则的约束。如果一切看起来正常但你无法访问本地服务,比如SSH或HTTP,请检查本地防火墙规则,确保允许虚拟网络本身上的所需流量。

    9. 如何判断我的设备是否在中继?

    查看ZeroTier Central的网络成员列表。如果一个成员没有列出物理IP,那么它可能在进行中继。

    如果你熟悉命令行,可以尝试使用以下命令行界面:zerotier-cli命令(可能需要管理员/超级用户权限):

    • zerotier-cli info -j:是否为“tcpFallbackActive” true?TCP回退是中继的最慢形式,是最后的手段。
    • zerotier-cli listpeers:查找你要通信的设备的节点ID ,并查看下是否列出了IP地址。如果没有IP地址,则正在进行中继。

    结论

    通过本教程,你已经学会了如何配置路由器以优化ZeroTier网络连接,确保你能够获得最佳性能。这些配置和技巧将有助于你解决ZeroTier网络中的连接问题,使其更加稳定和高效。

    希望这个教程对你有所帮助。如果你有任何其他问题或需要更多的帮助,请随时联系我们。祝你在使用ZeroTier时取得出色的结果!

  • apt-get install:Linux软件包管理的基础教程

    apt-get install:Linux软件包管理的基础教程

    你是否曾经在Linux系统上尝试安装新的软件或工具,但不知道从何开始?apt-get install是Linux系统中一个强大的命令,用于安装软件包,但对于新手来说可能会感到困惑。本教程将为您解释如何正确使用apt-get install命令,以便轻松管理您的Linux系统上的软件。

    背景故事

    在一个遥远的Linux世界里,有一个叫小明的年轻管理员。他刚刚开始使用Linux系统,并且对命令行操作感到有些不安。有一天,他想在他的服务器上安装一个新的Web服务器,但不知道从何开始。正当他苦恼时,他的导师告诉他,可以使用apt-get install命令来轻松安装所需的软件。从那天起,小明学会了如何使用这个强大的命令,为他的Linux之旅打下了坚实的基础。

    步骤一:更新软件包列表

    在使用apt-get install之前,首先要确保您的软件包列表是最新的。这可以通过运行以下命令来实现:

    sudo apt-get update

    这将从软件源更新可用软件包的列表,确保您获得最新的版本和更新。

    步骤二:使用apt-get install安装软件包

    一旦您的软件包列表更新完毕,就可以使用apt-get install命令安装所需的软件包。例如,如果您想安装一个名为”nginx”的Web服务器,只需运行以下命令:

    sudo apt-get install nginx

    系统将自动检索并下载nginx软件包,然后进行安装。您需要输入管理员密码来确认操作。

    步骤三:确认安装

    安装完成后,您可以运行以下命令来确认软件包是否成功安装:

    nginx -v

    这将显示nginx的版本信息,以证明安装已成功。

    总结

    通过本教程,您学会了如何使用apt-get install命令在Linux系统上安装软件包。首先,您需要确保软件包列表是最新的,然后使用apt-get install命令来安装所需的软件包。最后,您可以通过运行相关命令来确认安装是否成功。

    在Linux世界中,apt-get install是一个非常有用的命令,它可以让您轻松管理系统上的软件,让您的工作更加高效。

  • 如何在Ubuntu中查看已安装的软件

    如何在Ubuntu中查看已安装的软件

    在使用Ubuntu操作系统时,了解已经安装的软件是一个基本而重要的任务。本教程将向您展示如何使用不同的命令来查看已经安装的软件包。无论您是新手还是有经验的Linux用户,都将受益于这些技巧,以便更好地管理您的系统。

    背景故事

    王大神是一名自由职业者,充满激情地研究技术和编程。他的工作和生活都离不开电脑,尤其是在Ubuntu操作系统上。有一天,他突然意识到,他不太清楚自己的系统上安装了哪些软件包。这使他感到有些困惑,因为他希望能够更好地管理他的系统并确保安装了必要的工具。于是,他决定学习如何查看已经安装的软件包,以更好地掌握他的Ubuntu系统。

    使用dpkg命令

    首先,我们将介绍如何使用dpkg命令来列出已经安装的软件包。dpkg是Debian包管理器的基础工具,也适用于Ubuntu。

    要列出已安装的软件包,打开终端并运行以下命令:

    dpkg --list

    这将显示一个列表,其中包含了所有已安装的软件包的信息。您将看到软件包的名称、版本、描述和状态等信息。

    使用apt命令

    接下来,让我们学习如何使用apt命令来查看已安装的软件包。apt是一个高级的包管理工具,常用于Ubuntu系统。

    要列出已安装的软件包,打开终端并运行以下命令:

    apt list --installed

    这将列出所有已经安装的软件包的名称和版本。这个列表可能会比dpkg的输出更简洁,但同样有用。

    使用aptitude命令

    最后,我们将介绍如何使用aptitude命令来列出已经安装的软件包。aptitude是一个综合的包管理工具,也可以在Ubuntu上使用。

    要列出已安装的软件包,打开终端并运行以下命令:

    aptitude search '~i'

    这将显示一个包含所有已安装软件包的列表。与前两种方法不同,aptitude的输出格式可能会更详细,包括软件包的状态、描述和建议等信息。

    总结

    通过这篇教程,您现在知道了如何使用不同的命令来查看已经安装的软件包。无论您是使用dpkg、apt还是aptitude,都可以轻松地获取关于您的Ubuntu系统上已安装软件包的信息。这将帮助您更好地管理和维护您的系统,确保安装了必要的工具和应用程序。

  • Ubuntu Zerotier自启动安装教程

    Ubuntu Zerotier自启动安装教程

    在使用Ubuntu操作系统时,有时我们需要在系统启动时自动运行特定的应用程序或服务。本教程将向您介绍如何在Ubuntu上安装Zerotier,并配置它在系统启动时自动运行。Zerotier是一款用于创建虚拟局域网络的工具,它可以帮助您轻松实现安全的远程访问和网络连接。

    1. 安装Zerotier

    首先,我们需要安装Zerotier。请按照以下步骤进行操作:

    1. 打开终端(Terminal)。

    2. 输入以下命令以添加Zerotier的存储库:

      sudo add-apt-repository ppa:zerotier/snapshots

      您可能需要输入管理员密码来确认操作。

    3. 然后,更新系统的软件包列表:

      sudo apt-get update
    4. 安装Zerotier:

      sudo apt-get install zerotier-one

      安装完成后,Zerotier将自动启动。

    2. 配置Zerotier

    接下来,我们需要配置Zerotier。请按照以下步骤进行操作:

    1. 打开终端。

    2. 启动Zerotier服务:

      sudo zerotier-cli start
    3. 加入一个Zerotier网络。您可以使用以下命令,将 <NETWORK_ID> 替换为您要加入的网络的ID:

      sudo zerotier-cli join 

      您可以从Zerotier官方网站或网络管理员那里获取网络ID。

    4. 检查加入网络的状态:

      sudo zerotier-cli status

      如果一切顺利,您将看到您已成功加入Zerotier网络。

    3. 设置自启动

    为了确保Zerotier在系统启动时自动运行,我们需要进行以下配置:

    1. 打开终端。

    2. 编辑Zerotier配置文件:

      sudo nano /etc/default/zerotier-one
    3. 在打开的文本编辑器中,找到以下行:

      AUTO_START="0"

      将其更改为:

      AUTO_START="1"

      这将启用Zerotier的自启动。

    4. 保存文件并退出文本编辑器。在Nano中,您可以使用 Ctrl + O 保存,然后使用 Ctrl + X 退出。

    5. 重新启动Zerotier服务:

      sudo systemctl restart zerotier-one

    现在,Zerotier将会在Ubuntu系统启动时自动运行。

    通过按照上述步骤,您已成功安装Zerotier并配置它在系统启动时自动运行。这将使您能够轻松管理Zerotier网络,实现安全的远程访问和连接。

  • Linux删除Intel Carillo Ranch主板支持:17年前的硬件之谜

    Linux删除Intel Carillo Ranch主板支持:17年前的硬件之谜

    近日,Linux社区宣布删除对Intel Carillo Ranch主板的驱动支持,这一决定引起了广泛的关注和猜测。毕竟,一般情况下,Linux不会因为某款硬件太老旧而删除支持,但Carillo Ranch的情况似乎有些特殊。本文将探讨Carillo Ranch主板的神秘历史和这次支持删除背后的真正原因。

    背后的故事:Carillo Ranch主板的神秘历史

    Carillo Ranch主板的故事始于2006年,这是整整17年前的事情。该主板据说支持嵌入式处理器EP80579,这一处理器具有基于Tolapai的奔腾M核心,并集成了Vermillion Range芯片组以及内存控制器。然而,除了这些基本信息,关于Carillo Ranch的资料非常有限,甚至连它的发布日期都没有确凿的信息。

    更加令人困惑的是,Linux社区删除Carillo Ranch的两个驱动,这两个驱动分别来自Tungsten Graphics(2008年被VMWare收购)和MontaVista。这引发了一个重要问题:这些驱动被删除的原因究竟是什么?

    谜题之一:Carillo Ranch似乎根本不存在?

    在尝试寻找关于Carillo Ranch的更多信息时,人们发现一个诡异的现象。当你在Google上搜索“Intel Carillo Ranch”的索引出处时,会被重定向到“Intel Carrillo Range”(注意多了一个字母r),而唯一的搜索结果将会跳转到MontaVista的一份联系方式表格。

    这张表格中有一句话:“我们希望听到关于这款主板的更多信息:Intel Carrillo Range,奔腾M兼容,Vermillion Range。” 这是否意味着,负责编写驱动的MontaVista甚至都不知道这是什么东西?

    谜题之二:LE80578是什么?

    另一个令人困惑的点是,Linux驱动中有一处将Carillo Ranch称为“LE80578”的指针。然而,当你搜索这个编号时,会得到一大堆关于惠普打印机配备800MHz LE80578处理器的信息。这看起来非常诡异,因为LE80578应该是主板的编号,而不是处理器的型号。EP80579才是作为处理器的正统代表,但即使在Intel的ARK数据库中,我们也找不到LE80578的任何相关信息。

    谜底揭晓:删除背后的原因是什么?

    尽管有众多的谜团和困惑,但关于为什么Linux社区删除Carillo Ranch主板支持的原因,目前仍然没有明确的答案。可能是因为这款硬件的确太过神秘,缺乏足够的信息和资料,以至于无法维护相关的驱动和支持。

    无论原因是什么,这一事件令人回顾了计算机科技领域的漫长历史,以及那些随着时间推移而被遗忘的硬件。或许,Carillo Ranch的谜团将永远留在计算机科技的史书中,成为一个不解之谜。

    总结

    在计算机科技领域,时光荏苒,硬件和技术不断演进。Carillo Ranch主板的神秘历史和Linux删除支持的决定,让我们反思了技术发展的速度和那些曾经辉煌却逐渐被遗忘的硬件。或许,这个故事将永远是一个未解之谜,留待后人继续探索。

  • 如何在Ubuntu 20.04上启用SSH Root密码登录

    如何在Ubuntu 20.04上启用SSH Root密码登录

    在Ubuntu 20.04上,SSH(Secure Shell)是一种强大的远程连接工具,它允许您通过网络安全地访问您的服务器。默认情况下,SSH不允许Root用户使用密码进行登录,这是为了提高安全性而设计的。然而,在某些情况下,您可能需要启用Root密码登录。本教程将向您展示如何在Ubuntu 20.04上启用SSH Root密码登录。

    步骤 1:登录到服务器

    首先,您需要登录到您的Ubuntu 20.04服务器。您可以使用普通用户帐户登录,然后使用sudo命令来执行Root权限的操作。

    ssh your_username@your_server_ip

    替换your_username和your_server_ip为您的用户名和服务器IP地址。

    步骤 2:编辑SSH配置文件

    要启用Root密码登录,您需要编辑SSH服务器的配置文件。默认情况下,SSH配置文件在/etc/ssh/sshd_config中。您可以使用文本编辑器打开这个文件。

    sudo nano /etc/ssh/sshd_config

    步骤 3:启用Root密码登录

    在编辑器中找到以下行:

    #PermitRootLogin prohibit-password

    取消注释这一行(删除前面的#)并将其修改为:

    PermitRootLogin yes

    这将允许Root用户使用密码登录。保存文件并关闭编辑器。

    步骤 4:重启SSH服务

    在您修改了SSH配置文件后,您需要重启SSH服务以使更改生效。

    sudo systemctl restart ssh

    步骤 5:设置Root密码

    如果您还没有设置Root用户的密码,现在可以设置它。使用以下命令来设置Root密码。

    sudo passwd root

    系统将提示您输入新的Root密码,并要求确认。

    步骤 6:测试Root密码登录

    现在,您已经启用了Root密码登录,您可以尝试使用Root用户登录到服务器。

    ssh root@your_server_ip

    输入您刚刚设置的Root密码,您应该能够成功登录到服务器。

    恭喜!您已经成功在Ubuntu 20.04上启用了SSH Root密码登录。请注意,这样做会降低服务器的安全性,因此只有在非常必要的情况下才应该这样做。