小编mic*_*has的帖子

列出命名空间中的所有资源

我想查看命名空间中的所有资源.

这样做kubectl get all的意愿,尽管这个名字,没有列出的东西般的服务和入节点.

如果我知道我可以明确要求该类型的类型,但似乎也没有列出所有可能类型的命令.(特别kubectl get是例如不列出自定义类型).

知道如何在删除该命名空间之前显示所有资源吗?

kubernetes kubectl

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

使用git-filter-branch提取多个目录

我目前包含顶级子文件夹,比如多个项目一个很大的仓库/a,/b,/c,和/d.

现在我想将该存储库拆分为两个不同的存储库:一个包含/a/b另一个包含/c/d.

我知道git filter-branch --subdirectory-filter,这对于提取单个目录是完美的,但它似乎无法一次提取多个目录.

我也知道git filter-branch --prune-empty --tree-filter,这将允许我删除所有内容,但两个想要的目录.这感觉不完全正确,因为我必须手动指定可能存在的所有顶级目录.

有没有更好的方法从大型存储库中提取两个目录?

PS:当然,使用其他东西的任何好的解决方案git filter-branch都很好.;)

git git-svn git-rebase git-filter-branch

23
推荐指数
2
解决办法
8009
查看次数

执行init和fini

我刚刚阅读了ELF文件中的init和fini部分并尝试了一下:

#include <stdio.h>
int main(){
  puts("main");
  return 0;
}

void init(){
  puts("init");
}
void fini(){
  puts("fini");
}
Run Code Online (Sandbox Code Playgroud)

如果我这样做gcc -Wl,-init,init -Wl,-fini,fini foo.c并运行结果,则不会打印"init"部分:

$ ./a.out
main
fini
Run Code Online (Sandbox Code Playgroud)

init部分没有运行,或者它无法以某种方式打印?

是否有关于init/fini的任何"官方"文档?

man ld 说:

 -init=name
     When creating an ELF executable or shared object, call
     NAME when the executable or shared object is loaded, by
     setting DT_INIT to the address of the function.  By
     default, the linker uses "_init" as the function to call.
Run Code Online (Sandbox Code Playgroud)

这不应该意味着,命名init函数就足够了_init吗?(如果我做gcc抱怨多重定义.)

c linux gcc elf

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

你什么时候需要`-tag-name-filter cat`用于`git filter-branch`?

手册页git filter branch说:

use "--tag-name-filter cat" to simply update the tags.
Run Code Online (Sandbox Code Playgroud)

后来甚至说:

use --tag-name-filter cat -- --all
Run Code Online (Sandbox Code Playgroud)

但是--all应该包括--tags,因此所有标签都应该被正确地重写.

一个小测试验证了这一点:

$ git init
$ mkdir dir
$ touch dir/file
$ git add .
$ git commit -am init
$ git ls-files
dir/file
$ git tag tag
$ git for-each-ref
3006eb0a031e40901122ac8984c85ad533982f8b commit refs/heads/master
3006eb0a031e40901122ac8984c85ad533982f8b commit refs/tags/tag
$ git filter-branch --subdirectory-filter dir -- --all
Rewrite 3006eb0a031e40901122ac8984c85ad533982f8b (1/1)
Ref 'refs/heads/master' was rewritten
Ref 'refs/tags/tag' was rewritten
$ git …
Run Code Online (Sandbox Code Playgroud)

git git-filter-branch

18
推荐指数
1
解决办法
7638
查看次数

Ubuntu,删除网络TAP接口

我正在通过程序创建网络接口,以便在模拟网络(NS-3)和真正的Linux主机之间建立桥梁.因此,当"桥接"节点在NS-3中接收数据包时,真正的Linux主机会接收数据包.

但是当我再次运行程序时,它无法"擦除"或删除网络接口,因为"设备或资源正忙".

我试图关闭接口down(ifconfig <myInterface> down),重新启动网络服务(service networking restart),尝试用tunctl(tunctl -d myInterface)删除TAP接口,但即使在几小时后,我仍然无法删除或重用此接口."设备或资源很忙".

你能解释一下如何删除或删除或重用界面吗?

ubuntu networking ns-3 tun

17
推荐指数
2
解决办法
2万
查看次数

将SLF与Java9模块一起使用

我使用java 9模块设置了一个小测试项目.结构如下所示:

.
??? build.gradle
??? src
    ??? main
    ?   ??? java
    ?       ??? module-info.java
    ?       ??? slfTest
    ?           ??? Main.java
    ??? test
        ??? java
            ??? slfTest
                ??? MainTest.java
Run Code Online (Sandbox Code Playgroud)

