Questions tagged «linux»

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

1
perf_events列表中的内核PMU事件是什么?
在搜索什么人能够监测perf_events在Linux上,我找不到什么Kernel PMU event是?也就是说,与perf version 3.13.11-ckt39该perf list节目的事件,如: branch-instructions OR cpu/branch-instructions/ [Kernel PMU event] 总体上有: Tracepoint event Software event Hardware event Hardware cache event Raw hardware event descriptor Hardware breakpoint Kernel PMU event 而且我想了解它们的含义,来源。除了Kernel PMU event项目外,我对所有人都有某种解释。 从perf Wiki教程和Brendan Gregg的页面中,我知道: Tracepoints最清晰-这些是内核源代码上的宏,它们是监视的探针点,它们是随ftrace项目引入的,现在每个人都使用 Software 是内核的低级计数器和一些内部数据结构(因此,它们与跟踪点不同) Hardware event是一些非常基本的CPU事件,可以在所有体系结构上找到,并且可以通过某种方式轻松地由内核访问 Hardware cache event是-的昵称Raw hardware event descriptor如下 据我了解,Raw hardware …

1
如何创建自定义SELinux标签
我编写了一个服务/单个二进制应用程序,试图在Fedora 24上运行,它使用systemd运行,二进制文件已部署到 /srv/bot 我编写的此服务/应用程序需要在该目录中创建/打开/读取和重命名文件。 我首先开始基于SELinux创建新策略:允许进程在特定目录中创建任何文件 但是当我的应用需要重命名时,输出将显示警告: #!!!! WARNING: 'var_t' is a base type. allow init_t var_t:file rename; 我四处搜寻,发现我应该使用比基本类型更具体的SELinux标签,但是所有在线示例都向您展示了httpd / nginx / etc中的现有标签。 有没有一种方法可以仅为我自己的应用程序创建自定义标签? 我的想法是创建类似myapp_var_t的东西,使用 semanage fcontext -a -t my_app_var_t '/srv/bot(/.*)?' restorecon -R -v /srv/bot 和.pp将使用此自定义类型的自定义文件 如果有更好的解决方法,那也可以。 谢谢 更新资料 经过更多搜索之后,我认为我要执行的操作的正确术语是创建新词types,这使我进入了 https://docs.fedoraproject.org/en-US/Fedora/13/html/SELinux_FAQ/index.html#id3036916 基本上说,运行 sepolgen /path/to/binary 而且我能够得到一个模板,然后将其编译成pp文件并加载,仍然会出现一些错误,但是看起来我已经接近要执行的操作了。 如果我可以使用,我会更新这篇文章

1
在Linux上联合安装
甲联合安装呈现在单个层级的多个目录(分支)的组合视图。好的,但是我该如何在实践中使用哪一个呢? 现代Linux系统上可以使用许多联合安装技术:OverlayFS,aufs,UnionFS,各种基于FUSE的文件系统,… 给定一个用例,我如何确定哪个合适?特别是: 哪些需要在典型系统上进行root访问?(换句话说,没有特权的用户可以创建联合安装吗?) 可以安装哪些/(当然具有root访问权限)? 哪些支持写入基础分支?(即如果/foo和/bar联合安装到/union,我可以写给/foo和/bar吗?) 哪些支持写的可配置策略?(例如,当两个分支上都存在文件时,即使我从分支A获取内容,我也可以将新创建​​的文件发送到分支B吗?) 哪些支持分支之间的优先级顺序(取决于文件)?(例如,我总能在拥有该文件的所有分支中始终获取最新文件吗?) 使用示例将不胜感激。 请避免针对特定问题的答案。我正在寻找全面的答案,以复习可用的软件(类似于什么是绑定安装?)。好的答案将不胜枚举。


1
将tmpfs增加到大于物理内存的安全性如何?
我的服务器有2GB RAM和120GB SSD,以及一些RAID阵列用于存储。操作系统是Debian 8(Linux 3.16)。 我有一个MySQL密集型应用程序,它具有tmpdir= /run/mysqld,tmpfs由Debian通过/etc/default/tmpfs以下命令配置: # Size limits. Please see tmpfs(5) for details on how to configure # tmpfs size limits. TMPFS_SIZE=40%VM 以前是20%VM,大约为384M。我遇到了几个no space left on device,所以我将其增加到40%VM,但是即使有大约763M,它仍然太小。 现在,我现在应该添加更多的RAM,但是出于好奇,我想知道这里的限制。 /dev/sdd1上安装/有大约50GB的可用空间,并且速度相当快(三星850 EVO SSD) /dev/sdd5 是我的交换分区,它是3.7G(fdisk类型ID为82) TMPFS_SIZE设置为40%VM,表示/run为763M 现在我知道tmpfs可以交换了,这对我来说很好。我希望MySQL尽可能写入RAM,但是如果需要更多内存,我可以允许系统在SSD上交换它。 因此,通过我的设置,我可以将/run其设置为: 300M大吗?是。这是默认设置。 1.5GB大?是的,尝试过,MySQL占用了高达1.3GB的存储空间,并且该系统运行正常。但这还不到物理内存+交换分区的一半。 2.5GB大?这不只是物理内存,而是少于物理内存+我的交换分区的一半。 4GB大?这将完全适合一半的物理+交换 更多?像10GB?它可以利用可用空间/交换更多吗? 我猜测安全的经验法则是TMPFS_SIZE不要大于swap +一半的物理内存。我可以在不增加交换分区的情况下超越此范围吗? 另外,可以放进200%VM去/etc/default/tmpfs吗?我读过的书tmpfs(5)不知道我是否可以在这上面投入100%以上的费用。 最后,我应该改/etc/fstab而别碰/etc/default/tmpfs吗? (据了解,我仅使用来完成此操作mount -o remount,但尚未重启服务器) …
11 linux  swap  tmpfs 

