V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
qingbaihe
V2EX  ›  Linux

Ubuntu 和 Debian 都有糟点

  •  
  •   qingbaihe · 232 天前 · 7043 次点击
    这是一个创建于 232 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 VMware 安装最新的版本

    Debian 登入 root 账号,默认环境变量 PATH 不包括/usr/sbin,执行fdisk -l命令提示找不到

    Ubuntu 安装过程中选择手动分区,只支持 GPT 分区表,还得再创建一个启动分区。Debian 就支持 MBR 分区表,一个盘只要创建一个根目录分区就行

    62 条回复    2024-05-02 15:45:22 +08:00
    TwoBall
        1
    TwoBall  
       232 天前
    debian 的 ipv6 还老出毛病
    NessajCN
        2
    NessajCN  
       232 天前   ❤️ 4
    1. 没有复现,敲一下
    cat /etc/profile
    看看输出
    2. 支不支持 mbr 跟系统无关,跟你的 bios/uefi 有关。uefi 固件只能用 gpt, bios 固件两个都能用。所以检查一下你是不是一个用了 bios 一个用了 uefi
    chf007
        3
    chf007  
       232 天前
    fdisk -l 这个也不能说是槽点吧

    /usr/sbin 下本来就是给系统管理员用的,不是给普通用户用的,你试试 sudo fdisk -l 或切到 root 试下呢
    wellsc
        4
    wellsc  
       232 天前
    btw, i use arch (狗头
    chf007
        5
    chf007  
       232 天前   ❤️ 1
    看了下你发的是以 root 身份登录的,不过我也是 root, Debain 12.5 ,fdisk -l 没问题的啊,没多做什么设置
    sNullp
        6
    sNullp  
       232 天前
    > Debian 登入 root 账号,默认环境变量 PATH 不包括/usr/sbin ,执行 fdisk -l 命令提示找不到

    Debian 无法复现
    qingbaihe
        7
    qingbaihe  
    OP
       232 天前
    @NessajCN @chf007 @sNullp
    Debian 先登入普通账号,再执行`su root`登入 root 账号,执行`echo $PATH`,结果就不包括`/usr/sbin`

    /etc/profile
    ```
    if [ "$(id -u)" -eq 0 ]; then
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    else
    PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
    fi
    export PATH
    ```
    NessajCN
        8
    NessajCN  
       232 天前
    @qingbaihe 你的 root uid 不是 0,
    所以没执行 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    而是执行的 PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
    用 id 0 看看你的 0 号 id 究竟是啥
    silkriver
        9
    silkriver  
       232 天前   ❤️ 2
    正确的切换方式是 su -
    wuruxu
        10
    wuruxu  
       232 天前
    不是应该普通用户登录吗? root 风险太大了
    cnt2ex
        11
    cnt2ex  
       232 天前   ❤️ 2
    第一条算什么槽点,多半是你自己哪里没搞对。

    debian 从某个版本开始(可能是 Buster ),bash 的非 root 用户的 PATH 里不再包含 sbin 的路径。如果此时你直接通过`su`切换为 root 用户的话,PATH 路径就不会包含 sbin ,但如果是`su -`切换的话,PATH 就会包含 sbin 。

    你在其他发行版上直接`su`过去能够找到多半是因为其他发行版默认加入了 sbin 到非 root 用户的 PATH 里。
    vvhy
        12
    vvhy  
       232 天前
    arch 的 sbin 已经是 bin 的符号链接了
    remember5
        13
    remember5  
       232 天前
    Debian12.5 无法复现
    adoal
        14
    adoal  
       232 天前
    但凡肯花几秒钟看一下 man su 就知道了。DESCRIPTION 小节的第三段文字:

    For backward compatibility, su defaults to not change the current directory and to only set the environment variables HOME and SHELL (plus USER and LOGNAME if the target user is not root). It is recommended to always use the --login option (instead of its shortcut -) to avoid side effects caused by mixing environments.
    Yadomin
        15
    Yadomin  
       232 天前   ❤️ 2
    2024 年了还有人在用 MBR + BIOS?
    son012
        16
    son012  
       232 天前
    你说的这些都不是槽点,debian 真正的槽点是 root 目录下的.bashrc 的更改没办法生效,需要在 bash 环境变量中配置,包没有 ubuntu 多
    ubuntu 我用的很多槽点,比如 netplan ,比如 snap ,比如开机和关机时候那个等待网络 60S ,所以我选择 debian ,毕竟很多东西我可以自己更改
    qinqiuxu
        17
    qinqiuxu  
       232 天前
    @qingbaihe su -l root ,切换 root 用户加上-l 命令,这样一些切换用户时才会执行一些脚本初始化命令
    qinqiuxu
        18
    qinqiuxu  
       232 天前
    我说的加上 -l 参数跟楼上说的 su - 和 su -login 一个意思
    su --help

    Usage:
    su [options] [-] [<user> [<argument>...]]

    Change the effective user ID and group ID to that of <user>.
    A mere - implies -l. If <user> is not given, root is assumed.

    Options:
    -m, -p, --preserve-environment do not reset environment variables
    -w, --whitelist-environment <list> don't reset specified variables

    -g, --group <group> specify the primary group
    -G, --supp-group <group> specify a supplemental group

    -, -l, --login make the shell a login shell
    qW7bo2FbzbC0
        19
    qW7bo2FbzbC0  
       232 天前
    最难受的我感觉是`bash: ll: command not found`
    jupiterISme
        20
    jupiterISme  
       232 天前
    @qW7bo2FbzbC0
    echo "alias ll='ls -alF'" >> ~/.bashrc
    source ~/.bashrc
    dolorain
        21
    dolorain  
       232 天前
    伪命题,windows mac android 没有槽点?
    GoodRui
        22
    GoodRui  
       232 天前
    @son012 netplan 为什么是槽点?

    关于无网络时开机卡 2 分钟等待的问题,可以有几个解决办法,我目前使用的是在网卡中配置 optional: true 选项,使该网卡为可选,遇到错误直接跳过。这样开机的时候网卡网络连接失败时会直接跳过,也就不会出现 a start job is 吧啦吧啦等 2 分钟的情况。
    g0python32
        23
    g0python32  
       232 天前
    ```shell
    ❯ sudo -i
    ubuntu# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
    ubuntu# cat /etc/lsb-release
    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=22.04
    DISTRIB_CODENAME=jammy
    DISTRIB_DESCRIPTION="Ubuntu 22.04.4 LTS"
    ubuntu#
    ```

    求求了, 看书吧.
    qinqiuxu
        24
    qinqiuxu  
       232 天前
    @qW7bo2FbzbC0 ll 命令本来就是 ls -l 的 alias 命令,只不过是有些发行版默认配置了而已。你自己配置一下不就行了吗
    dorothyREN
        25
    dorothyREN  
       232 天前
    @qingbaihe 你这个命令就有问题,su - root 这样切才行
    OceanWaves
        26
    OceanWaves  
       232 天前
    use 'su - root' or 'su -' instead of 'su'
    drymonfidelia
        27
    drymonfidelia  
       232 天前
    @son012 netplan 很好用啊,我学不会 iptables ,觉得 netplan 很方便
    drymonfidelia
        28
    drymonfidelia  
       232 天前
    netplan 路由直接写在 yaml 里就好,不像 iptables 还要第三方包来持久化
    Rorysky
        29
    Rorysky  
       232 天前
    这些都是很外部的区别
    laminux29
        30
    laminux29  
       232 天前   ❤️ 1
    1.VMware 与 Debian 都有很多种版本,每个版本都会有大大小小的差异,楼主连版本号都不说,这是很严重的问题。VMware 只是公司名称,旗下有很多种细分软件,比如 ESXi ,WorkStation 等等,这些软件,又有大大小小的差异。

    从这个问题,可见楼主的学习与研究,需要更仔细、更深入。

    2.最新版本的 Ubuntu 、Debian 、Windows ,都支持 Legacy BIOS + MBR / UEFI + GPT ,楼主需要仔细学学这两者的区别,以及这些系统在这两套环境中的运行机制。
    ysc3839
        31
    ysc3839  
       232 天前
    @son012 @GoodRui 虽然我也不喜欢用 netplan ,但是 Ubuntu 似乎并没有阻止用户更换吧?我都是换成 NetworkManager 和 firewalld 。要说槽点的话,也只是需要手动更换。
    yyzh
        32
    yyzh  
       232 天前 via Android
    @ysc3839 看是什么版本吧.桌面版默认用 NetworkManager.你要改 netplan 还得改配置文件
    RobinHuuu
        33
    RobinHuuu  
       232 天前 via Android
    fox0001
        34
    fox0001  
       232 天前 via Android   ❤️ 1
    不知道如何吐槽楼主……是不是考虑不要使用 Linux ?

    - 默认环境变量可以改。
    - MBR 老矣。
    youyoumarco
        35
    youyoumarco  
       232 天前
    那我必须要说 ubuntu 那个 netplan ,太不好用了
    paranoiagu
        36
    paranoiagu  
       232 天前 via Android
    su -

    试试
    GoodRui
        37
    GoodRui  
       232 天前
    @ysc3839 可以认为 netplan 只是个配置管理工具,它是给底层呈现——也就是 NetworkManager 或 networkd 生成配置的。所以 netplan 里是需要指定网络的渲染器是使用 NetworkManager 还是 netword 的。
    loolac
        38
    loolac  
       232 天前
    加入 Arch 阵营吧
    zed1018
        39
    zed1018  
       232 天前
    建议用 macOS
    qW7bo2FbzbC0
        40
    qW7bo2FbzbC0  
       232 天前
    @jupiterISme
    @qinqiuxu

    是的,centos/fedora 系列的 trick ,养成习惯了属于是,稳定的线上机器还好,测试环境每次起 debian 虚机测试时都被卡一下
    nuffin
        41
    nuffin  
       232 天前
    @qW7bo2FbzbC0 这几个 alias 是我每次装新的系统后第一步就先干掉的。
    lijiangang886
        42
    lijiangang886  
       232 天前
    shell 启动模式分两个纬度四种情况,login/non-login ,interactive/non-interactive
    /etc/profile 是 login shell 才会在启动时加载的,你 su 启动的是 non-login shell ,不会加载,path 自然就不会有/usr/sbin ,要用`su -l`或它的缩略形式`su -`才行

    逼乎一个问题问为什么说 Linux 难?一个回答说因为在 Linux 下没有事情是简单的。因为你要身体力行的掌握太多太多的细节,才能用得好
    enchilada2020
        43
    enchilada2020  
       232 天前 via Android
    @lijiangang886 到底怎么才能掌握 Linux 啊 太杂了…
    yinxs2003
        44
    yinxs2003  
       232 天前
    ubuntu 肯定要好些,毕竟很多企业软件都是支持 ubuntu
    son012
        45
    son012  
       231 天前
    @GoodRui 我按照网上配置的关闭或者减少时间,但是过一段时间还是会出现,我就彻底放弃了,netplan 本身不算,但是配置文件有时候开机配置容易导致错误

    @drymonfidelia iptables 和 netplan 不是一个东西啊,一个是配置防火墙的,一个是配置网络的,iptables 自己可以写脚本初始化,这个还好,我对外的服务器都是用的 ufw 来管理的
    @ysc3839 可是不是需要再去配置么,你要知道有时候如果配置不恰当会导致很多问题
    drymonfidelia
        46
    drymonfidelia  
       231 天前 via iPhone
    @son012 netplan 也可以直接在 yaml 里面写路由
    bruce0
        47
    bruce0  
       231 天前
    @TwoBall 我的是 ipv4 老出问题, 每次重启一下 netmanager 就行了
    m1nm13
        48
    m1nm13  
       231 天前
    对.debian 的这个环境变量问题特别难崩.怎么有这么蠢的玩意
    CivAx
        49
    CivAx  
       231 天前
    借楼问下 `su -` 和 `sudo -s` 有什么区别,我一直用的 `sudo -s` 切换到 root 用户😧
    fuckallmm
        50
    fuckallmm  
       231 天前
    $ sudo -i
    # vim ~/.bashrc
    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'
    alias ll='ls -l'
    alias la='ls -A'
    alias l='ls -CF'
    alias ls='ls --color=auto'

    # source ~/.bashrc
    # ll
    # exit
    $
    icaca
        51
    icaca  
       231 天前
    debian 无法重现
    salmon5
        52
    salmon5  
       231 天前
    https://cdimage.ubuntu.com/ubuntu-legacy-server/releases/20.04/release/
    Ubuntu 从 20.04 开始废弃了基于“debian-installer”的安装方式:
    BIOS:BIOS+GPT 方式,最少 2 个分区( bios_grub 分区和/跟分区)
    UEFI:UEFI+GPT 格式,最少 2 个分区(/boot/efi 和/根分区)
    强制了 GPT 分区,只能最少 2 个分区,安装的时候无法修改成 MBR 分区。
    salmon5
        53
    salmon5  
       231 天前
    现在云厂商都是至少 3 个分区,bios_grub 分区、/boot/efi 和/根分区,这样既兼容 BIOS 又兼容 UEFI 。
    salmon5
        54
    salmon5  
       231 天前
    “ From Ubuntu 20.04 LTS onwards, the Ubuntu Server Live Installer is the preferred installation media for Ubuntu Server installs, and the legacy installer based on debian-installer is deprecated. To ease this transition, media was published for the legacy installer as part of the 20.04 and 20.04.1 releases, but we are not providing legacy images for further point releases. There is no guarantee that these outdated legacy images will continue to work. ”
    salmon5
        55
    salmon5  
       231 天前
    随着 BIOS+MBR 1 个分区的逐步淘汰,以后 BIOS/UEFI+GPT 至少 3 分区(bios_grub,/boot/efi,/)是主流,再以后 UEFI+GPT 至少 2 分区(/boot/efi,/)是主流。
    Radeon
        56
    Radeon  
       231 天前
    2 个槽点都不值一提
    salmon5
        57
    salmon5  
       231 天前
    另外已知的基于 RHEL8 的 KVM 、Vmware 的 ESXI 6.7 guest 机器默认还是 BIOS ,如果安装最新 Ubuntu ,强制最少 2 个分区( bios_grub 分区和/跟分区)。
    morgan1freeman
        58
    morgan1freeman  
       231 天前
    @Yadomin pve 里面 默认就是 MBR
    ragnaroks
        59
    ragnaroks  
       231 天前
    第一个问题 [su -] 或 [sudo -i] 。

    第二个问题不用图形界面安装程序即可直接使用设备(/dev/sda )而不是分区(/dev/sda1 )作为文件系统使用。

    这些文档都写了的,linux 图形界面方面易用性还是不够考虑非技术行业人员。
    Yadomin
        60
    Yadomin  
       231 天前 via Android
    @morgan1freeman pve 我也都是用的 UEFI ,多点两下罢了
    neroxps
        61
    neroxps  
       229 天前 via iPhone
    盲猜楼主是用 su root 没加 -
    belite
        62
    belite  
       229 天前 via iPhone
    哈哈哈 楼主 linux 一窍不通…
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5693 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 03:23 · PVG 11:23 · LAX 19:23 · JFK 22:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.