标签: gentoo

Linux 中的 RAID 1

我想在 linux 中用两个驱动器设置 RAID 1。我没有硬件 RAID 控制器,也不想购买,那么适用于 linux 的最佳软件 RAID 选项是什么?

注意:如果它有所不同,我正在运行 Gentoo。

storage linux software-raid gentoo

5
推荐指数
1
解决办法
298
查看次数

改变我的工具链架构(在 gentoo 中)

这在某种程度上是 gentoo 特定的,所以我将在那个上下文中解释它,然后尝试将它抽象为一个通用的 linux 机器。

当我的机器是Athlon64时,我一开始不小心将我的CHOST设置为“i686-pc-linux-gnu”,没有注意。我想将其更改为“x86_64-pc-linux-gnu”。 有一个指南。 它不起作用。

第一步是“重新编译binutils,然后重新编译gcc”

这是说明的问题:

  1. 使用 gcc 编译 binutils - 这会成功生成新的 as、ar 等文件
  2. 打破了gcc。gcc 现在正在尝试使用新的 /usr/bin/as - 但它不能与它们一起使用
  3. 因为gcc什么都编译不了,所以我也编译不了gcc。我必须恢复为,ar 等;然后恢复 CHOST 更改,并重新编译 binutils。

所以我尝试了以下方法:

  1. 备份为、ar 等
  2. 编译 binutils,使 gcc 无法运行
  3. 将 ar、as 等链接到我备份的旧版本
  4. 尝试编译 gcc

gcc 编译失败:

/usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
/usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libc.a when searching for -lc
/usr/x86_64-pc-linux-gnu/bin/ld: cannot find -lc
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

是一个 glibc 错误(完成链)。

所以它看起来:

  1. 为了让 gcc 编译它依赖于新版本的 glibc
  2. 要运行 …

gentoo gcc toolchain cross-compilation

5
推荐指数
0
解决办法
1324
查看次数

Gentoo 默认打开文件的应用程序

在没有桌面环境的情况下运行的 Gentoo 机器上,每次我尝试打开文件时,系统都会尝试使用 Firefox 打开它。我知道没有桌面环境“打开文件”无法正常运行,但为什么一切都用 Firefox 打开?如果我想,我可以将其更改为其他内容吗?

gentoo file-management freedesktop mime-types

5
推荐指数
1
解决办法
4040
查看次数

如何在 s390x 上的 Gentoo 中配置以太网?

我已经从 SLES 10 SP2 CD 启动并安装了 Gentoo。现在我正在尝试使以太网工作(它在 SLES 中工作)。我找到了这个文档,但是在当前内核(2.6.38.2)中,sysfs 布局有些不同,例如,parametersqeth 设备目录中没有文件,但它有单独的文件portname.

echo 0.0.0100,0.0.0101,0.0.0102 > /sys/bus/ccwgroup/drivers/qeth/groupsysfs 包含新目录后/sys/devices/qeth/0.0.0100,里面的文件和目录很少。文件portname包含“不需要端口名”。但是当我尝试将 1 写入文件时,online它说:

-bash: echo: write error: No such device
Run Code Online (Sandbox Code Playgroud)

我还尝试将“OSAPORT”写入portname, 0 和 1 layer2,但没有成功。我仍然无法创建eth0界面。

我缺少什么以及如何eth0在 Gentoo 启动时正确配置?

gentoo

5
推荐指数
1
解决办法
420
查看次数

加载共享库时出错

我的项目树看起来像这样:

src/
include/
Makefile
lib/
   lib/3rdparylib/
Run Code Online (Sandbox Code Playgroud)

我没有编写代码3rdpartylib,但决定将其源代码嵌入到我的项目打包中。我通过执行以下步骤来编译软件:

$ cd lib/3rdpartylib/
$ make
$ ln -s 3rdpartylib.so.0 3rdpartylib.so
Run Code Online (Sandbox Code Playgroud)

然后我编译每个的我的源文件是这样的:

$ gcc -c src/file.c -I include -o file.o -l 3rdparylib -L lib/3rdpartylib -I lib/3rdpartylib/include
Run Code Online (Sandbox Code Playgroud)

然后我链接:

$ gcc file1.o file2.o -l3rdpartylib -L lib/3rdpartylib -o myapp
Run Code Online (Sandbox Code Playgroud)

当我在我的主机上时,它运行良好。今天我试图在另一台机器上启动它。它编译和链接没有任何问题。但是,当我尝试启动该应用程序时,我收到以下错误消息。

./myapp:加载共享库时出错:3rdpartylib.so.0:无法打开共享对象文件:没有这样的文件或目录

我尝试执行以下操作:

export LD_LIBRARY_PATH=/path/to/3rdpartylib.so
Run Code Online (Sandbox Code Playgroud)

它似乎工作。但我知道使用 LD_LIBRARY_PATH 是一种不好的做法。每次我想运行我的应用程序时都设置这个变量让我很困扰。

