我喜欢 Linux & Co. 如何让用户从不同的存储库安装许多软件包。AFAIK,它们还附带源码包,所以你可以自己编译它们。
但是,当您可以自己编译它们时,为什么还要费心“保留/提供”预编译的包呢?保留/提供它们的意图是什么?
是否可以配置Linux,只下载源包并让操作系统完成其余的工作?(就像预编译包安装一样?)
谢谢您的回答。
我已经写了数 的 调试器,所有可以在上色终端会话中所示的源代码的文本。他们都明白,有些终端是深色背景,有些是浅色背景,当然颜色需要根据终端方案而有所不同。
当您的终端与默认背景不匹配时,必须设置为其他方案很烦人,所以我想找到一种方法来自动解决这个问题。建议?(他们都支持选项--highlight={light|dark|plain})
一种简单的机制是关闭环境变量。对于我的壳型材我一直在使用DARK_BACKGROUND_COLOR,但如果已经有某种形式的默认名称的像有是PAGER,EDITOR,SHELL,HOME,等我想利用这一点。
有这样的环境命名约定吗?其他建议?
编辑:根据接受的答案和讨论,我已从使用切换DARK_BACKGROUND_COLOR到COLORFGBG. 值15;0适用于深色背景(技术上为黑底白字),0;15(技术上为白底黑字)适用于浅色背景。
我一直在使用命令/bin/ip:
ip addr add 10.10.10.0 dev eth0
Run Code Online (Sandbox Code Playgroud)
我想查看该ip命令如何工作的源代码。是可用的么?
我搜索了一种对源代码进行 grep 的方法,而不会因为评论而有时误报。例如,如果我在这个 .c 源代码上搜索 foo :
/*
* foo has changed [...] and is now a 2-parameters function
*/
// foo(24)
foo(42, 28);
Run Code Online (Sandbox Code Playgroud)
一个天真的grep会发现 3 次我只想要一个。我在 StackOverflow 上看到过这种方法,但它不能满足我的需求:PHP 在平台上不可用。我也为单行注释找到了这种方式,但它只能解决我的一部分问题。
我需要使用经典的脚本工具(awk、sed、bash、grep 等),并且即使有数千个文件,我也需要它很快。
您现在是否以及如何可以对源代码进行 grep,并且仅对源代码进行 grep?
Into:我喜欢通过阅读资源来学习。但是在许多不同的项目站点上的互联网上搜索它们很累。我很想在一个地方看到包含许多应用程序源的中央可浏览存储库。
man toolname。 是否有任何存储库将大多数工具的来源集中在一个地方?- 就像man持有文档或Linux 交叉参考内核源代码一样。
我的意思是“快速”“按需”检查东西是如何实现的。(是的,我知道 google -> 但我厌倦了日常工作:1. 搜索项目站点 2. 浏览 repo 或更糟 -> 查看它的 repo 3. 完成后删除)
评论:
我已经强调了,我想检查工具:快速、快速、按需。
这意味着:我不想安装带有它的源的整个应用程序只是为了查看它的源。(顺便说一句。网络资源更可取,所以我可以检查多台计算机的来源 - 我没有对所有计算机的管理员)
尝试在 ubuntu 14.04 上使用“lfs”用户执行源命令并得到:
root@linux:~/lfs# su lfs - -c "source ~/.bash_profile"
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
背景信息:我正在关注 LFS 的书,用它制作一个脚本,所以在我用 sudo 执行的脚本中,当它到达这部分时,在创建 lfs 用户和他的 .bashrc 和 .bashprofile 之后,我猜它正在加载它。
echo "info: create 'lfs' group and user..."
groupadd -f lfs
id -u lfs &>/dev/null || useradd -s /bin/bash -g lfs -m -k /dev/null lfs
passwd -d -q lfs
echo "info: make 'lfs' own the 'tools' and 'sources' directories..." …Run Code Online (Sandbox Code Playgroud) 我有一个包含以下文件夹结构的小程序:
- main.sh
- lib/
- clean.sh
- get.sh
- index.sh
- test.sh
Run Code Online (Sandbox Code Playgroud)
每个文件都包含一个我在main.sh.
main.sh:
source lib/*
get_products
clean_products
make_index
test_index
Run Code Online (Sandbox Code Playgroud)
在上面的前两个函数中,后两个函数不起作用。
但是,如果我替换source lib/*为:
source lib/get.sh
source lib/clean.sh
source lib/index.sh
source lib/test.sh
Run Code Online (Sandbox Code Playgroud)
一切都按预期工作。
有谁知道为什么source lib/*不能按预期工作?
鉴于以下来源的barBash 脚本......
echo :$#:"$@":
Run Code Online (Sandbox Code Playgroud)
...以及以下可执行的fooBash 脚本:
echo -n source bar:
source bar
echo -n source bar foo:
source bar foo
function _import {
source "$@"
}
echo -n _import bar:
_import bar
echo -n _import bar foo:
_import bar foo
Run Code Online (Sandbox Code Playgroud)
运行fooBash 脚本时,我得到以下输出,即./foo:
source bar::0::
source bar foo::1:foo:
_import bar::1:bar:
_import bar foo::1:foo:
Run Code Online (Sandbox Code Playgroud)
以下是我的问题:
source从_import函数中调用 Bash 的命令而不是直接调用时,为什么会有所不同?source命令的行为?我在 Fedora 版本 20 上使用 Bash 版本 4.2.47(1)-release。
在 Debian 中,AFAIK 一些包在 Subversion(著名的 team-pkg-gnome)中维护,而一些在 git 中维护,而另一些在其他一些 VCS 中维护。
有没有办法知道包的来源在哪里而不做apt-get source $PACKAGENAME?
我尝试了三种方法,但都失败了:-
$apt show $PACKAGENAME
$aptitude show $PACKAGENAME
$apt-cache show $PACKAGENAME
Run Code Online (Sandbox Code Playgroud)
以上均无法提供/共享此信息。
有没有办法获取信息。我需要知道源代码库。名称以及它是否在 git、svn 或其他版本控制中。
我正在测试如果passwdsetuid 位被禁用该命令是否可以运行。我通过运行以下命令禁用了 setuid:
chmod 0554 /bin/passwd
Run Code Online (Sandbox Code Playgroud)
这样做之后,我测试了该passwd命令是否仍然能够运行。但正如预料的那样,事实并非如此。相反,它给了我以下错误:
passwd: Authentication token manipulation error
Run Code Online (Sandbox Code Playgroud)
passwd: password unchanged
Run Code Online (Sandbox Code Playgroud)
我尝试在源代码中查找这些错误消息,但在该文件中找不到它们。谁能指导我找到包含上面显示的错误消息的源文件?