Unix & Linux

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

1
如何在Gnome-Terminal的GUI首选项中添加颜色主题?
我的许多工作都使用Gnome-Terminal,并且喜欢根据执行的任务按颜色分隔窗口,因此我已经使用“首选项GUI”设置了多个配置文件。 我在网上找到了一些我喜欢的色彩主题,并希望以此为基础来配置一些个人资料,包括将来创建的任何主题。但是,“首选项” GUI只有几个颜色主题选项,并且在我要使用这些自定义主题之一时,需要手动更改所有颜色。 有什么方法可以将自定义主题添加到“首选项” GUI中?如果不可能,是否可以通过其他方法轻松地为配置文件设置自定义颜色主题?我知道我可以在其他地方手动更改颜色,例如gconf-editor,但我更喜欢一种简单的方法来仅按名称告诉它颜色主题,并由其处理其余的事情(例如您可以使用GUI进行的操作) 。


1
/ dev / tcp在Linux中不存在
我正在将C / pro * c代码从UNIX移植到Linux。代码是: #define __NFDBIT (8 * sizeof(unsigned long)) #define __FD_SETSIZ 1024 #define __FDSET_LONG (__FD_SETSIZ/__NFDBIT) typedef struct { unsigned long fds_bits [__FDSET_LONG]; } __ernel_fd_set; typedef __ernel_fd_set fd_set_1; int main() { fd_set_1 listen_set; int listen_sd; int socket_id; FD_ZERO(&listen_set); socket_id = t_open("/dev/tcp", O_RDWR|O_NONBLOCK, (struct t_info *) 0); if ( socket_id …
9 linux  c  tcp 

2
如何配置Yast以完全切换语言?
我安装了以德语安装的openSUSE 11.4。我启动了Yast2(以德语显示,如“ Netzwerkdienste”),然后在“系统”->“语言”下将语言切换为英语。 Yast2下载了一些文件,安装了一些文件,并保持德语(“ Netzwerkdienste”仍然可以看到,而不是“网络服务”)。 我重启了机器,结果相同。 我卸载了德语Yast语言包。Yast2坚持以德语显示。 我不知道应该翻译Yast2的多少屏幕,但我认为它可能只是德语的主屏幕。但是,这很烦人。我该如何更改? 更新: 我检查了环境变量(对于root用户)。有几个变量引用语言设置,并且所有变量都设置为德语。 declare -x LANG="de_DE.utf8" declare -x LANGUAGE="de_DE.utf8" declare -x LC_ALL="de_DE.utf8" Yast2不应该修改它们吗? 更新: 我刚刚启动vi,它也是用德语... Yast2中的语言设置有什么作用吗?

5
如何在仅具有根写许可权的文件中添加一行并继续执行脚本
我正在尝试学习bash脚本。我正在处理一个实际问题,有一次我需要在需要root写入权限的文件中添加一行。 代码如下: # some code echo "add this line to the code" >> fileName # some code 是否有可能使脚本要求输入root密码,验证密码,并在成功身份验证后修改文件?然后,脚本应返回到用户模式并继续执行命令。

3
向用户授予所有文件和文件夹的权限
我希望有一个有权访问系统上所有文件和文件夹的用户。这是为了在本地计算机上使用RSYNC备份远程计算机。 目前,我们正在使用该用户backups,尽管我们已将该用户添加到组中sudo,但adminrsync仍返回如下消息: rsync:opendir“ /位置/到/文件夹”失败:权限被拒绝(13) rsync:send_files无法打开“ / location / to / file”:权限被拒绝(13) 任何想法我们都将授予用户backups访问所有内容的权限(除了将用户添加到所有组之外-我们尝试备份的远程服务器是专用的托管服务器,其中每个帐户在系统上都有自己的用户)。 谢谢你的帮助。

1
在只读/远程文件系统上使用ACL
我想定义要在远程安装的文件系统上使用的本地ACL。文件系统通过autofs和sshfs FUSE挂载。 这样做的想法是,我们可以在跳转服务器上设置一个被监禁的用户,该用户有权访问环境中其他服务器上的文件,并使用标准命令,而不会造成很多暴露,当然也无需授予ssh访问权限。 问题是,sshfs将始终以同一用户身份运行,因此无论公开用户是谁,远程系统路径上的文件都会公开。 我已经探索过将安全性检查直接编码到sshfs中,但是在走这条路之前,我想看看是否有其他软件包可以将ACL支持添加到原本只读的文件系统中。 编辑:@peterph当远程文件系统为只读时,如何设置NFS共享的ACL? sshfs真的很容易分解,因此在编写此代码几天后,我就在sshfs本身中添加了ACL检查。用户通过OpenSSH和jailkit登录时被监禁,并从那里以非特权用户身份访问只读sshfs自动挂载。每个目录/文件的状态或读取都会生成一个系统日志事件。它像一种魅力一样运作,用户没有权利从一个牢牢的盒子里走出来。
9 acl  sshfs  fuse 

