Questions tagged «linux»

这些问题通常与Linux有关-并非特定于特定发行版。如果问题恰好在Linux环境中,请在问题正文中指定Linux发行版,但不要使用/ linux标记。

3
找出库是否在路径中
假设我要测试某个程序是否安装了库并且可以使用它。我可以使用ldconfig -p | grep mylib它来确定它是否已安装在系统上。但是如果仅通过设置知道该库LD_LIBRARY_PATH怎么办? 在这种情况下,程序可能能够找到该库,但ldconfig找不到。如何检查库是否在组合链接器路径中? 我要补充一点是,我正在寻找一个即使我手头上没有真正的程序(例如,该程序尚未编译)也可以使用的解决方案,我只想知道某个库存在于ld“的路径。


3
如何检测isolcpus是否被激活?
例如,当您首次在服务器上连接时,如何检测isolcpus是否被激活以及在哪个cpus上被激活。条件: 不会产生任何进程以查看将在何处进行迁移。 用例是isolcpus=1-7一个6个核i7处理器,似乎在启动时不激活isolcpus,我想知道,如果可能的/proc/,/sys或者可以在用户空间可以读取任何内核内部,提供isolcpus激活的清晰状态以及与哪个CPU有关。甚至读取isolcpus首先关注的调度程序的活动设置。 考虑到正常运行时间非常长,因此dmesg不再显示启动日志以检测启动时的任何错误。基本的答案,如“ 看内核cmd行 ”,将不被接受:)
15 linux  kernel 

1
如何检查我是否具有root用户访问权限?
我的老板希望他的团队成员让他知道谁具有根访问权限。 如何检查我是否具有root用户访问权限? 如果我可以登录服务器并使用进行任何操作sudo,是否表示我具有root用户访问权限?
15 linux  root 


3
100%分页到页面缓存中的文件被另一个进程修改后会发生什么
我知道修改页面缓存页面后,它会被标记为脏页面并需要回写,但是在以下情况下会发生什么: 方案: 文件/ apps / EXE是可执行文件,已完全分页到页面缓存中(所有页面都在缓存/内存中),并由进程P执行 然后,连续发行版将/ apps / EXE替换为全新的可执行文件。 假设1: 我假设进程P(以及其他任何具有引用旧可执行文件的文件描述符的人)将继续使用旧的/ apps / EXE内存,并且尝试执行该路径的任何新进程都将获得新的可执行文件。 假设2: 我假设,如果不是文件的所有页面都映射到内存中,那么在出现页面错误要求文件中的页面已被替换之前,一切都会好起来的,并且可能会发生段错误? 问题1: 如果用vmtouch等文件锁定文件的所有页面,这是否会完全改变方案? 问题2: 如果/ apps / EXE位于远程NFS上,那会有什么不同吗?(我认为不是) 请更正或验证我的2个假设,并回答我的2个问题。 我们假设这是一个带有某种3.10.0-957.el7内核的CentOS 7.6盒子 更新:进一步考虑,我想知道这种情况是否与其他脏页情况没有区别。 我猜写新二进制文件的过程将进行读取并获取所有缓存页面,因为它们都已被分页,然后所有这些页面都将被标记为脏。如果它们被锁住了,则在ref计数变为零后,它们将只是无用的页面而占用核心内存。 我怀疑当前执行的程序结束时,其他任何东西都将使用新的二进制文件。假设一切正确,我猜只有在仅部分文件进入页面时才有意思。

4
如何在Linux中实现文件系统驱动程序驱动程序?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 11个月前关闭。 假设我已经发明了一个新的文件系统,现在我想为其创建文件系统驱动程序。 如何使用内核模块完成此文件系统驱动程序? 文件系统驱动程序如何访问硬盘,文件系统驱动程序应包含访问硬盘的代码,还是Linux包含设备访问所有文件系统驱动程序使用的硬盘的驱动程序?

