AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-65781

ceremcem's questions

Martin Hope
ceremcem
Asked: 2021-12-14 11:23:19 +0800 CST

如何检测系统是否在任何给定时刻被更改?

  • 2

我定期创建整个文件系统快照(使用 BTRFS)。我需要防止我的脚本在系统处于不一致状态时拍摄快照,例如在应用程序安装或完整系统升级期间。

  1. 我怎样才能可靠地检测到此类行为?

就像我们不能调用多个apt实例一样,我也想为apt install(或任何其他包管理软件)创建一个锁,以确保快照操作已经完成(可能需要几秒钟,具体取决于磁盘 IO)。

  1. 如何暂时阻止任何包管理应用程序运行?
debian package-management
  • 1 个回答
  • 141 Views
Martin Hope
ceremcem
Asked: 2020-01-23 13:42:27 +0800 CST

为什么 upower 输出与 /sys/class/power_supply 内容不同?

  • 4

我正在调试新安装的电池的剩余电池百分比报告不准确的情况。

关于我上一个问题的回答,各种工具直接从电池本身查询电池信息。/sys/class/power_supply/BAT1/voltage_now但是,电池电压的输出在和之间有所不同upower:

# upower
    voltage:             10.974 V

# /sys/...
10500000

此外,upower每 2 分钟更新一次统计信息,其中/sys/class/power_supply/BAT1/voltage_now似乎是实时更新的。这也表明这两个数据源的来源可能不同。

那么,这两个数据源的数据源是什么?

power-management
  • 1 个回答
  • 1168 Views
Martin Hope
ceremcem
Asked: 2020-01-18 01:00:30 +0800 CST

“acpi”或“upower”如何决定电池百分比?

  • 1

更正通知

很抱歉,由于记错了串联的细胞计数而提出了这个问题。串联的不是4个电池,而是3个电池。傻我。对于串联的 3 节电池,最大电池电压应该是4.2V * 3 = 12.6V,这里看起来很一致,所以问题的“电压计算部分”是不准确的。

原始问题

我正在使用 LXDE,电池小程序显示 100% 作为电池状态。其他命令支持该百分比:

ceremcem@cca-erik:~$ acpi
Battery 0: Full, 100%
ceremcem@cca-erik:~$ upower -i `upower -e | grep bat`
  native-path:          BAT1
  vendor:               LGC
  model:                DELL 49VTP27J
  serial:               7849
  power supply:         yes
  updated:              Fri 17 Jan 2020 11:46:50 AM +03 (105 seconds ago)
  has history:          yes
  has statistics:       yes
  battery
    present:             yes
    rechargeable:        yes
    state:               fully-charged
    warning-level:       none
    energy:              73.26 Wh
    energy-empty:        0 Wh
    energy-full:         73.26 Wh
    energy-full-design:  48.84 Wh
    energy-rate:         0.0111 W
    voltage:             12.014 V
    percentage:          100%
    capacity:            100%
    technology:          lithium-ion
    icon-name:          'battery-full-charged-symbolic'

实际问题是标称电池电压为14.4V(3.6V/cell,4串)。这意味着在 100% SOC(充电状态)下,电池应该处于4.2 * 4 = 16.8V. 如果您看到该battery -> voltage部分,它当前为 12.0V,这意味着每个电池为 3.0V,这意味着根据 batteryuniversity.com ,它处于 0% SOC(完全空) :

在此处输入图像描述

这些命令如何决定 SOC?他们是直接问电池吗?我们如何重新校准这种不匹配?

battery sensors
  • 1 个回答
  • 1076 Views
Martin Hope
ceremcem
Asked: 2019-12-31 23:20:16 +0800 CST

如何正确获取整个磁盘的 UUID?

  • 1

由于 UUID 是在分区阶段(由软件)分配的,因此没有可用于整个磁盘的 UUID。

但是,/dev/disk/by-id/包含用于相同目的的有希望的信息。我们可以获得“UUID”路径 - 例如。/dev/sdb/经过:

$ disk=sdb; ls /dev/disk/by-id/ -l | grep "/$disk$" | awk '{print "/dev/disk/by-id/"$9}'
/dev/disk/by-id/ata-ST1000LM048-2E7172_WKP6XK95
/dev/disk/by-id/wwn-0x5000c500ccbb7485

但是,如您所见,同一个驱动器有多个条目。结尾WKP6XK95更有意义,因为它物理地写在产品标签上,在“序列号”部分。