2
为什么在Linux而不是OS X的“ time.h”中定义“ timer_t”
在阅读C源代码文件时,发现了此声明。(此源代码是为Linux系统程序编写的。这是非常重要的信息) #include <time.h> #include <stdio.h> static timer_t* _interval_timer; ... 首先,我想了解更多有关“ timer_t”的信息。所以我用谷歌搜索“ time.h”来获取标题信息。但是,没有关于“ timer_t”的任何消息,仅提及“ time_t”。 出于好奇,我在“ mac”计算机中搜索并打开了“ time.h” c标准库文件(如您所知,/ usr / include文件夹存储了c标准库文件。)但是,该文件与以前用谷歌搜索的文件相同。 最后,我使用虚拟机打开了Linux os(ubuntu),并在linux c标准库文件夹(文件夹路径与OSX相同)中打开了“ time.h”。如我所料,Linux中的“ time.h”文件具有timer_t的声明。 我在下面添加了声明“ timer_t”类型的代码行。 #if !defined __timer_t_defined && \ ((defined _TIME_H && defined __USE_POSIX199309) || defined __need_timer_t) # define __timer_t_defined 1 # include <bits/types.h> /* Timer …
11 linux  c  darwin 

3
从命令行安装LUKS
在nautilus或caja我单击加密磁盘的图标并输入密码时,基础块设备将映射到/dev/mapper/luks-$UUID该设备,并将其挂载在/media/$USER/$DISK,而无需root密码。有没有一种方法可以在没有GUI的情况下从命令行调用此过程,包括避免sudo并使挂载点能够从GUI再次卸载。
11 linux  mount  luks  gvfs  caja 

2
如何从lsusb输出或设备路径获取设备文件名
相关问题:USB连接/断开通知 插入/拔出设备后,我会立即收到通知,这很棒。但是要使其(几乎)完美,我还希望获得设备文件名,例如/dev/ttyUSB0,甚至更好的是所有指向它的符号链接。 但是,我找不到如何从udev,或从lsusb或其他方式获取此信息。我拥有的设备的唯一ID是类似的设备路径/devices/pci0000:00/0000:00:1d.0/usb5/5-1。如何从中获取设备文件名?
11 linux  usb  devices  udev 

4
使用bash脚本安装crontab
我创建了一个脚本,将两个脚本安装到crontab上。 #!/bin/bash sudo crontab -l > mycron #echo new cron into cron file echo "*/05 * * * * bash /mnt/md0/capture/delete_old_pcap.sh" >> mycron #schedule the delete script echo "*/12 * * * * bash /mnt/md0/capture/merge_pcap.sh" >> mycron #schedule the merge script #install new cron file crontab mycron rm mycron 该脚本将运行,并将这两行添加到crontab中。但是,如果我再次运行该脚本,它将再次添加这些行,因此,我将有四行内容相同。我希望运行安装脚本,以使插入crontab的行不会重复。我怎样才能做到这一点
11 linux  bash  cron 

3
如何在Fedora 19上添加更多/ dev / loop *设备
如何在Fedora 19上添加更多的/ dev / loop *设备?我做: # uname -r 3.11.2-201.fc19.x86_64 # lsmod |grep loop # ls /dev/loop* /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3 /dev/loop4 /dev/loop5 /dev/loop6 /dev/loop7 /dev/loop-control # modprobe loop max_loop=128 # ls /dev/loop* /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3 /dev/loop4 /dev/loop5 /dev/loop6 /dev/loop7 /dev/loop-control 所以什么都没有改变。

5
如何在Udev事件上运行长时间的进程?
我想在连接USB调制解调器时运行ppp连接,所以我使用以下udev规则: ACTION=="add", SUBSYSTEM=="tty", ATTRS{idVendor}=="16d8",\ RUN+="/usr/local/bin/newPPP.sh $env{DEVNAME}" (我的调制解调器显示/dev为ttyACM0) newPPP.sh: #!/bin/bash /usr/bin/pon prov $1 >/dev/null 2>&1 & 问题: 该udev事件触发,并newPPP.sh正在运行,但newPPP.sh过程后〜4-5s杀害。ppp没有时间进行连接(拨号超时为10秒)。 我如何运行一个长时间的过程,而这一过程不会被杀死? 我尝试使用nohup,但它也不起作用。 系统:Arch Linux 更新资料 感谢maxschlepzig,我在这里找到了解决方案。 我以前是at now用来运行与udev进程分离的工作的。 但还有一个问题没有答案:为什么nohup和&不工作?
11 linux  udev  ppp 




2
断开连接后如何阻止MAC地址更改?
所以我macchanger -A wlp68s0b1在使用crontab引导时更改了我的MAC地址,这是当我断开连接并重新连接时发生的情况: 引导后连接时: rahman@debian:~$ macchanger -s wlp68s0b1 Current MAC: 00:22:31:c6:38:45 (SMT&C Co., Ltd.) Permanent MAC: 00:00:00:00:00:00 (FAKE CORPORATION) 断开连接后: rahman@debian:~$ macchanger -s wlp68s0b1 Current MAC: 16:7b:e7:3c:d3:cd (unknown) Permanent MAC: 00:00:00:00:00:00 (FAKE CORPORATION) 重新连接后: rahman@debian:~$ macchanger -s wlp68s0b1 Current MAC: 00:00:00:00:00:00 (FAKE CORPORATION) Permanent MAC: 00:00:00:00:00:00 (FAKE CORPORATION) 依此类推,每次断开连接后,我都会得到一个不同的随机MAC地址,该地址在重新连接时会逐渐消失,为我提供真实的MAC地址,这是什么原因导致的以及如何阻止它? 一些输出: …

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.