3
是否存在一个始终存在的文件,并且“普通”用户无法对其进行统计?
我需要此单元测试。有一个函数对作为其参数传递的文件路径执行lstat。我必须在lstat失败的地方触发代码路径(因为代码覆盖率必须达到90%) 该测试只能在单个用户下运行,因此我想知道Ubuntu中是否存在一个始终存在的文件,但普通用户对该文件或文件夹没有读取权限。(因此lstat除非以超级用户身份执行,否则将失败。) 不存在的文件不是解决方案,因为有一个单独的代码路径已由我触发。 编辑:仅缺少对该文件的读取访问权是不够的。这样lstat仍然可以执行。通过在/ root中创建一个文件夹并在其中创建文件,我能够触发它(在我具有root访问权限的本地计算机上)。并在文件夹上设置权限700。因此,我正在搜索只能由root用户访问的文件夹中的文件。


6
/etc/apt/sources.list.d相对于/etc/apt/sources.list有什么好处?
我知道以前曾问过这个问题,但我不接受“您可以清楚地看到自定义添加项”的答案。当我添加ppa时(这是我多年以来未曾做过的事情),我敲了键盘上标有“ Enter”的键,这使我可以在新条目之前添加一个空行(我什至会添加一个解释性注释,但我是技术作家,所以.....)。我喜欢sources.conf干净整洁。 /etc/apt/sources.d 意味着我有六个要解析的文件,而不是一个。 AFAIK,拥有一个配置文件与6没有“绝对”优势(出于争辩,也许您拥有3甚至2,没关系……1仍然胜过2)。 有人可以拿出一个理性的优势,“您可以清楚地看到自定义添加项”是一个穷人的借口。 我必须补充一点,我爱改变,但是,只有在改变带来了好处的情况下,我才喜欢。 首次回复后进行编辑: 它允许需要自己存储库的新安装不必搜索平面文件以确保它没有添加重复的条目。 现在,他们必须在目录中搜索重复文件而不是平面文件。除非他们假设管理员不要改变事情... 它使系统管理员可以轻松地禁用(通过重命名)或删除(通过删除)存储库集,而无需编辑整体文件。 管理员必须在grep目录下找到合适的文件进行重命名,然后他才可以搜索一个文件并注释掉一行,而sed单行代码几乎“可以”管理任何管理员。 它允许程序包维护人员发出简单的命令来更新存储库位置,而不必担心无意间更改了无关存储库的配置。 我不明白这一点,我“假设”包维护者知道他的存储库的URL。同样,必须sed具有目录而不是单个文件。
14 linux  apt  etc 

4
如何找到Linux上已卸载分区的大小?
我正在使用tune2fs,但是它以块为单位提供数据,并且我无法获得分区总大小的确切值。 我也用过fdisk -l /dev/mmcblk0p1,但是从这里得到的大小也是一个不同的值。 如何找到确切的分区大小?
14 linux 

4
“ passwd”和“ chpasswd”有什么区别?
我从一本书passwd中阅读了这些命令的描述 : 更改现有用户的密码。 chpasswd: 读取登录名和密码对的文件,并更新密码。 看来这些命令执行相同的工作。它们之间有区别吗? 编辑: 我想学习何时使用它们更改哪个文件。他们更改相同文件还是不同文件?如果他们更改了不同的文件,它们是什么?

2
如何在Mint 17.3上手动添加启动应用程序
我已经完全更新了Linux Mint 17.3。 我需要添加一些应用程序来启动。 问题是,以下对话框不起作用-不会从列表中添加我一个应用程序,也不会添加任何自定义命令。 无论如何,我可能必须通过其他方式手动添加这些应用程序,可能是通过编辑一些启动文件?


3
整个内核在启动时是否已加载到内存中?
我通读了这份流行的IBM文档(我在网络上经常看到该文档),解释了初始RAM磁盘的功能。 我在构想这是如何工作的过程中碰壁了。 在文档中说 引导加载程序(例如GRUB)标识要加载的内核,并将该内核映像和任何相关的initrd复制到内存中 我已经很困惑:它将整个内核复制到内存中还是仅复制其中一部分?如果整个内核都在内存中,那为什么我们还需要初始的RAM磁盘? 我认为initrd的目的是为了拥有一个小的通用内核映像,并且initrd会在加载内核映像之前在其中安装正确的模块。但是,如果整个内核已经在内存中,为什么我们需要initrd? 这也引起了另一件事,使我感到困惑-装入内核的模块在哪里?是否所有内核模块都存储在initrd中?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.