Questions tagged «linux»

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

4
sendmail在这里指的是什么?
当我从debian仓库安装sendmail时,得到以下输出: Disabling HOST statistics file(/var/lib/sendmail/host_status). Creating /etc/mail/sendmail.cf... Creating /etc/mail/submit.cf... Informational: confCR_FILE file empty: /etc/mail/relay-domains Informational: confCT_FILE file empty: /etc/mail/trusted-users Updating /etc/mail/access... Updating /etc/mail/aliases... WARNING: local host name (ixtmixilix) is not qualified; see cf/README: WHO AM I? 有人可以告诉我这是什么意思,要限定我的主机名我需要做什么?

2
30%的RAM是“缓冲区”。它是什么?
$ free -h total used free shared buff/cache available Mem: 501M 146M 19M 9.7M 335M 331M Swap: 1.0G 85M 938M $ free -w -h total used free shared buffers cache available Mem: 501M 146M 19M 9.7M 155M 180M 331M Swap: 1.0G 85M 938M 如何在输出中描述或解释“缓冲区” free? 我对该系统没有任何(已知)问题。我只是感到惊讶和奇怪,看到“缓冲区”几乎与“缓存”一样高(155M与180M)。我认为“缓存”代表文件内容的页面缓存,并且往往是“缓存/缓冲区”的最重要部分。我不太清楚什么是“缓冲区”。 例如,我将其与具有更多RAM的笔记本电脑进行了比较。在我的笔记本电脑上,“缓冲区”数字比“缓存”(200M与4G)小一个数量级。如果我对什么是“缓冲区”有一个正确的了解,那么我可以开始问为什么在较小的系统上缓冲区可能会增长到如此大的比例。 man proc (我忽略了“大”的荒谬定义): …
13 linux  memory  cache 

1
Linux的动态链接程序搜索路径的顺序是什么?
这不是重复的,因为这处理的是我在使用时注意到的特殊性/etc/ld.so.conf。 要获取动态链接程序在库中搜索的路径,请运行命令ldconfig -v | grep -v "^"$'\t' | sed "s/:$//g"。何时/etc/ld.so.conf未列出任何路径。上一条命令的输出是 /lib /usr/lib 我认为它/lib首先搜索,然后搜索/usr/lib。当添加新的路径,例如/usr/local/lib,对/etc/ld.so.conf再重拍/etc/ld.so.cache时,输出从ldconfig -v | grep -v "^"$'\t' | sed "s/:$//g"变 /usr/local/lib /lib /usr/lib 我觉得这很奇怪,因为如果我正确地搜索列出的目录的顺序是从上到下,那么在/lib和之前会搜索其他目录/usr/lib。在受信任目录之前搜索附加目录并不奇怪,但是在/lib之前搜索时/usr/lib,这很奇怪,因为/bin&/sbin在/usr/bin&/usr/sbinin 之后搜索PATH。 即使被列出的路径ldconfig -v | grep -Ev "^"$'\t' | sed "s/:$//g"是从底部寻找到顶部,它仍然是一个扭曲的排序,因为额外的目录会在受信任的人后,而被搜索/lib会后进行搜索/usr/lib。 那么,ld.so搜索库路径的顺序是什么?为什么/lib以前被搜索/usr/lib?如果不是,那么为什么还要搜索其他目录/lib?

1
在Linux上运行Mac OS X应用程序
根据这篇维基百科文章: OS X是由Apple Inc.开发和销售的一系列基于Unix的图形界面操作系统。 所以我在想: 有没有与Wine类似的应用程序,但可以运行Mac应用程序? 是否可以在Linux机器上运行Mac OS X应用程序?

3
是什么阻止发行版使用最新的Linux内核?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 4年前关闭。 大多数Linux发行具有一定的内核版本,只有它更新发行点(x.y.z至x.y.(z+1))和安全更新。 另一方面,我知道Linux有一个非常严格的策略,即不更改内核ABI,并且永远不会破坏用户空间。实际上,Linus有许多针对希望(有意或无意)更改内核是非向后兼容方式的开发人员的公开发脾气。 我不明白为什么发行版使用“稳定”内核而不是始终更新到最新内核。这不是批评,我只是对原因感到好奇。

2
阅读“ / proc”以了解进程是否已打开端口
我需要知道是否使用给定PID的进程在不使用外部命令的情况下打开了端口。然后,我必须使用/proc文件系统。/proc/$PID/net/tcp例如,我可以读取文件并获取有关进程打开的TCP端口的信息。但是,在多线程进程上,该/proc/$PID/task/$TID目录还将包含一个net/tcp文件。我的问题是: 我需要遍历所有线程net/tcp文件,还是将线程打开的端口写入进程net/tcp文件。
13 linux  tcp  proc  open-files 



1
如何了解OpenVPN客户端上的路由表
我只是设置了OpenVPN,它按预期工作。但是,客户端的路由表使我无休止。这是路由表: # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.8.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 10.8.0.1 10.8.0.5 255.255.255.255 UGH 0 0 0 tun0 54.202.18.143 10.0.2.2 255.255.255.255 UGH 0 0 0 eth0 10.0.2.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0 169.254.0.0 0.0.0.0 …



8
如何防止进程写入文件
我想以无法创建或打开任何要写入的文件的方式在Linux上运行命令。它仍然应该能够正常读取文件(因此不能选择空的chroot),并且仍然能够写入已经打开的文件(尤其是stdout)。 如果仍然可以将文件写入某些目录(即当前目录),则可以获得加分。 我正在寻找一种本地解决方案,即不涉及为整个系统配置AppArmor或SELinux之类的东西,也不涉及root特权。不过,这可能涉及安装其内核模块。 我正在研究功能,如果有创建文件的功能,这些功能将很容易实现。如果ulimit涵盖了此用例,则它是另一种方便的方法。

2
具有多个相同LAN的1:1 NAT
我想连接位于远程建筑物上的多个LAN。 “中心”站点有一台运行OpenVPN的Linux计算机。每个远程站点还运行OpenVPN。 中央站点的局域网编号为192.168.0.0/24 几个远程站点也编号为192.168.0.0/24 我不能/不想/不想/无论如何修改局域网编号 我无法控制大多数远程OpenVPN 然后,我需要: 1.定义虚拟LAN 2.为每个站点配置1:1 NAT 3.必须在中央路由器上配置1:1 NAT 。 因此,每个站点都具有一个10.10.x.0 / 24 LAN。 当计算机要在站点12上访问192.168.0.44时,只需将一个paquet发送到10.10.12.44 操作VPN对我来说不是问题。我目前连接60多个站点。但是我找不到实现此1:1 NAT的简单方法。 这是从中央站点发送到远程站点的数据包及其响应数据包的示例: 我使用iptables NETMAP进行了一些测试,但由于无法找到路由决策后无法修改源+目标的方法,因此无法使其正常工作。 我宁愿避免使用新的--client-natOpenVPN功能。 也许我必须强制路由ip route?还是用两次循环进入网络堆栈veth? 注意:我不想化妆舞会。仅1/1 NAT。 编辑: 使用常规的openVPN设置是不可能的。因为来自远程站点的数据包与来自另一个站点的数据包是无法区分的:两者具有相似的源地址和目标地址,并且都来自相同的Tun(或Tap)接口。因此,不可能对其进行源NAT。 解决方案1:在远程站点上进行NAT。就我而言,这是不可能的。我只需要在中央站点上执行此操作即可。 解决方案2:为每个远程站点设置一个VPN。因此,我每个人要吃一次。我认为可以。不是很有效的内存,但是还可以。 解决方案3:在VPN内为每个站点设置一个(未加密的)隧道。这将为每个接口提供一个接口。简单的隧道不是跨平台的(据我所知)。例如,对于Linux,GRE,ipip或sit都可以,但是某些远程站点仅运行一台Windows计算机,因此在其上安装了openVPN。因此不可能建立一个简单的隧道。另一个选择是使用更复杂的隧道(“?”),但是系统和sysadmin的开销可能比拥有多个VPN更大。 解决方案4:编译最新的openVPN,因为它包含1:1 NAT功能。我这周测试。
13 linux  routing  openvpn 

3
如何调整笔记本电池的充电阈值?
我的笔记本电脑是Lenovo T400,操作系统是Ubuntu 12.04。 我无法调整电池开始充电和停止充电的阈值。我观察到其当前的开始充电阈值约为40%,而停止充电阈值约为60%。我忘记了是否是我,以及我用来控制电池的哪个程序停止以60%充电并以40%开始充电。 我遵循了我以前的帖子/ubuntu/58789/how-to-check-charged-percentage-of-battery-and-to-ad-adjust-its-thresholds,但找不到/sys/devices/platform/smapi。我也有/proc/acpi/battery/BAT0/,但我只有三个文件 alarm,info和state。 我想调整阈值。所以我想知道该怎么做?

2
是什么设置fs:[0x28](堆栈金丝雀)?
从这篇文章中可以看出,这FS:[0x28]是一个堆栈-canary。我正在使用此功能的GCC生成相同的代码, void foo () { char a[500] = {}; printf("%s", a); } 具体来说,我正在开会。 0x000006b5 64488b042528. mov rax, qword fs:[0x28] ; [0x28:8]=0x1978 ; '(' ; "x\x19" 0x000006be 488945f8 mov qword [local_8h], rax ...stuff... 0x00000700 488b45f8 mov rax, qword [local_8h] 0x00000704 644833042528. xor rax, qword fs:[0x28] 0x0000070d 7405 je 0x714 0x0000070f e85cfeffff …
13 linux  security  gcc  stack 

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.