是否有一个术语来指代 Debian 发行版自动安装的软件包子集?
我认为它与包优先级有关,但似乎并非如此,因为默认情况下安装的包中有所有优先级级别的包。
此外,初始子集的某些包具有automatically installed标志,例如wireless-tools. 因此,如果根据它们手动删除初始子集的包,它们将被自动删除。我想知道,安装工具是否只保留要考虑手动安装的软件包列表并自动安装它们的依赖项?
回答前两个问题:
在安装核心 Debian 实用程序后,Debian 安装程序似乎会调用tasksel以执行安装“任务”。其中典型的任务是“标准”任务和“笔记本电脑”任务。从工具tasksel页:
“标准”任务
标准任务是 Debian 安装程序使用的特殊任务。它实际上依赖于包的优先级。“标准系统”任务包括什么?
tasksel --task-packages standard这是一个 aptitude 搜索字符串,相当于
aptitude search ~pstandard ~prequired ~pimportant -F%p
所以tasksel安装standard,required和important包。
“笔记本电脑”任务
笔记本电脑任务是 Debian 安装程序使用的一项特殊任务,用于提取笔记本电脑上有用的软件包:
桌面
我的 Centos 7 服务器无法正确解析域名。据我所知,在现代 Linux 系统/etc/resolv.conf中,通常使用dhclient, dnsmasq或Network Manager.
因此,我有一个关于现代 Linux 中网络堆栈的一般理论问题:
谁负责阅读/etc/resolv.conf?域名解析涉及哪些参与者(服务或内核子系统)?
简短回答: Arch linux 手册说域名解析的高级配置是 /etc/nsswitch.conf在名称服务切换glibcAPI 中完成并依赖的。
glibc使用nss-resolve函数向 DNS 服务器发送 DNS 请求。
通常现代 CentOS 系统nss-resolve 依赖于 systemd-resolved服务。If/etc/resolv.conf是由类似的东西生成的dhclient-script,systemd-resolved读取它并在兼容模式下工作,模拟旧系统(如BINDDNS 客户端)的行为。
我想在 ALSA 中做一件最简单的事情:让 USB 耳机产生声音,而不是平板电脑的内置扬声器。我不想更改配置文件,例如asound.rcoralsa.conf或asound.conf并通过更改设备的顺序将耳机永久设置为默认输出设备,我想要一个临时效果,直到我拔掉耳机。奇怪的是,我无法用谷歌搜索答案。有alsamixer能力做到这一点(似乎没有)?
在 Gnome 中,您可以PulseAudio在 GUI 或 CLI 界面中使用 轻松选择当前输出设备,但PulseAudio它本身在 ALSA 之上工作!所以我也想知道,它是如何强制 ALSA 更改输出设备的?
我正在创建一个实时 USB 并且不能准确理解:当我将文件(甚至文件系统)直接复制到设备节点(而不是文件系统)时会发生什么?
我有一台 Debian 7 linux 机器和一个 TP-link MR3020 路由器通过eth0接口处的以太网电缆连接到它,在 WISP 模式下工作意味着使它成为客户端而不是接入点:

我还有一个单独的路由器连接到 ISP 并很好地提供 Wi-Fi。我的 linux 机器缺少内置 wi-fi 适配器,我想使用 WISP 模式路由器而不是外部 USB wi-fi 适配器,因为它们非常不稳定(尝试了其中的 3 个,2 个不起作用,1 个故障)。
我的问题是,看起来,我的 Linux 机器无法将 WISP 路由器的 IP 地址与其 MAC 地址相关联:
我曾经使用 eth0 的网络管理器,我的设置是
gateway ip 192.168.1.1
mask /24
static ip 192.168.1.2 (for my Debian machine itself)
Run Code Online (Sandbox Code Playgroud)
但现在我直接输入了它们/etc/network/interfaces(见下文)
当我ping 192.168.1.1,它说From 192.168.1.2 icmp_seq=1 Destination Host Unreachable。
我发现arp不知道这个 ip 的 MAC 地址:192.168.1.1 对应于HWaddress [incomplete].
你对如何解决这个问题有什么建议吗?我应该手动为 …
这是一个关于从闪存上的 ISO 映像启动的 Ubuntu 操作指南。
http://ubuntuforums.org/showthread.php?t=1288604
我没有得到的是在引导内核之前在 GRUB2 中创建循环设备:
menuentry "Ubuntu" {
set isofile="/boot/isos/ubuntu.iso"
loopback loop $isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash noprompt --
initrd (loop)/casper/initrd.lz
}
Run Code Online (Sandbox Code Playgroud)
我不明白,什么是循环设备,与操作系统无关。我想,循环设备是 Linux 实体,除此之外不存在。或者它是一个 GRUB2 实体?我在哪里可以阅读更多关于它们的信息(我没有用谷歌搜索任何东西)?
我会理解,如果他们首先直接从闪存加载内核,然后从 ISO 创建一个 linux 循环设备。但是这样我就不明白了。
刚好奇。如果 Android 基于修改过的 Linux 内核并且其源代码是封闭的,是否违反 GPL2 的条款,即 GPL 衍生产品也必须提供其源代码,“自由或死亡”?:)
我对 TLDP 中虚拟内存的解释完全困惑:
http://www.tldp.org/LDP/tlk/kernel/processes.html#tthFtNtAAB
他们说:
每个单独的进程都在其自己的虚拟地址空间中运行,除非通过安全的内核管理机制,否则无法与另一个进程交互。
我的“自己的虚拟地址空间”在 32 位模式下读取为自己的 4Gb RAM:0000:0000 - FFFF:FFFF。但他们不是那个意思,对吧?如果两个进程指向虚拟地址 1111:1111,它们意味着相同的物理地址,那么所有进程共享相同的 4 Gb 虚拟地址空间?
此外,我在这里阅读了有关 Windows 的内容,它们确实为每个进程提供了单独的虚拟地址空间,为用户模式提供了单独的 2Gb RAM,为内核模式提供了共享的 2Gb,因此两个不同的进程都可以指向 1111:1111,它映射到不同的物理内存。他们吗?:)
更新:我的问题的插图。哪些图片适合 Linux:
情况1:

