我是 ubuntu 新手,正在处理分区问题。我不想犯错误 - 所以我宁愿问。
我知道有很多关于向分区添加内存的线程,但我不确定,因为没有一个线程是 1:1。我想将剩余的可用内存添加到 vda2 (ext4) 分区(ubuntu 所在的位置),而不会丢失任何数据。
您能给我一个简单的解决方案吗?我必须删除 vda3 分区?
谢谢,抱歉问了个愚蠢的问题。
我是 ubuntu 新手,正在处理分区问题。我不想犯错误 - 所以我宁愿问。
我知道有很多关于向分区添加内存的线程,但我不确定,因为没有一个线程是 1:1。我想将剩余的可用内存添加到 vda2 (ext4) 分区(ubuntu 所在的位置),而不会丢失任何数据。
您能给我一个简单的解决方案吗?我必须删除 vda3 分区?
谢谢,抱歉问了个愚蠢的问题。
我使用一个动画软件(Mine-Imator lol),它对名为“LibTiff5”的软件包有很强的依赖性。现在我知道那是什么了,问题是它特别需要 LibTiff 5。 但是从 Ubuntu 24.04(或 23 不确定)开始,LT5 被放弃,转而使用 LibTiff 6,并且仍然保留在 22.04(Jammy Jellyfish)上。当然,它不支持 LT6,因为在撰写本文时,该软件已经 2 年没有更新了。LT5-dev 也是如此。我的问题是,有没有一种好的、不痛苦的方法可以在 Ubuntu 24.04 上安装旧的 LT5?
......../Mine-imator: error while loading shared libraries: libtiff.so.5: cannot open shared object file: No such file or directory
我的新ABS 桌面上安装了 Ubuntu 24.04 ,尽管 hciconfig、bluetoothctl 没有显示任何错误,但在扫描期间我却看不到任何设备。
$ hciconfig
hci0: Type: Primary Bus: USB
BD Address: FC:B0:DE:38:30:96 ACL MTU: 1021:8 SCO MTU: 255:12
UP RUNNING PSCAN ISCAN
RX bytes:5389 acl:0 sco:0 events:539 errors:0
TX bytes:19604 acl:0 sco:0 commands:519 errors:0
手动使用 bluetoothctl 执行以下操作:
$ bluetoothctl
Waiting to connect to bluetoothd...[bluetooth]# Agent registered
[bluetooth]# agent on
Agent is already registered
[bluetooth]# default-agent
[bluetooth]# Default agent request successful
[bluetooth]# scan on
[bluetooth]# SetDiscoveryFilter success
[bluetooth]# Discovery started
[bluetooth]# [CHG] Controller FC:B0:DE:38:30:96 Discovering: yes
[bluetooth]#
据我所知, lsmod 没有显示任何有趣的东西:
$ lsmod | grep btusb
btusb 77824 0
btrtl 32768 1 btusb
btintel 57344 1 btusb
btbcm 24576 1 btusb
btmtk 12288 1 btusb
bluetooth 1028096 46 btrtl,btmtk,btintel,btbcm,bnep,btusb,rfcomm
~ ⌚ 13:34:42
$ lsmod | grep bluetooth
bluetooth 1028096 46 btrtl,btmtk,btintel,btbcm,bnep,btusb,rfcomm
ecdh_generic 16384 2 bluetooth
以下是 的输出lsusb; sudo dmesg | egrep -i 'blue|firm'
:
$ lsusb; sudo dmesg | egrep -i 'blue|firm'
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 003: ID 0b05:19af ASUSTek Computer, Inc. AURA LED Controller
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0489:e112 Foxconn / Hon Hai Bluetooth Radio
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
[ 1.157720] usb 3-1: Product: Bluetooth Radio
[ 4.892212] systemd[1]: Mounting snap-firmware\x2dupdater-127.mount - Mount unit for firmware-updater, revision 127...
[ 4.893131] systemd[1]: Mounting snap-firmware\x2dupdater-147.mount - Mount unit for firmware-updater, revision 147...
[ 5.078863] Bluetooth: Core ver 2.22
[ 5.103287] NET: Registered PF_BLUETOOTH protocol family
[ 5.103290] Bluetooth: HCI device and connection manager initialized
[ 5.103294] Bluetooth: HCI socket layer initialized
[ 5.103296] Bluetooth: L2CAP socket layer initialized
[ 5.103303] Bluetooth: SCO socket layer initialized
[ 5.319068] rtw89_8851be 0000:08:00.0: loaded firmware rtw89/rtw8851b_fw.bin
[ 5.319858] rtw89_8851be 0000:08:00.0: Firmware version 0.29.41.3 (65cefb31), cmd version 0, type 5
[ 5.319861] rtw89_8851be 0000:08:00.0: Firmware version 0.29.41.3 (65cefb31), cmd version 0, type 3
[ 6.292072] [drm] Loading DMUB firmware via PSP: version=0x05000F00
[ 6.292458] [drm] Found VCN firmware Version ENC: 1.30 DEC: 3 VEP: 0 Revision: 4
[ 6.292464] amdgpu 0000:0b:00.0: amdgpu: Will use PSP to load VCN firmware
[ 7.299392] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 7.299396] Bluetooth: BNEP filters: protocol multicast
[ 7.299401] Bluetooth: BNEP socket layer initialized
[ 7.300285] Bluetooth: MGMT ver 1.22
[ 9.138499] Bluetooth: RFCOMM TTY layer initialized
[ 9.138505] Bluetooth: RFCOMM socket layer initialized
[ 9.138508] Bluetooth: RFCOMM ver 1.11
[ 7300.714099] audit: type=1400 audit(1738440042.768:183): apparmor="DENIED" operation="open" class="file" profile="snap.firmware-updater.firmware-notifier" name="/proc/sys/vm/max_map_count" pid=28130 comm="firmware-notifi" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[18100.787075] audit: type=1400 audit(1738450842.532:184): apparmor="DENIED" operation="open" class="file" profile="snap.firmware-updater.firmware-notifier" name="/proc/sys/vm/max_map_count" pid=74038 comm="firmware-notifi" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
此时我已经没有主意了,非常感谢任何帮助。为了“好玩”,这是我尝试使用 chat-gpt 进行的调试会话
我以前使用 Windows,并使用 Tortoise 作为 Git 的 GUI。我并不需要 Ubuntu 的完整版 git 客户端(我很乐意使用命令行),但我希望在 nautilus 窗口中有一些图标叠加层,指示我的存储库中文件和文件夹的状态。
这里推荐的方法是什么?提前致谢!
我在使用 BIOS 固件的 VMware 虚拟机上运行 Ubuntu。我一直以为 BIOS 系统使用 MBR,但我的磁盘设置了 GPT。这让我有点困惑,所以我有几个问题:
1- 为什么我的基于 BIOS 的虚拟机使用 GPT 分区表?我知道 BIOS 本身并不关心分区表,那么为什么在我的情况下它会使用 GPT 而不是 MBR?
2-GRUB 从哪里加载?BIOS 是否仍从 MBR(磁盘的第一个扇区)加载 GRUB,还是从其他区域(例如 EFI 系统分区)加载 GRUB?
3-分区中的bios-grub/dev/sda1
是什么?这个 1MB 分区中到底存储了什么?
root@linux:~# parted -l /dev/sda
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 64.4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 64.4GB 64.4GB ext4
我在网上搜索过,甚至在这里读过相关问题,但没有得到令人信服的答案。我真的很感激任何解释。
我已经使用 Everything 搜索实用程序一段时间了,它很棒。现在我决定也使用工具栏,完全替换 Windows 搜索,但我希望摆脱一些功能差异。例如,我无法键入environ,这样它就会显示访问环境变量编辑的经典选项。我必须键入sysdm.cpl
以访问它,然后选择选项卡。使用 Windows 搜索,我只需键入environ
,选项就会作为第一个结果出现。
我不想了解我想要访问的每个服务名称,例如msconfig
,,等等。这些都是简单regedit
的sysdm.cpl
例子,但还有很多。
我如何添加此功能?
我尝试直接调用该服务,但显然这不是我想要的。
我编写的 PowerShell 脚本必须尽可能兼容,因此在检查事物状态时,我总是更喜欢轮询枚举 ( 4
) 而不是字符串 ( Enabled
)。在 99% 的情况下,即使在本地化的 Windows 版本上,字符串值也保持一致,但总会有一台设备不一致,而这台设备就是运行我的脚本并给我带来麻烦的设备。只要我知道枚举映射到什么,这就可以了,但获取这些信息就像拔牙一样困难。
示例:服务
谷歌搜索“service state enum powershell”会将您带到此处,您可以看到一个漂亮的表格,其中列出了服务状态的值,这些值与您执行时获得的值一致(get-service 'xyz').status.value__
。这使我能够说
if ($value -eq 1)
与相反if ($value -eq 'enabled')
,这是一个更为可靠的比较。
同样,很好,如果您知道要搜索的术语。
实际问题
是是否有一些 PowerShell 命令或网站可用于列出这些value__
枚举?现在,我正在尝试查找state
值的枚举get-WindowsOptionalFeature
,但一无所获。当然,这不是故意要这么乱吧?我是自学成才的,所以我希望有一些知识库来存储这些东西,这些知识都是常识,而我只是略过了。
由于某种原因,按下显示器的电源按钮时,X11 / lightdm 会崩溃。相反,运行时xset dpms force off
会让显示器进入低功耗模式,这很好,并且可以解决按下有问题的电源按钮的问题。
运行 Arch Linux。
按下某个键将显示器切换回工作状态后,计算机闲置几分钟后屏幕将变为空白。我想禁用该行为。
你会如何编写一个 bash 别名(例如off
):
例如:
alias off='xset dpms force off ; wait until keypress ; xset -dpms'
有没有更简单的解决方案?
我的声音总是静音的,因为我从来不需要它(如果我需要听东西,我总是戴上耳机),但我希望即使声音静音,充电铃声仍然会响起。有什么办法吗?我知道这是一个非常小众的情况
在安装服务器时,我安装了 neofetch,就像其他人一样。每当我登录到 shell 时,我都会运行它。
快进到今天,我已经卸载了 neofetch 而使用 fastfetch。
现在,当我登录时,我在终端顶部收到一条可爱的错误消息:
-bash: neofetch: command not found
好的,我期望如此。但是,我无论如何也找不到需要从哪里删除调用。
它不在.bashrc
、 或 中.profile
。哎呀,我甚至在文件系统上尝试了递归 grep(见下文)来查找neofetch
,结果返回了…… 0 个匹配项。它也不是 SSHRemoteCommand
设置,因为它发生在使用不同配置的多个客户端上。
如果相关的话,我正在使用 tmux 来实现终端持久性。
显然,重新安装 Debian 超出了范围,我想我可以忽略它,但这很烦人。
我很清楚第一世界的问题有多严重。
Grep 命令:
sudo grep -Rnwso / -e 'neofetch'
这将返回一些来自.bash_history
neofetchconfig.conf
文件的结果,但是不会有任何结果会导致 neofetch 在登录时运行。
ELF 的最新规范列出了许多可以与其一起使用的架构,但是一些自我分配是在野外进行的(例如中国的 LoongArch)。
有没有人负责协调这些任务?LANANA 好像没有这样的列表,还是我遗漏了什么?
我正在对 mint 20 进行代码研究,/lib/lsb/init-functions
只是为了熟悉 SystemV init 系统。
其中有log_action_end_msg
一个函数包含以下代码片段,
TPUT=/usr/bin/tput
if log_use_fancy_output; then
RED=$( $TPUT setaf 1) #=> Step 1
NORMAL=$( $TPUT op) #
/bin/echo -e "${RED}failed${end}${NORMAL}" || true #=> Step 2
else
echo "failed${end}" || true
fi
当变量RED
被赋予值时$( $TPUT setaf 1 )
,我期望 RED 被赋予一个空字符串,因为命令行上的 tput 运行不会打印任何内容。
但是,我看到变量被传递给 echo in,暗示它存储了一些东西。当 tput 不打印任何内容时,如何设置Step 2
变量?RED
(或者)让我们把其他东西放在一边。拿一个新的终端,然后RED=$( $TPUT setaf 1)
在我的终端上运行,我期望终端字体颜色设置为红色,但事实并非如此。只有当我这样做时echo $RED
,它才会变成红色。
为什么 tput 命令没有在替换步骤期间运行,但是在调用时运行echo
。
当我在家工作时,我通过以下命令从我的 Linux 机器连接到 VPN:
$ sudo openconnect --protocol=anyconnect -u usernameatwork --authgroup=MFA foo.bar.baz.work
这将要求我
sudo
,我刚刚注意到
who
我的本地机器告诉我我是唯一一个登录到我的计算机的人:
myself tty1 2025-01-14 17:47
who
我的本地机器告诉我刚刚再次登录:
myself tty1 2025-01-14 17:47
myself pts/2 2025-02-03 07:17
输出的第二行是什么意思?
我的意思是,我已经连接到 VPN。为什么这意味着我重新登录了自己的系统?
我正在使用带有 Xfce 的 MX Linux 并尝试交换三个键:
一次交换两个键可以使用setxkbmap
,例如:
setxkbmap -option ctrl:swap_lalt_lctl
但是,如果我尝试添加第二个交换,例如:
setxkbmap -option ctrl:swap_lalt_lctl,altwin:swap_alt_win
我最终重复了相同的键,而不是干净的三向交换。
我创建了一个自定义的 XKB 符号文件:
xkb_symbols "ctrl_win_alt_swap" {
include "us" // Keep the default US layout
key <LCTL> { [ Super_L ] }; // Left Ctrl → Left Win
key <LWIN> { [ Alt_L ] }; // Left Win → Left Alt
key <LALT> { [ Control_L ] }; // Left Alt → Left Ctrl
};
我将其应用于:
setxkbmap -layout custom -variant ctrl_win_alt_swap
重新映射有效,但有一个问题除外:
Ctrl
,这是预期的。Ctrl
。为什么会发生这种情况?如何正确交换 Ctrl、Win 和 Alt 而不发生修饰符冲突?
我必须在 zsh 中为命令设置值自动完成(在下面的最小示例中,我将使用 进行展示testcmd
)。因此,我当前的代码可以很好地处理硬编码值:
function testcmd()
{
echo "Nothing to do, just a test command"
}
_test_complete() {
_values \
"Possible values" \
foo'[Foo]' \
bar'[Bar baz]' \
}
compdef _test_complete testcmd
当我输入时testcmd <tab>
,我正确地得到了以下所需的渲染:
$ testcmd
Possible values
bar -- Bar baz
foo -- Foo
但是正如您所看到的,这些值在函数内部是硬编码的,理想情况下,函数应该从变量中检索它们。
因此很自然地,我将值放入变量中,values_variable
如下所示:
function testcmd()
{
echo "Nothing to do, just a test command"
}
_test_complete() {
local values_variable
values_variable="foo'[Foo]' \
bar'[Bar baz]' \ "
_values \
"Possible values" \
${values_variable}
}
compdef _test_complete testcmd
但是当我尝试时testcmd <tab>
它完全失败了:
$ testcmd
_values:compvalues:11: invalid value definition: foo'[Foo]' \t\tbar'[Bar baz]' \
_values:compvalues:11: invalid value definition: foo'[Foo]' \t\tbar'[Bar baz]' \
_values:compvalues:11: invalid value definition: foo'[Foo]' \t\tbar'[Bar baz]' \
$ testcmd
echo ${values_variable} | sed "s/ /\\ /g"
;$values_variable
命令eval
来假装它的内容直接在定义中输入_values
;eval
并逃脱eval $(echo ${values_variable} | sed "s/ /\\ /g")
;echo "$values_variable" | while read -r line; do
eval "$line"
done
${(@f)values_variable}̀
;在 如何使用to (zsh 补全) tread传递文件内容cat
_values
中,我找到了从外部文件导入值的解决方案,但用户似乎面临着相同的空格转义问题。但是,我无法将其调整为内部变量的情况$values_variables
。
我自然尝试了这个,但它也不起作用:
_test_complete() {
local values_variable
values_variable="foo'[Foo]' \
bar'[Bar baz]' \ "
OLD_IFS=$IFS
IFS=$'\n'
_values \
"Possible values" \
${values_variable}
IFS=$OLD_IFS
}
_values
如何从变量加载要提供给自动完成函数内部的值?
我正在使用 SQL-Server,使用 SQL-Server Management Studio (SSMS)。
为了执行备份恢复,我通过 SSMS 创建了一个名为的 SQL Server 登录PORT-DDM\SQLEXPRESS
,这是连接 SQL-Server 数据库的典型方式。
我还创建了第二个实例,名为PORT-DDM\SQLEXPRESS01
(其中PORT-DDM
是我的 PC 的名称),现在我想将PORT-DDM\SQLEXPRESS
实例中的备份还原到PORT-DDM\SQLEXPRESS01
实例中。我已进行PORT-DDM\SQLEXPRESS
备份并将其存储在本地目录中C:\Temp_Folder\<filename>.bak
,但在执行还原操作时,出现以下错误消息:
===================================
Restore of database '<Prod>_<Customer>' failed. (Microsoft.SqlServer.Management.RelationalEngineTasks)
------------------------------
Program Location:
at Microsoft.SqlServer.Management.RelationalEngineTasks.RestoreDatabaseTaskFormComponent.PerformTask(ITaskExecutionContext context)
at Microsoft.SqlServer.Management.RelationalEngineTasks.RestoreDatabaseTaskFormComponent.Perform(ITaskExecutionContext context)
at Microsoft.SqlServer.Management.TaskForms.TaskExecutionManager.ExecuteTaskSequence(ISfcScriptCollector collector)
===================================
System.Data.SqlClient.SqlError: The operating system returned the error '5(Access is denied.)' while attempting 'RestoreContainer::ValidateTargetForCreation' on 'C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\<Prod>_<Customer>.mdf'. (Microsoft.SqlServer.SmoExtended)
------------------------------
For help, click: https://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=16.100.47021.0&LinkId=20476
------------------------------
Program Location:
at Microsoft.SqlServer.Management.Smo.RestorePlan.Execute()
at Microsoft.SqlServer.Management.RelationalEngineTasks.RestoreDatabaseTaskFormComponent.PerformTask(ITaskExecutionContext context)
(所提及的链接似乎已失效。)
我该怎么办?
哦,我忘了说了:我的备份所在的位置可供我的电脑的每个用户访问:
我已将完全控制权授予所有人,使用icalcs
。现在我陷入困境,因为 SQL-Server 正在使用以下文件:C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\<Prod>_<Cust>.mdf
。
为了避免这种情况,我重新启动了我的 SQL-Server 会话,甚至重新启动了我的整个 PC,但问题仍然存在。
根据要求,“恢复数据库屏幕”的图像:
这正在变成一场血腥的噩梦:
=> 最后一件事是我创建“SQLExpress 01 ”登录的确切原因:为了能够拥有相同数据库的不同实例:一个用于运行时测试,一个用于恢复从客户站点检索的备份。通常,后者工作正常,但现在我正在处理一个数据库服务器无法访问的客户,所以我使用“生成脚本”来获取±备份。我的想法是再次备份我的计算机(在“SQLEXPRESS”登录下),在“SQLEXPRESS01”登录下恢复,并将其用于提到的“生成脚本”场景。
我正在尝试清除 MySQL 数据库并恢复 SQL --no-data 以启动我的 Web 应用程序的全新安装。我还尝试了 SET FOREIGN_KEY_CHECKS = 0,然后 TRUNCATE TABLE 'table',然后 SET FOREIGN_KEY_CHECKS = 1。我仍然无法摆脱 AUTO_INCREMENT 值。我知道我忽略了一些明显的东西。清除这些数据以便重新安装新版本的最简单方法是什么?谢谢。
对于 SQL Server 中的分区表,使用 min/max 函数或时存在一个臭名昭著的重大性能问题TOP
。Microsoft在此处记录了此问题的解决方法。我确信此问题在 SQL Server 2022 中没有得到修复。如果给他们更多钱是一种解决方法,微软肯定会更新解决方法列表。
但是,这在 SQL Server 2022 之后有改变吗?我确信我在 2024 年看到了指向此 Connect 项目的有效链接。今天,即使在所有 Connect 项目都迁移到的现代Azure 建议中,我也找不到它。这向我表明,这个已有十年历史的错误在过去几年中发生了一些事情。
我自己无法回答这个问题,因为我无法访问 SQL Server 2025 或任何前沿的 Azure 产品,我听说 SQL Server 2025 的预览版已经发布。