如何获得可能写入磁盘的唯一值?换句话说,wwn-...id是如何生成的,那么我怎样才能安全地忽略这个条目呢?忽略此条目... | grep -v wwn是否安全?

disk uuid
  • 2 个回答
  • 1468 Views
Martin Hope
ceremcem
Asked: 2019-12-27 06:17:36 +0800 CST

multistrap 配置中的“noauth”属性到底是什么意思?

  • 4

来自https://manpages.debian.org/wheezy/multistrap/multistrap.1:

--no-auth - 允许使用未经身份验证的存储库。与 noauth=true 相同

我从这个定义中了解到的是multistrap不会尝试进行身份验证,因此可能会安装不安全的软件。

但是似乎并非如此:设置noauth=true 引发以下错误:

Get:1 http://ftp.uk.debian.org/debian buster InRelease [122 kB]
Err:1 http://ftp.uk.debian.org/debian buster InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 04EE7237B7D453EC NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY DCC9EFBF77E11517
Reading package lists... Done
W: GPG error: http://ftp.uk.debian.org/debian buster InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 04EE7237B7D453EC NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY DCC9EFBF77E11517
E: The repository 'http://ftp.uk.debian.org/debian buster InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
apt update failed. Exit value: 100

有趣的是,设置noauth=false解决了这个问题。

究竟是什么noauth原因造成的?

debian debootstrap
  • 1 个回答
  • 739 Views
Martin Hope
ceremcem
Asked: 2019-12-26 02:18:53 +0800 CST

如何在启动时重新映射网络接口?

  • 0

事实证明,我正在尝试创建一个便携式发行版,同时为任何类型的硬件故障做好准备。

我正在通过multistrap(或从我的备份)创建(或恢复)一个 Debian 发行版,并要求生成的磁盘可以在新的(大部分兼容的)硬件上启动,包括VirtualBox machine。

正如我之前所问的,“便携式发行版”为数不多的必需品之一就是处理网络接口的名称。

例如,在真机上,第一个以太网设备被命名为enp2s0,而在 VirtualBox 中,它被命名为enp0s3. 我应该如何/etc/network/interfaces在启动时生成文件?

是否有更通用的方法来重新映射网络接口名称(可能通过符号链接)并让每个应用程序使用这些名称(角色名称)而无需知道底层硬件的真实网络接口名称?

debian system-installation
  • 1 个回答
  • 919 Views
Martin Hope
ceremcem
Asked: 2019-12-25 18:16:13 +0800 CST

Buster 中没有 /var/lib/dpkg/info/dash.preinst

  • 2

在https://wiki.debian.org/Multistrap#Steps_for_Squeeze_and_later中,需要在 chroot 环境中运行以下命令:

/var/lib/dpkg/info/dash.preinst install

此命令在 Stretch 中运行,但/var/lib/dpkg/info/dash.preinst在 Buster 中找不到文件。

在 Buster 中完成安装的等效命令可能是什么?

再生产

git clone https://github.com/ceremcem/multistrap-example
cd multistrap-example
./build.sh buster
debian dash
  • 1 个回答
  • 159 Views
Martin Hope
ceremcem
Asked: 2019-12-24 04:48:20 +0800 CST

grub-mkconfig 在 chroot 环境中给出错误

  • 2

我正在尝试从头开始手动将 Debian 安装到实时 Debian CD 中的外部磁盘。

我按照此处 ( 44fbcc)中的说明通过 multistrap 创建了一个 Debian Stretch rootfs 。

在内部chroot环境中,在安装 Grub 时,我将 Grub2 安装到 MBR:

debian:~# grub-install /dev/sdX --boot-directory=/boot

命令运行没有错误。当我需要创建时/boot/grub/grub.cfg,它会引发以下错误:

debian:~# grub-mkconfig
/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).

是的,/dev与/sys,/proc和/run 这里一起安装。

如何生成grub.cfg内部chroot环境?

debian grub2
  • 1 个回答
  • 4316 Views
Martin Hope
ceremcem
Asked: 2019-12-22 03:44:14 +0800 CST

BTRFS 在 RAID1 模式下添加了一个新设备,如何删除它?

  • 2

我的磁盘空间不足,所以我像往常一样清理了旧快照。这一次,df -h /坚持显示“没有可用空间”,同时btrfs fi df /显示几个 GB 的空间,所以我决定运行btrfs balance.

btrfs balance由于“空间不足”错误而失败,我搜索了网络并定向到此博客文章,该文章建议通过临时添加一个能够运行的小型设备(甚至是 USB 随身碟)来解决此问题btrfs balance,然后在完成后将其删除。