1
使用btrfs时,为什么df中的“大小”,“已使用”和“可用”值不匹配?
我有一个btrfs分区。当我运行时df -h,它显示: Filesystem Size Used Avail Use% Mounted on /dev/sda2 113G 101G 8.3G 93% /home 为什么呢?是否因为ext2 / 3/4为root保留了空间?或者是别的什么?如果是前者,我该如何更改并回收这些4GB? 根据btrfs Wiki,我知道元数据存储了两次,从而扩大了“已用”数据的大小: user@machine:~$ df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda1 894G 311G 583G 35% / ^^^^ user@machine:~$ btrfs fi df / Metadata: total=18.00GB, >>used=6.10GB<< *2= 12.20GB Data: total=358.00GB, …
9 btrfs  df 

2
如何将新文件包含到补丁中
我尝试制作一个此处介绍的补丁。 说我有两个目录,pp1(modified version)然后用以下命令pp0(clean version)制作一个补丁文件:pp0.patchdiff diff -crB pp0 pp1 > pp0.patch 问题是,如果仅在pp1中有一个文件,它将不会包含在补丁中。如何解决呢? 更新: 我首先进入pp0目录,并测试补丁是否成功 patch --dry-run -p1 -i /path-to-pp0.patch 尽管我已经添加--new-file了diff命令,但pp1结果中未列出仅那些 更新: 我不小心修补了错误的文件,因此 diff -crb --new-file pp1 pp0 > pp0.patch 要么 diff -crNb pp1 pp0 > pp0.patch 会做
9 diff  patch 

6
UNIX命令-查找
我正在尝试学习UNIX命令,并且正在玩这个游戏来学习,但目前我真的很困。我通过ssh进入服务器,目录中充满了随机文件和文件夹,而下一级密码位于其中一个文件中。有人告诉我该文件具有以下属性: 人类可读 1033字节 不可执行 我猜想我应该使用该find命令,find ! -executable但是我尝试过,但是返回了文件负载。我可以在手册或在线上找到的唯一可读的帮助是打印出可读的文件大小。所以我在那里迷路了? 我也尝试过,find ~ -size 1033b但是什么也没返回。但是当我尝试find ~ -size -1033b它返回目录中的每个文件。


1
找出RHEL 6与RHEL 5上CPU使用率较高的原因
我目前正在寻求将我们的系统从RHEL 5迁移到RHEL 6,但在RHEL 6机器上却遇到了意外的CPU使用率过高的问题。看来,这可能至少部分是由于使用select进行了可中断的睡眠。这是一个显示行为的简单示例: #include <sys/select.h> int main() { timeval ts; for (unsigned int ii=0; ii<10000; ++ii) { ts.tv_sec = 0; ts.tv_usec = 1000; select(0, 0, 0, 0, &ts); } return 0; } 在RHEL 5机器上,它将保持0%的CPU使用率,但是在安装了RHEL 6的相同硬件上,它将使用大约0.5%的CPU,因此,当运行30到50个程序select执行睡眠时,它会吃掉不必要地占用大量CPU。 我打开了一个Bugzilla,尝试运行OProfile,它在查看内核时仅显示应用程序的100%主内容,而poll_idle的内容仅显示99%以上(我在grub选项中设置了idle = poll以便可以捕获所有内容)。 关于我可以做些什么来尝试找出导致CPU使用率较高的原因的任何其他想法? 更新:我找到了性能工具,并得到以下输出: # Events: 23K cycles # # Overhead Command Shared …