案例二

我正在尝试了解 Debian “从硬盘启动”安装手册。
过程如下:我将a kernel image、aramdisk initrd和an ISOwith installer拷贝到硬盘,然后配置GRUB启动内核和ramdisk,还要告诉GRUB,根文件系统在哪里(应该位于ISO),这样内核就可以将根转为它。但是debian 提供的 grub 配置似乎将整个硬盘驱动器指定为根文件系统,而不是其中的 ISO 文件:
GRUB1:
title New Install
root (hd0,0)
kernel /boot/newinstall/vmlinuz
initrd /boot/newinstall/initrd.gz
Run Code Online (Sandbox Code Playgroud)
GRUB2:
menuentry 'New Install' {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
linux /boot/newinstall/vmlinuz
initrd /boot/newinstall/initrd.gz
}
Run Code Online (Sandbox Code Playgroud)
为什么会这样?GRUB 将 ISO 文件作为根文件系统挂载在硬盘上,而不是整个硬盘,这么聪明吗?还是我必须将ddISO 的内容直接放到硬盘上?Debian 对此含糊其辞。
我对 X11 会话很困惑。也就是说,我不明白,当 X 会话开始时:
bob-session程序以编程方式启动 X 会话,类似于gnome-session. 我怎么做?或者做什么gnome-session或gdm做什么来开始一个新的会话?你能提供一些有指导意义的事件,发生在 X 会话中吗?
我正在尝试在我的项目的子目录中查找所有 javascript 文件。
工作树如下:
.
??? app
??? assets
??? components
??? email.txt
??? gulpfile.js
??? node_modules
??? package.json
Run Code Online (Sandbox Code Playgroud)
为此我说:
find . -name *.js
Run Code Online (Sandbox Code Playgroud)
或者
find . -path *.js
Run Code Online (Sandbox Code Playgroud)
奇怪的是,第一个命令只报告gulpfile.js,而第二个命令什么都不报告。但是我有.js文件app,components和node_modules! 他们为什么不出现?
我正在尝试各种 Linux 安装方式(从 iso、flash、iso on flash、kernel on flash、root FS in iso-file on flash...)并想了解发生了什么。
我的问题是:是否有可能,根据发行版(vmlinuz 和 initrd)中构建的内核和 ramfs 文件,找出他们将在哪里寻找“/”文件系统?是否可以在不重新编译内核的情况下进行配置?
还有一个:当内核从环回设备加载根文件系统时,从 .iso-filesystem 创建,我该如何配置这个过程?谢谢!
编辑: 实际上,GRUB 配置包含 GRUB 根目录,它不是真正的内核根文件系统位置,而只是一个包含 GRUB 物品的文件夹。
真正的根是在init脚本中配置的,initrd如here所述。
这就是 Debian 内核如何在硬盘驱动器上找到 ISO 文件,从它启动时 - initramfs 找到它:http : //www.debian.org/releases/stable/i386/apas02.html.en#howto-getting-images-hard -磁盘; 请注意,GRUB 配置不包含对 ISO location 的任何引用。
我无法从update-alternatives文档中理解优先级系统是如何工作的。
假设我想在其他情况下/usr/bin/node指向nodejsnodejs 应用程序和业余无线电节目,称为node。我不得不说:
update-alternatives --install /usr/bin/node nodejs /usr/bin/nodejs 100 --slave /usr/share/man/...
Run Code Online (Sandbox Code Playgroud)
假设我有 2 个期望/usr/bin/node不同的程序,第一个 - nodejs,第二个 - 业余无线电。他们将如何确定使用哪一个?
优先级在此过程中的作用是什么?
添加:请注意,npmnodejs 包管理器需要调用 nodejs 命令node,因此我必须将 nodejs 安装为node.