我将 pendrive 添加到我的 rootfs:

btrfs dev add /dev/sdc1 /

没有显示错误,现在我有一些可用空间。我跑btrfs balance了,当它完成后,我试图移除 pendrive:

sudo btrfs dev del /dev/sdc1 /
ERROR: error removing device '/dev/sdc1': unable to go below two devices on raid1

BTRFS 以某种方式决定将 RAID1 配置文件中的驱动器用于元数据和系统数据:

$ sudo btrfs fi usage / 
Overall:
    Device size:         864.53GiB
    Device allocated:        857.05GiB
    Device unallocated:        7.48GiB
    Device missing:          0.00B
    Used:            830.28GiB
    Free (estimated):         24.93GiB  (min: 21.23GiB)
    Data ratio:               1.00
    Metadata ratio:           2.00
    Global reserve:      512.00MiB  (used: 0.00B)

Data,single: Size:828.01GiB, Used:810.56GiB
   /dev/mapper/masa-root     828.01GiB

Data,RAID1: Size:2.02GiB, Used:2.01GiB
   /dev/mapper/masa-root       2.02GiB
   /dev/sdc1       2.02GiB

Data,DUP: Size:2.00GiB, Used:1.94GiB
   /dev/sdc1       4.00GiB

Metadata,RAID1: Size:2.97GiB, Used:131.61MiB
   /dev/mapper/masa-root       2.97GiB
   /dev/sdc1       2.97GiB

Metadata,DUP: Size:7.50GiB, Used:5.78GiB
   /dev/mapper/masa-root      15.01GiB

System,RAID1: Size:32.00MiB, Used:128.00KiB
   /dev/mapper/masa-root      32.00MiB
   /dev/sdc1      32.00MiB

Unallocated:
   /dev/mapper/masa-root       1.97GiB
   /dev/sdc1       5.51GiB

如何正确移除此临时设备?

btrfs
  • 1 个回答
  • 1233 Views
Martin Hope
ceremcem
Asked: 2019-12-15 06:03:39 +0800 CST

如何通过 journalctl 在 BTRFS 上找到损坏文件的完整路径?

  • 1

运行后btrfs scrub,可以检测到损坏的文件。为了确定无法纠正的文件,我们可以尝试读取磁盘上的每个文件:

sudo find / -type f -exec cp -v {} /dev/null \; 2> corrupted-files.txt

该命令的输出满足需要。但是需要几个小时才能完成。

Arch Linux wiki 建议使用以下命令来确定损坏的文件:

sudo journalctl --output cat | grep 'BTRFS .* i/o error' | sort | uniq 

它可以快速获取结果。但是,文件路径是相对于它们的子卷路径的,因此对于从备份中修复文件非常宝贵:

BTRFS warning (device dm-2): i/o error at logical 69945753600 on dev /dev/mapper/zeytin-root, sector 142920640, root 636, inode 172280, offset 238682112, length 4096, links 1 (path: home/aea/couchdb/couchdb/data/shards/60000000-7fffffff/client2.1533443496.couch)
BTRFS warning (device dm-2): i/o error at logical 70045958144 on dev /dev/mapper/zeytin-root, sector 143116352, root 422, inode 172296, offset 307662848, length 4096, links 1 (path: home/aea/couchdb/couchdb/data/shards/e0000000-ffffffff/client2.1533443496.couch)
BTRFS warning (device dm-2): i/o error at logical 70045958144 on dev /dev/mapper/zeytin-root, sector 143116352, root 636, inode 172296, offset 307662848, length 4096, links 1 (path: home/aea/couchdb/couchdb/data/shards/e0000000-ffffffff/client2.1533443496.couch)
BTRFS warning (device dm-2): i/o error at logical 70138376192 on dev /dev/mapper/zeytin-root, sector 143296856, root 423, inode 100548, offset 688631808, length 4096, links 1 (path: var/log/auth.log)
BTRFS warning (device dm-2): i/o error at logical 70138425344 on dev /dev/mapper/zeytin-root, sector 143296952, root 423, inode 100548, offset 688644096, length 4096, links 1 (path: var/log/auth.log)
BTRFS warning (device dm-2): i/o error at logical 70138441728 on dev /dev/mapper/zeytin-root, sector 143296984, root 423, inode 100548, offset 688648192, length 4096, links 1 (path: var/log/auth.log)
BTRFS warning (device dm-2): i/o error at logical 70138449920 on dev /dev/mapper/zeytin-root, sector 143297000, root 419, inode 818783, offset 95145984, length 4096, links 1 (path: var/log/daemon.log)
BTRFS warning (device dm-2): i/o error at logical 70138564608 on dev /dev/mapper/zeytin-root, sector 143297224, root 419, inode 818783, offset 95154176, length 4096, links 1 (path: var/log/daemon.log)
BTRFS warning (device dm-2): i/o error at logical 70138884096 on dev /dev/mapper/zeytin-root, sector 143297848, root 419, inode 818783, offset 95174656, length 4096, links 1 (path: var/log/daemon.log)