(随意克隆,看一看自己:git clone https://github.com/michas2/slfTest.git)

Main和Main Test类只记录一些简单的输出:

    Logger logger = LoggerFactory.getLogger(Main.class);
    logger.info("Hello World");
Run Code Online (Sandbox Code Playgroud)

现在gradle run按预期工作,但gradle test给出了ClassCastException.

    $ gradle run -q
    [main] INFO slfTest.Main - Hello World
    $ gradle test -q
    java.lang.ClassCastException: org.slf4j.simple/org.slf4j.simple.SimpleLoggerFactory cannot be cast to org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext
            at org.gradle.internal.logging.slf4j.Slf4jLoggingConfigurer.configure(Slf4jLoggingConfigurer.java:42)
            at org.gradle.internal.logging.config.LoggingSystemAdapter.startCapture(LoggingSystemAdapter.java:54)
            at org.gradle.internal.logging.services.DefaultLoggingManager$StartableLoggingSystem.start(DefaultLoggingManager.java:297)
            at org.gradle.internal.logging.services.DefaultLoggingManager.start(DefaultLoggingManager.java:73) …
Run Code Online (Sandbox Code Playgroud)

java slf4j gradle java-9 java-module

17
推荐指数
1
解决办法
978
查看次数

在Git Bash Terminal上执行.bat文件中的命令

我是Git bash的新手.

只是出于好奇而试图创建一个包含命令的.bat文件(不知道Git Bash是否支持.bat文件)

我想要实现的只是将这个.bat文件拖放到Git Bash终端并执行文件中的命令(是否可能?).

我在.bat文件中的命令

cd "C:\Users\USER\abc\xyz"
cd "C:\Users\USER\abc\xyz\pqr"
export HOME="C:\Users\USER\some_directory"
export HOME2="C:\Program Files\directoy"
Run Code Online (Sandbox Code Playgroud)

git git-bash

15
推荐指数
2
解决办法
3万
查看次数

实现相同方法的两个特征没有错误

根据文档,如果我尝试调用由两个不同特征提供的方法,Rust应该抱怨:

trait Foo {
    fn f(&self);
}

trait Bar {
    fn f(&self);
}

struct Baz;

impl Foo for Baz {
    fn f(&self) { println!("Baz’s impl of Foo"); }
}

impl Bar for Baz {
    fn f(&self) { println!("Baz’s impl of Bar"); }
}

fn main(){
    let b = Baz;
    b.f();
}
Run Code Online (Sandbox Code Playgroud)

运行此操作会导致预期的error: multiple applicable methods in scope错误.

但是我没有得到任何错误:

extern crate mio;
use mio::buf::RingBuf;
use mio::buf::Buf;
use std::io::Read;

fn main() {
    let buf = RingBuf::new(10);
    let bytes …
Run Code Online (Sandbox Code Playgroud)

rust mio

15
推荐指数
1
解决办法
820
查看次数

在Java中实施分层架构

给定一个用Java编写的软件系统,由三层组成,A - > B - > C,即A层使用B层,B使用C层.

我想确保一个层的类只能访问同一层的类或其直接依赖,即B应该能够访问C但不能访问A.另外A应该能够访问B但不能访问C.

有没有简单的方法来执行这样的限制?理想情况下,如果有人试图访问错误图层的类,我希望eclipse立即投诉.

该软件目前使用maven.因此,我尝试将A,B和C放入不同的maven模块并正确声明依赖关系.这样可以防止B访问A,但不会阻止A访问C.

接下来,我尝试将C从依赖项排除到B.这现在也阻止了从A到C的访问.但是现在我不再能够使用copy-dependencies来收集运行时所需的所有传递依赖项.

有没有一种很好的方法可以让我清晰地分离图层,还可以让我收集所有需要的运行时依赖项?

java architecture eclipse dependencies maven

13
推荐指数
1
解决办法
1315
查看次数

如何在git-svn中设置上游分支?

在通常的git存储库上工作时,本地分支通常会跟踪相应的远程上游分支.通过这种方式,我可以很容易地看到,无论我是在我的上游分支的前面还是后面,因此我需要推或拉来使它们同步.此外我的提示立即显示此状态,这非常方便.

现在我正在使用SVN存储库git-svn.我用--prefix=svn的克隆,因此git branch -r列出svn/trunk作为远程分支,但(虽然git svn rebase没有问题作品)它没有被配置为用于我的主分支的上游分支.

我尝试手动设置跟踪信息,但失败了:

$ git branch -r
  svn/trunk
$ git branch --set-upstream-to=svn/trunk
fatal: Cannot setup tracking information; starting point 'svn/trunk' is not a branch.
Run Code Online (Sandbox Code Playgroud)

有没有办法跟踪svn上游分支?

还有其他一些简单的方法可以知道我是领先还是落后于那个分支?(看着gitk --all目前我所知道的唯一方式.)

有没有办法让我的(bash __git_ps1)提示显示信息?


$ git --version
git version 1.9.0.msysgit.0
Run Code Online (Sandbox Code Playgroud)

svn git git-svn msysgit git-bash

12
推荐指数
2
解决办法
3714
查看次数