Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答


1
free()是否取消映射进程的内存?
我正在Linux 2.6.16内核上运行C程序。我认为程序中没有内存泄漏,但是经过某些操作,程序的内存消耗保持稳定,并且不会减少。我使用“ ps v”命令监视程序的RSS值。 valgrind massif工具显示在我的进程中mmap分配了很大一部分堆。但是根据代码,这些分配应该在操作完成后释放。是否因为释放的内存仍被映射和/或仍对进程的RSS值起作用? 任何见解将不胜感激! 以下是valgrind massif报告中的片段。注意,我已经为massif工具打开了--pages-as-heap选项,以测量程序使用的所有内存。 -------------------------------------------------------------------------------- n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B) -------------------------------------------------------------------------------- 85 701,483,989,262 173,576,192 173,576,192 0 0 86 704,352,949,469 173,367,296 173,367,296 0 0 87 707,582,275,643 173,367,296 173,367,296 0 0 88 710,536,145,814 173,367,296 173,367,296 0 0 100.00% (173,367,296B) (page allocation syscalls) mmap/mremap/brk, --alloc-fns, etc. ->53.40% …
8 linux  memory  c 

2
CentOS 6.3设备eth0似乎不存在(最小非克隆设置)
我在hardrive分区上安装了CentOS 6.3(新安装...最小安装)。 成功安装后,我发现eth0处于关闭状态。我寻找了这个文件:/etc/udev/rules.d/70-persistent-net.rules但是没有找到它。 这是我的ifcfg-eth0设置:注意,我必须手动创建此文件 DEVICE=eth0 HWADDR=* BOOTPROTO=dhcp ONBOOT=yes TYPE=ETHERNET 这台机器已连接到以太网(我在另一个分区上有Windows 7,并且可以正常连接到Internet)。 $ ifconfig -a | grep eth 没有结果 $ ethtool eth0 退货 Cannot get device settings : No such device... 我该如何尝试使CentOS检测eth0?