有没有办法通过使用值来确定子卷路径sector XXXXXXX, root XXX, inode XXXXXXX, offset XXXXXXXX?

btrfs
  • 1 个回答
  • 528 Views
Martin Hope
ceremcem
Asked: 2018-09-01 23:20:52 +0800 CST

是什么让 Linux 发行版具有可移植性?

  • 6

什么可能会阻止我从笔记本电脑上拆下当前的硬盘并购买一台新笔记本电脑,安装磁盘并从我离开的地方继续?换句话说,是什么阻止了我当前的 Debian 9 安装被算作可移植?

  • 如果 Grub 条目使用实体引用(UUID 是正确的解决方案,而不是/dev/sdaXor (hd0,1))
  • 如果新笔记本电脑的 CPU 架构支持我的安装(在本例中为 x64)

新笔记本电脑应该会启动(在我的情况下正在启动)。

在最坏的情况下,驱动程序可能会丢失,但我的意图是创建一个名为的脚本switch-to-new-hardware.sh,它将安装:

  • 显卡驱动程序(如果可以,如果需要)
  • NIC(eth、wifi)卡驱动程序(如果需要)
  • 声卡驱动
  • ...

切换到新硬件时应该考虑什么?

system-installation portability
  • 2 个回答
  • 153 Views
Martin Hope
ceremcem
Asked: 2018-08-17 01:33:50 +0800 CST

无论如何在 btrfs 子卷快照时应用过滤器?

  • 1

btrfs sub snap foo bar创建与 subvolume 完全相同的 subvolume 内容foo,bar除了foo.

我想要的是从输出(bar)中也排除一些常规文件夹,例如node_modulesand tmp; 就像rsync --exclude ...那样。

有几种方法可以实现这一点,例如:

  • 为要排除的每个文件夹创建一个子卷。(缺点:不能排除自动生成的文件夹,因为它们是作为常规文件夹创建的,例如node_modules在这种情况下)
  • 创建一个临时子卷,删除不需要的文件/文件夹(最有希望的方法),然后从中创建最终的子卷。

除了上述之外,我们可以在创建快照时应用程序化过滤器吗?

backup btrfs
  • 1 个回答
  • 1348 Views
Martin Hope
ceremcem
Asked: 2018-08-03 21:07:20 +0800 CST

如何在 initramfs 中的 switch_root 之前运行脚本?

  • 2

我正在 initramfs 中启动 dropbear ssh 服务器,以便能够通过 SSH *解锁加密分区。

在 Debian Jessie 中,一切都很好,但在 Buster 中,dropbear 似乎并没有在 之后停止switch_root,这会阻止 OpenBSD ssh 服务器启动。

apt-get purge dropbear没有帮助,which dropbear打印/usr/bin/dropbear和ps -ef | grep dropbear打印/sbin/dropbear;这说明这个过程是在 initramfs 阶段开始的,并且没有停止。

作为一种解决方法,我正在killall dropbear使用 SSH 服务脚本,但在切换根分区之前将其终止会更合适。

那时我该如何运行脚本?

debian initramfs
  • 2 个回答
  • 3304 Views
Martin Hope
ceremcem
Asked: 2018-04-11 08:00:15 +0800 CST

如何从 packages.debian.org 确定特定包的 sources.list 条目的名称?

  • 0

在尝试编译软件时,apt-get抛出一个错误,说它找不到包libpyside-dev。我在网上搜索了那个包,它在https://packages.debian.org/sid/libpyside-dev上找到。我不知道应该添加到哪个存储库/etc/apt/sources.list才能通过apt-get.

该页面上的 sources.list 条目在哪里?

编辑

  1. 我的apt-cache policy输出在这里。

  2. 我的 Debian 版本 ( cat /etc/debian_version) 是:buster/sid

  3. 添加deb https://deb.debian.org/debian/ sid main contrib non-free似乎解决了这个问题(以及其他有问题的包),但我不确定这是否是正确的方法。

debian apt
  • 1 个回答
  • 148 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve