是否可以将 Gentoo 软件包(支持 ebuild 的程序、支持 portage 的程序)作为普通用户(非 root)安装到自己的主目录(--prefix=$HOME
或类似的目录)?
在 Gentoo 上,有没有办法找到没有其他软件包依赖的已安装软件包列表(所谓的叶子软件包)?或者,是否有pkg-orphan
FreeBSD 实用程序的模拟?
我犯了一个错误,先将 perl 非线程版本更改为通过 unmerge 进行线程化,更改USE
标志以包含 ithreads 并再次出现 perl。现在大多数依赖 perl 的包都坏了。我如何重建它们?
我在我的系统上安装了 Gentoo clean,除了我的 /home,但我删除了所有可能对声音产生影响的隐藏文件夹(.mplayer .pulse* .config .esd_auth 等等)并且使用新用户时adduser mistertest -m -G audio,video,users
结果是一样的,没有当我在 mplayer 中播放文件时发出声音。
它是一个 Z68 芯片组,我在我的 CPU 中使用 Intel IGP H2000,所以这不应该是我主板上的 spdif 连接器的问题,我想我已经在内核中安装了所有正确的模块。我没有额外的硬件来检查我的声音是否正常工作(没有耳机或外部扬声器),但我想问题要么是配置不当,要么是内部 spdif(如果有的话)。
dronemother ~ # lsmod | grep snd
snd_hda_codec_hdmi 22705 1
snd_hda_codec_realtek 190506 1
snd_hda_intel 21727 3
snd_hda_codec 63422 3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep 5726 1 snd_hda_codec
snd_pcm 69969 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_timer 17697 1 snd_pcm
snd 53814 13 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_ timer
soundcore 5009 1 snd
snd_page_alloc 6641 2 snd_hda_intel,snd_pcm
dronemother ~ # lspci -v
# cut other …
Run Code Online (Sandbox Code Playgroud) 我有两个 ISP 连接,需要它们之间的自动负载平衡。我还需要处理失败的连接(不要使用不起作用的连接)。
第一个链接是 PPTP 连接 ( ppp0
),第二个是通常的以太网。系统是Gentoo Linux。
目前,我使用 实现了基本平衡ip route
,但看起来效果不佳。这是我用过的:
ip rule $ADD from $IP1 table rt_link1
ip rule $ADD fwmark 1 lookup rt_link1
ip rule $ADD from $IP2 table rt_link2
ip rule $ADD fwmark 2 lookup rt_link2
$NET2 dev eth2 src $IP2 table rt_link2
default via GW2 table rt_link2
$NET2 dev eth2 src $IP2
$NET1 dev ppp0 src $IP1 table rt_link1
default via GW1 table rt_link1
$NET1 dev ppp0 src $IP1
default scope global …
Run Code Online (Sandbox Code Playgroud) 运行 Gentoo 3.4.0
最近听说过 /etc/motd 文件后,我试图让它显示随机的 cowsay 命运。我编写了一些随机的 bash 脚本来充当守护进程,将 /etc/motd 作为命名管道提供,如某些论坛上所见。
我不认为脚本有任何问题,因为 cat'ing 管道工作得很好,但 MOTD 不会在登录时显示(使用常规文件有效)!
fira@nyan ~ % cat /etc/motd
_______________________________________
/ We didn't put in ^^ because then we'd \
| have to keep telling people what it |
| means, and then we'd have to keep |
| telling them why it doesn't short |
| circuit. :-/ |
| |
| -- Larry Wall in |
\ <199707300650.XAA05515@wall.org> /
---------------------------------------
\
\
.--.
|o_o | …
Run Code Online (Sandbox Code Playgroud) 我想获取我的 Gentoo Linux 系统中所有未由包管理器 (Portage) 安装的文件的列表。这是因为我想让我的系统尽可能干净,删除所有无用的文件。
让我告诉你我到目前为止所做的尝试。首先,我生成属于 Portage 跟踪的某个包的所有文件的列表:
equery files "*" | sort | uniq > portage.txt
Run Code Online (Sandbox Code Playgroud)
然后我生成系统上所有文件的列表,除了那些我不关心的文件:
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 /var/cache -o -path /home \
-o -path /root -o -path /run -o -path /var/run -o -path /var/tmp \
-o -path /var/log -o -path /tmp …
Run Code Online (Sandbox Code Playgroud) 我想为 VDPAU尝试这个VAAPI 后端。我已经在 Gentoo Linux (amd64) 中使用 vdpau编译了mplayer,但出现此错误:
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
[vdpau] Error when calling vdp_device_create_x11: 1
Run Code Online (Sandbox Code Playgroud)
运行vdpauinfo时出现相同的错误。该库似乎已链接:
$ ldd /usr/bin/mplayer | grep vdpau
libvdpau.so.1 => /usr/lib64/libvdpau.so.1 (0x00007f8242fda000)
Run Code Online (Sandbox Code Playgroud)
和图书馆存在:
$ ls -l /usr/lib64/libvdpau.so*
lrwxrwxrwx 1 root root 17 jul 8 22:24 /usr/lib64/libvdpau.so -> libvdpau.so.1.0.0
lrwxrwxrwx 1 root root 17 jul 8 22:24 /usr/lib64/libvdpau.so.1 -> libvdpau.so.1.0.0
-rwxr-xr-x 1 root root …
Run Code Online (Sandbox Code Playgroud) 如何在 Gentoo 中自定义 ebuild 而不在自己的叠加层中维护自定义包?
情况是我需要用paxctl
. 但是大约有 100 个这样的包,我不想自己在本地覆盖中观看更新。
没有这样的标记,Portage ebuild 不会被编译。现在我必须在/etc/portage/package.env
目录中更改它们的编译标志。PAX 标记是一个更好的解决方案,但我不知道如何在 Portage 树中的 Gentoo 中做到这一点。
正在做
emerge -avuDN --with-bdeps y --keep-going @world
Run Code Online (Sandbox Code Playgroud)
花费大量时间并且经常失败。
有没有办法打印 Gentoo 系统中所有可升级包的列表?