2
直接从文件系统引导qemu / kvm
使用Xen及其pygrub一段时间后,我现在正尝试使用KVM / qemu做类似的事情。 基本上,我有一个LVM逻辑卷(尽管也可以是一个文件),它包含Linux发行版的根文件系统(没有分区,只有FS直接在磁盘上),还包含/boot/grub/grub.cfg,并且我希望能够启动它。 我给人的印象是Debian / Ubuntu上的grub-firmware-qemu软件包就是为此目的而设计的,但是我没有设法使其起作用。AFAICT,grub.bin映像包含一个带有grub.cfg文件的硬编码内存磁盘,该文件带有一些菜单选项(例如搜索multiboot.img或搜索grub.cfg),但是运行时得到的kvm -bios grub.bin只是一个“不兼容的许可证” “ 错误信息。而且我不太确定如何grub.bin用不同的grub.cfg(只能这样做configfile (hd0)/boot/grub/grub.cfg)生成不同的内容。 当然,我可以使用最小的grub配置创建一个软盘或cdrom或磁盘映像,但这样做的感觉是应该有一种更清洁/规范的方法,而且我的研究还很少。远。 我想一个人也可以使用qemu的-kernel选项,但是同样,我也不知道如何生成一个grub.img。(使用生成的grub.img grub-mkimage -O i386-pc -o grub.img -c =(echo 'configfile (hd0)/boot/grub/grub.cfg') /usr/lib/grub/i386-pc/*.mod再次显示相同的“不兼容的许可证”错误消息)。 这是在debian上使用的grub软件包的版本1.99-23和kvm / qemu的1.1.2 + dfsg-2。 因此,简而言之,我应该如何创建grub.bin(与一起使用kvm -bios)或grub.img(与一起使用kvm -kernel),以使kvm引导能够解析/ boot / grub的grub映像/grub.cfg在虚拟磁盘上?
8 boot  grub2  qemu  bios 


2
在Redhat 6中设置静态IP
我安装了Redhat 6 x86_64。我正在使用“网络连接”屏幕来设置如下所示的静态IP地址(我希望我家中的两台PC能够互相看到:一台Redhat PC和一台Mac) 192.168.0.5 255.255.255.0 192.168.0.1 当我运行时,ifconfig它仅显示lo和virbr0信息。我不知道这些项目是什么(我对网络设置不是很了解)。 当我尝试ifconfig -a它显示eth0,lo,sit0和virbr0。的信息 eth0如下: 链接封套:以太网HWaddr 90:2B:34:74:05:30 广播多播MTU:1500公制:1 RX数据包:192个错误:0掉落:0超限:0帧:0 TX数据包:6个错误:0掉落:0超限:0帧:0 碰撞:0 txqueuelen:1000 RX字节53811(52.5 KiB)TX字节:468(468.0 b) 中断:29个基地址:0xc000 有人可以帮助我指出我的设置是否有问题或如何解决此问题?

4
chmod何时会失败?
在什么情况下会chmod失败? 我看了手册页,但它仅指定用法,没有详细介绍在什么情况下无法使用。 我认为在以下chmod情况下可以使用: 你是根 您拥有目标文件(并且正在设置普通模式位,即非粘性位,其他) 用户可以chmod用来更改对其具有组访问权限的文件的权限吗?它与读/写访问有关吗?

2
带有sshfs的autofs不再起作用[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Unix&Linux Stack Exchange 的主题。 6年前关闭。 我刚刚从Ubuntu 12.04升级到12.10。在此之前,我备份了可以正常工作的autofs配置。我将旧的行添加/etc/auto.master到新的行: +dir:/etc/auto.master.d +auto.master /mnt /etc/auto.sshfs uid=1000,gid=1000,--timeout=30,--ghost,--verbose 我的/etc/auto.sshfs样子是这样的: mymount -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#myuser@mydomain:/mnt/mymount 我得到了手动尝试,Connetion reset by peer所以我添加了option IdentityFile=/home/myuser/.ssh/id_rsa。现在,当我尝试访问时/mnt(使用手动和autofs),就会发生这种情况: myuser@laptop /mnt % la ls: cannot access mymount: No such file or directory total 4 drwxr-xr-x 3 root root 0 Oct 19 10:34 ./ drwxr-xr-x 25 root …
8 ubuntu  sshfs  autofs  fuse 

3
下载产品的所有rpm
我有两台CentOS机器,一台6.3盒子(A),另一台CentOS 6.1。(B) 6.3盒可连接互联网,6.1盒可不连接互联网。 我想在Box A上下载产品的所有依赖项,然后复制n个Box B,然后安装该产品。 我尝试过 yum --downloadonly --downloaddir=*~/downloadrepo* -y install *product*` cd *~/downloadrepo* createrepo . 然后,我禁用了所有回购(使用--disablerepo),但我的回购除外,并将产品安装在同一台计算机上(框A)。没有错误。 yum install *product* 现在,当我将此仓库复制到Box B,并尝试使用相同的命令进行安装时,它开始安装,但随后出现很多错误,如下所示: 错误:缺少依赖项:软件包php-ldap-5.1.6-27.el5_5.3.x86_64需要libldap-2.3.so.0()(64bit)(已安装) 有什么办法可以实现我所需要的? 更新 当我开始使用@rkosegi(-- releasever = version)建议的选项时,我得到了一个带有相同版本CentOS 6.1(C)的新盒子。 我在Box C上尝试了上面提到的命令,并将其回购复制到BoxB。仍然失败。原因:尽管两个方框均为6.1,但两者并不相同(uname -r返回不同的字符串)。 如果已安装依赖项,则Yum不会下载依赖项。因此,我的存储库不包含某些依赖项(包括OpenJDK)。因此,当我尝试在Box B上安装时,它将失败。 相当令人沮丧!!! 但是后来我在这里找到了命令“ repotrack ” 。 cd ~/downloadrepo repotrack -p . -a x86_64 product createrepo …


4
如何在Thunar / XFCE中禁用垃圾桶?
我发现自己总是抱着Shift当我删除的thunar(在XFCE文件管理器)的文件。 当我使用Windows时,我总是在安装后立即禁用“回收站”。我在图纳尔(Thunar)设置中寻找过类似的选择,但是没有运气。 你碰巧知道一种方法吗?

2
运行脚本显示奇怪符号时的命令行输入
如果我使用bash shell cli并运行一些不会立即返回的程序,则我输入了一些字母(基本上是在注意前一个命令未完成之前键入下一个命令),并且输入总是看起来像这样(特别是当使用向上和向下箭头键:) ]]A^ or ]]B^ 而且我想知道,这种过早的输入是否仍然“有害”,或者返回的字符串是什么意思?

3
查找软件包管理器未安装的文件
我想获取我的Gentoo Linux系统中所有未由软件包管理器(Portage)安装的文件的列表。这是因为我想保持系统尽可能干净,删除所有无用的文件。 让我告诉你到目前为止我一直在尝试什么。首先,我生成属于Portage跟踪的某些程序包的所有文件的列表: equery files "*" | sort | uniq > portage.txt 然后,我生成系统上所有文件的列表,除了那些我不在乎的文件: find / \( -path /dev -o -path /proc -o -path /sys -o -path /media \ -o -path /mnt -o -path /usr/portage -o -path /var/db/pkg \ -o -path /var/www/localhost/htdocs -o -path /lib64/modules \ -o -path /usr/src -o -path …
8 find  gentoo  symlink 

3
如何在RHEL中创建本地存储库
我需要在RHEl 5.5中创建本地存储库。i386 因为当我在终端中键入一些命令时,它说RHEL未与RHN订阅,这是正确的。我从朋友那里拿来的。 有人可以告诉我如何实现这一目标。 根据Warl0ck指令的进一步操作。 我从Mdia复制了RPM到/ home / Umair / RPM文件夹 我在安装媒体的服务器目录中安装了脚本createrepo-0.4.11-i386.el5.noarch.rpm。然后花了一些时间来生成元数据。套餐总数2348 然后我使用vi创建本地仓库文件 vi /etc/yum.repos.d/local.repo 这些是我添加的条目。 最后我运行此命令 yum -y install apache php {,-cgi,-cli,-gd,-mysql} mysql {,-server} 然后bash回应我拍错了
8 rhel  yum  repository 

2
在awk中使用shell变量
这是我的脚本(查找包含指定模式的文件): find . -type f \ -exec awk -v vawk="$1" '/'"$vawk"'/ {c++} c>0 { print ARGV[1]; exit 0 } END { if (! c) {exit 1}}' \{\} \; 我想将我的脚本与参数§一起使用: MyScript.sh pattern 我的问题是我无法将$1变量放入awk。 当我尝试调试脚本时 bash -x MyScript.sh pattern 这是输出: + find . -type f -exec awk -v vawk=pattern '// {c++} c>0 …
8 bash  awk  variable 

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.