4
反向DNS查找会减慢LAN上的网络运行速度
环境 我的局域网设置非常基本: 连接到ISP的调制解调器和Internet的路由器 我的开发电脑直接连接到路由器 路由器提供DHCP,但不运行自己的DNS服务器。实际上,在我的LAN上任何地方都没有托管DNS服务器(典型的家庭网络设置)。路由器配置为发送ISP的DNS服务器作为DHCP租约信息的一部分。 我在开发PC上安装了VirtualBox机器,并在其上安装了Debian Squeeze(6.0.4)。VirtualBox网络模式是Bridged Adapter在LAN上模拟独立服务器。作为VirtualBox服务器而不是物理服务器并不是很重要,但是出于完整性考虑,我将其提及。 问题 每当网络操作在执行之前执行LAN ip的DNS反向查询时,服务器就会有很长的延迟。网络运行缓慢的一些示例: 从我的开发PC到服务器的SSH连接 连接到Glassfish服务器的管理端口 netstat -l(netstat -nl非常快) Starting MTA: exim4 开机需要很长时间才能完成 其中一些具有变通办法,例如将开发人员的IP /etc/hosts添加到Ip 或添加特定于命令的选项,以避免进行DNS反向查找。显然,/etc/hosts仅使用DHCP之所以走得很远,是因为它与DHCP不一致。 但是,我不禁以为我错过了一些东西。我真的需要在局域网中的某个地方设置DNS服务器吗?对于我的需求而言,这似乎是一项巨大而无用的努力,而且我不敢相信像我这样的DHCP环境中没有其他选择。 我在网上搜索了很多东西,也许我没有正确的搜索词,但是我找不到解决方案... 在BillThor的回答后更新1 使用主机(dig给出相同的结果): # ip of stackoverflow.com $ time host -v 64.34.119.12 Trying "12.119.34.64.in-addr.arpa" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15537 ;; flags: qr rd …

2
MySQL每25天左右被操作系统杀死一次
大约4个月前,我们从MS SQL Server迁移到MySQL 5.5。从那时起,自CentOS内存不足并导致MySQL终止运行以来,大约每25天就有一次问题。MySQL安全地重新启动mysql,因此数据库仅完全关闭一两分钟,但是在CentOS杀死mysqld线程之前,我们将遭受数小时的性能和连接损失。 我们通常会看到从凌晨1点到凌晨5点的问题,但从来没有出现在流量最高的一天,这确实使这种情况感到困惑。尽管通常从凌晨1点到凌晨5点看到连接和性能问题,但是mysqldump通常在凌晨4点左右或凌晨5点左右被杀死,而mysqldump运行的同时。 我们认为mysqldump可能是罪魁祸首。但是,它每天凌晨4点开始,但是我们发现某些晚上最早凌晨1点出现问题。mysqldump该--opt开关也正在运行,因此在转储过程中不应缓存大量数据。 我们还考虑了我们正在使用的备份应用程序,该应用程序可以获取转储文件并将其备份到磁带上。我们将其运行时间更改为上午6点,并且问题没有改变。 我们有几个工作会在整个晚上定期运行,但是没有一个工作会占用大量资源,并且根本不需要花费很长时间。 以下是我们正在使用的一些统计信息以及my.cnf文件中的当前条目。对于我们可以尝试的任何帮助或建议,我们将不胜感激。 服务器状态: 英特尔(R)至强(R)CPU E5530 @ 2.40GHz cpu核心:4 内存:12293480(12演出) 操作系统: CentOS的5.5 Linux 2.6.18-274.12.1.el5#1 SMP Tue Nov 29 13:37:46 EST 2011 x86_64 x86_64 x86_64 GNU / Linux MY.CNF: [client] port = 3306 socket = /var/lib/mysql/mysql.sock [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock skip-name-resolve ssl-ca=<file …
9 mysql  memory  centos 

4
在Linux中无需randr即可更改vncserver的屏幕分辨率/几何
我想动态更改VNC会话的分辨率/几何形状,而不影响其中运行的程序。 我提到过:在linux中更改VNC会话的分辨率。我没有root权限来更新较新的vncserver版本,因此以下命令目前不起作用: vncserver -geometry 1280x1024 -randr 1280x1024,1280x800 现在,每当我想将屏幕大小从一台显示器更改为另一台显示器时,我都会终止该会话并使用修改后的-geometry选项重新启动它。因此,我不得不松开其中的程序。 有什么办法可以破解存储几何图形并更改值以更改分辨率的文件?我找不到这样的文件。在主文件夹中,我看到以下文件: mgandhi@starbase:~/.vnc$ ll total 12 -rwxr-xr-x 1 mgandhi bc 334 Jun 25 10:32 xstartup -rw------- 1 mgandhi bc 8 Jun 25 10:32 passwd -rw-r--r-- 1 mgandhi bc 6 Jun 25 11:08 starbase.radisys.com:23.pid -rw-r--r-- 1 mgandhi bc 1664 Jun 25 11:08 starbase.radisys.com:23.log xstartup文件内容无济于事: …
9 linux  vnc 

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.