我错过了什么?为什么它在我的主机上工作(其中 LD_LIBRARY_PATH 没有设置为任何东西)而不是在另一台机器上?另一台机器是虚拟机有关系吗?

如果有任何帮助,我的主要机器是 Debian 机器,而我的“新”机器是 Sabayon(Gentoo),在 Virtualbox 中运行。

c gentoo linker dynamic-linking

5
推荐指数
1
解决办法
6142
查看次数

如何为多个用户和多个网站设置安全权限?

在带有 的 Gentoo 3.2.12 服务器上apache2+php,有几个网站在运行:

/www
    /website1
    /website2
    ...etc
Run Code Online (Sandbox Code Playgroud)

apache用户应具有只读到所有的网站访问。每个网站里面还有几个文件夹apache应该具有读写访问权限(上传文件夹等)。

有几个人在这些网站上工作。每个人都应该拥有对他们工作的网站的读写访问权限,但其他人则没有。此外,他们应该能够设置权限(在他们的网站内),以便apache可以写入某些文件夹(好吧,如果他们创建新的上传文件夹或其他内容)。

其他用户根本不应该有访问权限/www

这可以做到吗?如何做到?

(PS。另外...因为这些人可以上传 PHP 脚本,然后在 Apache 的上下文中执行,我猜他们也可以间接访问其他网站...是否也可以保护它?我不能想办法,但谁知道...)

security permissions gentoo php apache-httpd

5
推荐指数
1
解决办法
2402
查看次数

mmap() 失败:无法分配内存 - 我如何找出谁在抱怨?

mmap() failed 突然出现在我的 .xsession-errors 中。但是没有迹象表明它失败的应用程序。这件事发生后,我该如何调查?我通常只有在偶尔切换到“tail -f .logs/*”工作区时才会发现故障。

linux process logs gentoo

5
推荐指数
1
解决办法
1万
查看次数

“equery 依赖”和“equery depgraph”有什么区别?

xi@localhost /usr/src $ equery depgraph gcc | wc -l
872
xi@localhost /usr/src $ equery depends gcc
 * These packages depend on gcc:
app-admin/eselect-python-20100321 (>=sys-devel/gcc-3.4)
sys-devel/llvm-3.0-r2 (>=sys-devel/gcc-3.0)
sys-libs/glibc-2.15-r3 (>=sys-devel/gcc-3.4.4)
                       (arm ? >=sys-devel/gcc-4.1.0)
                       (x86 ? >=sys-devel/gcc-4.3)
                       (amd64 ? >=sys-devel/gcc-4.3)
                       (ppc ? >=sys-devel/gcc-4.1.0)
                       (ppc64 ? >=sys-devel/gcc-4.1.0)
xi@localhost /usr/src $ equery depgraph
Display a direct dependency graph for a given package

xi@localhost /usr/src $ equery depends
List all packages that depend on a atom given query
Run Code Online (Sandbox Code Playgroud)

gentoo

5
推荐指数
1
解决办法
1809
查看次数

setxkbmap 在 3 种布局中的 2 种之间切换

发出该命令:

setxkbmap -layout "us,ua,ru" -variant ",winkeys" -option "grp:shift_caps_toggle,grp_led:scroll" -model pc105 -rules xorg
Run Code Online (Sandbox Code Playgroud)

当点击Caps Lock+Shift我在英语(us)和乌克兰语(ua)布局之间切换,而不是俄语(ru)。

我尝试使用以下命令重置它:

setxkbmap -layout "us,ua,ru" -option ""
Run Code Online (Sandbox Code Playgroud)

并尝试了许多不同的选项 - 没有任何帮助。

我的系统是 Gentoo Linux 和窗口管理器 wmii。

gentoo x11 xkb keyboard-layout

5
推荐指数
1
解决办法
2648
查看次数

ping 时来自本地主机的响应非常慢

网络在我的 Gentoo 机器上运行良好。建立了一个连接,一切正常,速度正常。但是醒来很慢;启动连接需要时间。即使 ping localhost 也需要很长时间(大约 5 秒)。

任何想法如何快速做到这一点?

一些命令的输出:

ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 10.107.105.13  netmask 255.255.240.0  broadcast 10.107.111.255
    inet6 fe80::e269:95ff:fe24:8d3a  prefixlen 64  scopeid 0x20<link>
    ether e0:69:95:24:8d:3a  txqueuelen 1000  (Ethernet)
    RX packets 1071380  bytes 978317595 (932.9 MiB)
    RX errors 0  dropped 1979  overruns 0  frame 0
    TX packets 310432  bytes 30846997 (29.4 MiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    device interrupt 20  memory 0xfe400000-fe420000  

ping -c 5 localhost
PING localhost (127.0.0.1) 56(84) bytes …
Run Code Online (Sandbox Code Playgroud)

networking gentoo ping

5
推荐指数
1
解决办法
7598
查看次数