标签: source

什么是内核源代码树?

Linux 内核源代码树是什么?它包含什么以及其目的是什么?

我正在尝试构建一个外部模块,我正在使用的教程说要确保内核源代码树可用。

如果可用,我在 Ubuntu 中哪里可以找到它?

这里有一个类似的问题:

内核源代码树包含什么?这与 Linux 内核头文件有关吗?

但我没有看到我的问题的答案。

如果能澄清这一点就好了。

source ubuntu linux-kernel

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

如何自动更改sources.list中的镜像?

这是我的 sources.list 目前的样子:

deb http://ftp.us.debian.org/debian/ jessie main
deb-src http://ftp.us.debian.org/debian/ jessie main

deb http://security.debian.org/ jessie/updates main contrib
deb-src http://security.debian.org/ jessie/updates main contrib

# jessie-updates, previously known as 'volatile'
deb http://ftp.us.debian.org/debian/ jessie-updates main contrib
deb-src http://ftp.us.debian.org/debian/ jessie-updates main contrib
Run Code Online (Sandbox Code Playgroud)

如您所见,存储库是该US区域的镜像。如何自动将其更改为另一个存储库区域,而无需手动更改 sources.list?

我只知道如何删除旧AU存储库并手动将其更改为其他区域存储库,例如存储库或其他存储库。

我知道我们可以按照以下格式更改 Debian 使用的 repo 区域:

http://ftp.[Region].debian.org/debian/
Run Code Online (Sandbox Code Playgroud)

但是不遵循默认格式的存储库如何:kartolo.sby.datautama.net.id,这是来自 的存储库Indonesia?我如何将其更改为此处列表中的一个?

command-line source debian apt

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

如何临时设置 $PATH 和 . (来源)一个文件?

考虑一下这一点。IFS仅在执行时设置read

IFS='' read -r REPLY
Run Code Online (Sandbox Code Playgroud)

但是,如果我对.source)执行类似操作,即使在执行该代码行之后,变量也会被分配和更改。

PATH="/new_path:${PATH}" . script.sh
echo "$PATH"         # Value changed
Run Code Online (Sandbox Code Playgroud)

为什么会出现这种情况呢?我认为.和 Bash 一样source,是一个类似于reador 的命令echo。有没有任何文档,例如2.14。特殊的内置实用程序,提到这种行为吗?

如何以符合 POSIX 的方式临时设置$PATH.(源)文件?

source path shell-script posix

6
推荐指数
2
解决办法
821
查看次数

'mergemaster' 做了什么而 'make distribution' 没有?

调用make installworld(or make world) 后,在新世界中更新源文件有两种方式:调用mergemaster -pmake distribution。我知道那个mergemaster调用make distribution但是它还有什么作用,为什么我要调用它而不是仅仅调用它make distribution

freebsd source jails

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

什么是“t”文件夹?

我主要是一个 Windows 人,编程 C#,但我经常使用专为 Linux 机器设计的技术,如 git、MySQL、perl 脚本、memcached、php 等......因此我接触到这些工具。

我喜欢每隔一段时间查看这些工具的代码库,我在许多代码库中意识到一个文件夹,t其中包含一堆带有t扩展名的文件。

这些文件是什么?

为什么文件夹没有更具描述性的名称?

source opensource-projects directory-structure

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

在 Debian 上调试的源代码位置?

从 Debian 的DebugPackage,我知道在/usr/lib/debug创建两部分可执行文件(即,剥离可执行文件的符号并将它们放在单独的文件中)时,可执行文件的调试信息文件会进入。

但是,符号文件将引用源文件,我看不到源文件应该放在哪里。在 Red Hat/Fedora 上,我知道它们位于/usr/src/debug(根据 Fedora 的Packaging:Debuginfo)。

在 Debian 上,我在哪里放置用于调试的源文件?


一个具体的例子是 Crypto++。我有一个补丁,它GNUMakefile添加了以下内容:

IS_DEBIAN = $(shell uname -a 2>&1 | $(EGREP) -i -c "debian|ubuntu|mint")
...

# https://wiki.debian.org/DebugPackage
ifeq ($(IS_DEBIAN),1)
  DEBUG_SYM_DIR ?= /usr/lib/debug/cryptopp
  DEBUG_SRC_DIR ?= /usr/src/debug/cryptopp
endif
...
Run Code Online (Sandbox Code Playgroud)

然后有一个看起来像这样的符号配方:

symbol symbols:
    $(MKDIR) -p $(DEBUG_SYM_DIR) $(DEBUG_SRC_DIR)
    -objcopy --only-keep-debug cryptest.exe cryptest.exe.debug
    -objcopy --only-keep-debug libcryptopp.so libcryptopp.so.debug
    -strip --strip-debug --strip-unneeded cryptest.exe
    -strip --strip-debug --strip-unneeded libcryptopp.so
    -$(CP) cryptest.exe.debug $(DEBUG_SYM_DIR)/
    -$(CP) libcryptopp.so.debug $(DEBUG_SYM_DIR)/
    -objcopy --add-gnu-debuglink=$(DEBUG_SYM_DIR)/cryptest.exe.debug cryptest.exe …
Run Code Online (Sandbox Code Playgroud)

source debugging debian

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

Systemd bash 内置函数

我有一个应用程序需要使用 commando 源来设置他的环境文件。

[Unit]
Description=Programname
After=syslog.target network.target

[Service]
User=root
ExecStartPre=source /opt/environmentname/bin/activate enviromentname
ExecStart=/var/programname/programname -f /etc/programname/programconfig.conf

[Install]
WantedBy=multi-user.target  
Run Code Online (Sandbox Code Playgroud)

现在,Systemd 抱怨 source 因为这不是绝对路径而且 source 是 bash 的内置所以我试过了

ExecStartPre=/bin/bash -c "source /opt/environmentname/bin/activate enviromentname"
Run Code Online (Sandbox Code Playgroud)

我们使用 source 而不是 chmod +x 运行脚本是因为供应商的要求。

那么有没有办法让这个工作?或者我们需要使用分叉之类的东西吗?

我们如何在 Systemd 单元文件中正确使用 bash 内置函数?

bash source environment-variables systemd

5
推荐指数
2
解决办法
5884
查看次数

Boost:编译最新源代码还是使用 add-apt-repository?

Boost:编译最新源代码或使用 add-apt-repository

我在一个路口,我应该走哪条路……?

Boost 1.55 是 Raspian Jessie stable 的一部分,安装 Domoticz 时的建议是使用最新的 Boost(通过编译源...),即。现在是 1.61,但“截至 2015 年 12 月 19 日,版本为 1.60。”。

(编辑:按照我的建议,我使用 gcc 4:4.9.2-2 在 Boost 1.55 之上成功构建了 Domoticz(只需要让它有 3 口))。

我可以执行以下操作之一:

a) 忽略下载的源代码(嘿嘿!)并从以下内容开始并留在 apt-get 系统中,但也许仍处于 Boost 的前沿?

(编辑:我在尝试这样做时出错并退缩了。):

sudo add-apt-repository ppa:boost-latest/ppa

etc
Run Code Online (Sandbox Code Playgroud)

b) 在 apt-get 系统之外编译下载的源代码(这似乎是一个坏主意,除非我可以将它与 apt-get 系统重新连接......)

(编辑:除非必要,否则这似乎没有必要!:-p,所以我又退缩了。)

我使用 rpi-clone 对一组 SD 卡进行了适当的备份;)

  • 我有一个 Boost 1.55 删除前的备份(“如果你不删除旧的 Boost 库,你会得到链接错误”)。

  • 我已经下载了 Boost 1.61 并且可以编译它(只需对另一个 SD 卡进行另一个单独的 rpi-clone 备份)......

欢迎任何建议…

我见过这些:

source apt boost

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

从源安装 OpenSSL

我通过以下方式从源代码安装了OpenSSL

wget https://www.openssl.org/source/openssl-1.0.2h.tar.gz
tar -xvzf openssl-1.0.2h.tar.gz
cd openssl-1.0.2h/
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
sudo make
sudo make install
Run Code Online (Sandbox Code Playgroud)

但是当我在命令行上输入 openssl 时,它显示“当前未安装程序‘openssl’”。我该怎么办?

source software-installation openssl

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

可以在没有 root 的情况下在 FreeBSD 中“构建世界”吗?

FreeBSD jail 联机帮助页有关于构建 jail 分发树的说明:

 D=/here/is/the/jail
 cd /usr/src
 mkdir -p $D
 make world DESTDIR=$D
 make distribution DESTDIR=$D
Run Code Online (Sandbox Code Playgroud)

是否可以使用非 root 帐户执行此操作?现在,使用普通用户帐户,我得到:

$ make world DESTDIR=/jails/base/
[Creating objdir /usr/obj/usr/src/amd64.amd64...]
mkdir: /usr/obj/usr: Permission denied
make: "/usr/src/share/mk/auto.obj.mk" line 69: could not use /usr/obj/usr/src/amd64.amd64: .OBJDIR=/usr/src
Run Code Online (Sandbox Code Playgroud)

如果我正在构建一个 jails 目录,我不明白为什么需要 root 权限。是否可以?

freebsd compiling source not-root-user

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