GVKun编程网logo

如何从Pacman / Yaourtsearch返回包列表(mapparseint返回什么)

9

关于如何从Pacman/Yaourtsearch返回包列表和mapparseint返回什么的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于ArchLinux中的Pacman命令如何使用、A

关于如何从Pacman / Yaourtsearch返回包列表mapparseint返回什么的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Arch Linux 中的 Pacman 命令如何使用、Arch Linux中的Pacman命令如何使用、archlinux yaourt 更新包、com.intellij.psi.search.searches.AnnotatedPackagesSearch的实例源码等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

如何从Pacman / Yaourtsearch返回包列表(mapparseint返回什么)

如何从Pacman / Yaourtsearch返回包列表(mapparseint返回什么)

– – 编辑 – –

将脚本的名称从pacsearch为pacdot 。

显然yaourt -Ssaq做到了这一点,所以这个剧本没有我想象的那么必要。 尽pipe如此,我仍然发现使用pacdot -w在文本文档中打开结果是有帮助的。

– – /编辑 – –

这不是一个问题,但我认为别人可能会发现这个有用的。 有人可能最终在stackoverflow试图find这样的解决scheme。

在Arch Linux上,我一直在找pacman或yaourt寻找自己,希望能得到包名,而不是所有的额外的东西。 例如,我希望能够运行yaourt -Sa $(yaourt -Ssa package) 。 奇怪的是,pacman和yaourt似乎没有这个select(至less我不能说),所以我写了一个python脚本来做到这一点。 如果你愿意,可以复制它。 你可以把它命名为你想要的,但我将它称为pacdot.py 。

pacdot.py package将会像yaourt -Ssa package但只列出包名。

sbt在Linux上不接受-jvm-debug 5005

无法在linux中findsyscall_table_32.S文件

在gdb中加载python支持

在VMware关机前调用“poweroff”后,Linux系统等待90秒

Linux上的Vim以CRLF结尾保存文件

我添加了一些额外的选项:

pacdot.py -o package只会列出官方的Arch版本库的结果,而不是AUR。

pacdot.py -i package会安装所有find的软件包。 如果你曾经想过像yaourt -Sa $(yaourt -Ssa package)那样的运行,那么这个命令就是这样的。

pacdot.py -w package将会:

创build一个名为“the-package-you-searching.txt”的文件,

编写一个示例命令来安装find的软件包,

(yaourt – 所有的结果),

将每个结果写在一个新行上,然后

为您打开文件(使用默认的文本编辑器)。

代码如下:

#!/bin/python3 import argparse import re from subprocess import Popen,PIPE,call from collections import deque desc = ''.join(('Search the official Arch and AUR databases ','and return package names only. ','eg: `pacdot.py arch` will return "arch",','whereas `$ yaourt -Ssa arch` will return ','"community/arch 1.3.5-10',' A modern and remarkable revision control system."' )) parser = argparse.ArgumentParser(description=desc) parser.add_argument('package',help='Package to search with pacman') parser.add_argument('-o','--official',action='store_true',help='Search official repositories only,not the AUR') parser.add_argument('-i','--install',help='Install found packages') parser.add_argument('-w','--write',help='Write to file') #Set args strings. args = parser.parse_args() pkg = args.package official_only = args.official install = args.install write = args.write # Do yaourt search. package_search = Popen(['yaourt','-Ssa','%s' % pkg],stdout=PIPE).communicate() # Put each found package into a list. package_titles_descs = str(package_search[0]).split('\n') # Strip off the packages descriptions. package_titles = [package_titles_descs[i] for i in range(0,len(package_titles_descs),2)] # Remove empty item in list. del(package_titles[-1]) # Make a separate list of the non-aur packages. package_titles_official = deque(package_titles) [package_titles_official.remove(p) for p in package_titles if p.startswith('aur')] # Strip off extra stuff like repository names and version numbers. packages_all = [re.sub('([^/]+)/([^s]+) (.*)',r'2',str(p)) for p in package_titles] packages_official = [re.sub('([^/]+)/([^s]+) (.*)',str(p)) for p in package_titles_official] # Mark the aur packages. # (Not needed,just in case you want to modify this script.) #packages_aur = packages_all[len(packages_official):] # Set target packages to 'all' or 'official repos only' # based on argparse arguments. if official_only: packages = packages_official else: packages = packages_all # Print the good stuff. for p in packages: print(p) if write: # Write results to file. filename = ''.join((pkg,'.txt')) with open(filename,'a') as f: print(''.join(('Yaourt search for "',pkg,'"n')),file=f) print('To install:',file=f) packages_string = ' '.join(packages) print(' '.join(('yaourt -Sa',packages_string)),file=f) print('nPackage list:',file=f) for p in packages: print(p,file=f) # Open file. call(('xdg-open',filename)) if install: # Install packages with yaourt. for p in packages: print(''.join(('n33[1;32m==> ','33[1;37m',p,'33[0m'))) Popen(['yaourt','-Sa','%s' % p]).communicate()

为什么redirect输出会影响bash中testing的结果?

设置networking接口度量

Python找不到mongoengine模块

奇怪的语言环境问题

Linux CLion无法parsing名称空间成员

你刚刚重新发明了车轮。 pacman , packer和yaourt都有-q标志。

例如:

yaourt -Ssq coreutils

结果:

coreutils busyBox-coreutils coreutils-git coreutils-icp coreutils-selinux coreutils-static cv cv-git ecp gnu2busyBox-coreutils gnu2plan9-coreutils gnu2posix2001-coreutils gnu2sysv-coreutils gnu2ucb-coreutils policycoreutils selinux-usr-policycoreutils-old smack-coreutils xml-coreutils

Arch Linux 中的 Pacman 命令如何使用

Arch Linux 中的 Pacman 命令如何使用

高春辉、王春生、朱峰:关于开源创业的 15 件小事

转:

Arch Linux 中的 Pacman 命令如何使用

pacman 包管理器是 Arch Linux 与其他主要发行版(如 Red Hat 和 Ubuntu/Debian)的主要区别之一。pacman 目的是方便地管理包,不管软件包是来自官方的 Arch 库还是用户自己创建,pacman 都能方便地管理。

环境

Archlinux 2020.04

使用 pacman 安装程序包

可以使用 pacman 同时安装一个或者多个程序包

root@archlinux> pacman -S --noconfirm apache

Arch Linux中的Pacman命令如何使用
-S:安装应用程序。
--noconfirm:安装时自动确认安装。

删除程序包

删除程序包,但不删除依赖包:

root@archlinux> pacman -R --noconfirm apache

Arch Linux中的Pacman命令如何使用
删除程序包,并且删除依赖包:

root@archlinux> pacman -Rs apache –noconfirm

Arch Linux中的Pacman命令如何使用

升级 包

Pacman 提供了一种更新 Arch Linux 的简单方法。您只需使用一个命令即可更新所有已安装的程序包。这可能需要一段时间,具体取决于系统的更新程度。

使用 -Syu 选项,可以更新所有已经安装的软件包。

root@archlinux> pacman -Syu

Arch Linux中的Pacman命令如何使用

搜索程序包

搜索本地已经安装的程序包,使用 -Q 选项:

列出所有的程序包

root@archlinux> pacman -Q
acl 2.2.53-2
archlinux-keyring 20200422-1
argon2 20190702-2
attr 2.4.48-2
audit 2.8.5-6
base 2-2
bash 5.0.016-1
bash-completion 2.10-1
bzip2 1.0.8-3
ca-certificates 20181109-3

搜索指定名称的程序包

root@archlinux> pacman -Qs openssh ~
local/openssh 8.2p1-3

Premier connectivity tool for remote login with the SSH protocol

Arch Linux中的Pacman命令如何使用
查询网络源里面是否有某个安装包,可以使用 -Ss 选项:

root@archlinux> pacman -Ss Gnome-Desktop /usr/bin
extra/gnome-desktop 1:3.36.2-1

Library with common API for various GNOME modules

Arch Linux中的Pacman命令如何使用
查询某个文件属于哪个安装包:

root@archlinux> pacman -F /usr/bin/vim ~
usr/bin/vim is owned by extra/gvim 8.2.0510-2
usr/bin/vim is owned by extra/vim 8.2.0510-2
root@archlinux> pacman -F /usr/bin/ifconfig ~
usr/bin/ifconfig is owned by core/net-tools 1.60.20181103git-2

Arch Linux中的Pacman命令如何使用
查询某个程序包包含哪些文件,可以使用 -Ql 选项:

archlinux# pacman -Ql net-tools
net-tools /usr/
net-tools /usr/bin/
net-tools /usr/bin/arp
net-tools /usr/bin/ifconfig
net-tools /usr/bin/ipmaddr
net-tools /usr/bin/iptunnel
net-tools /usr/bin/mii-tool
net-tools /usr/bin/nameif
net-tools /usr/bin/netstat
net-tools /usr/bin/plipconfig
net-tools /usr/bin/rarp
net-tools /usr/bin/route
net-tools /usr/bin/slattach

Arch Linux中的Pacman命令如何使用
查看该程序包所依赖的程序包,可以使用 pactree 查看。需要安装 pacman-contrib 程序包,使用 pactree 以目录树的形式显示依赖包的名称:

archlinux# pactree net-tools
net-tools
└─glibc
├─linux-api-headers provides linux-api-headers>=4.10
├─tzdata
└─filesystem

└─iana-etc

Arch Linux中的Pacman命令如何使用

总结

pacman 包管理器是 Arch Linux 与其他主要发行版(如 Red Hat 和 Ubuntu/Debian)的主要区别之一。pacman 目的是方便地管理包,不管软件包是来自官方的 Arch 库还是用户自己创建,pacman 都能方便地管理。

转:

Arch Linux 中的 Pacman 命令如何使用


--Posted from Rpc

Arch Linux中的Pacman命令如何使用

Arch Linux中的Pacman命令如何使用

pacman包管理器是Arch Linux与其他主要发行版(如Red Hat和Ubuntu/Debian)的主要区别之一。pacman目的是方便地管理包,不管软件包是来自官方的 Arch 库还是用户自己创建,pacman 都能方便地管理。

环境

Archlinux 2020.04

使用pacman安装程序包

可以使用pacman同时安装一个或者多个程序包

root@archlinux> pacman -S --noconfirm apache

Arch Linux中的Pacman命令如何使用Arch Linux中的Pacman命令如何使用
-S:安装应用程序。
--noconfirm:安装时自动确认安装。

删除程序包

删除程序包,但不删除依赖包:

root@archlinux> pacman -R --noconfirm apache

Arch Linux中的Pacman命令如何使用Arch Linux中的Pacman命令如何使用
删除程序包,并且删除依赖包:

root@archlinux> pacman -Rs apache –noconfirm

Arch Linux中的Pacman命令如何使用Arch Linux中的Pacman命令如何使用

升级 包

Pacman提供了一种更新Arch Linux的简单方法。您只需使用一个命令即可更新所有已安装的程序包。这可能需要一段时间,具体取决于系统的更新程度。

使用-Syu选项,可以更新所有已经安装的软件包。

root@archlinux> pacman -Syu

Arch Linux中的Pacman命令如何使用Arch Linux中的Pacman命令如何使用

搜索程序包

搜索本地已经安装的程序包,使用-Q选项:

列出所有的程序包

root@archlinux> pacman -Q
acl 2.2.53-2
archlinux-keyring 20200422-1
argon2 20190702-2
attr 2.4.48-2
audit 2.8.5-6
base 2-2
bash 5.0.016-1
bash-completion 2.10-1
bzip2 1.0.8-3
ca-certificates 20181109-3

搜索指定名称的程序包

root@archlinux> pacman -Qs openssh ~
local/openssh 8.2p1-3

Premier connectivity tool for remote login with the SSH protocol

Arch Linux中的Pacman命令如何使用Arch Linux中的Pacman命令如何使用
查询网络源里面是否有某个安装包,可以使用-Ss选项:

root@archlinux> pacman -Ss Gnome-Desktop /usr/bin
extra/gnome-desktop 1:3.36.2-1

Library with common API for various GNOME modules

Arch Linux中的Pacman命令如何使用Arch Linux中的Pacman命令如何使用
查询某个文件属于哪个安装包:

root@archlinux> pacman -F /usr/bin/vim ~
usr/bin/vim is owned by extra/gvim 8.2.0510-2
usr/bin/vim is owned by extra/vim 8.2.0510-2
root@archlinux> pacman -F /usr/bin/ifconfig ~
usr/bin/ifconfig is owned by core/net-tools 1.60.20181103git-2

Arch Linux中的Pacman命令如何使用Arch Linux中的Pacman命令如何使用
查询某个程序包包含哪些文件,可以使用-Ql选项:

archlinux# pacman -Ql net-tools
net-tools /usr/
net-tools /usr/bin/
net-tools /usr/bin/arp
net-tools /usr/bin/ifconfig
net-tools /usr/bin/ipmaddr
net-tools /usr/bin/iptunnel
net-tools /usr/bin/mii-tool
net-tools /usr/bin/nameif
net-tools /usr/bin/netstat
net-tools /usr/bin/plipconfig
net-tools /usr/bin/rarp
net-tools /usr/bin/route
net-tools /usr/bin/slattach

Arch Linux中的Pacman命令如何使用Arch Linux中的Pacman命令如何使用
查看该程序包所依赖的程序包,可以使用pactree查看。需要安装pacman-contrib程序包,使用pactree以目录树的形式显示依赖包的名称:

archlinux# pactree net-tools
net-tools
└─glibc
├─linux-api-headers provides linux-api-headers>=4.10
├─tzdata
└─filesystem

└─iana-etc

Arch Linux中的Pacman命令如何使用Arch Linux中的Pacman命令如何使用

总结

pacman包管理器是Arch Linux与其他主要发行版(如Red Hat和Ubuntu/Debian)的主要区别之一。pacman目的是方便地管理包,不管软件包是来自官方的 Arch 库还是用户自己创建,pacman 都能方便地管理。

archlinux yaourt 更新包

archlinux yaourt 更新包

请问 archlinux 系统,如何更新 yaourt 安装的包

比如 google-chrome 用命令查看有新版

yaourt -Ss google-chrome



archlinuxcn/google-chrome 51.0.2704.106-1 [installed]
    An attempt at creating a safer, faster, and more stable browser (Stable Channel)
archlinuxcn/google-chrome-dev 53.0.2785.8-1
    An attempt at creating a safer, faster, and more stable browser (Dev Channel)
aur/google-chrome 52.0.2743.82-1 [installed: 51.0.2704.106-1] (Out of Date) (1323) (33.83)
    An attempt at creating a safer, faster, and more stable browser (Stable Channel)
aur/google-chrome-beta 53.0.2785.34-1 (327) (3.09)
    An attempt at creating a safer, faster, and more stable browser (Beta Channel)
aur/google-chrome-dev 54.0.2810.2-1 (594) (3.32)
    An attempt at creating a safer, faster, and more stable browser (Dev Channel)



yaourt -Syu --aur 
更新没有改变



请问该如何操作?

com.intellij.psi.search.searches.AnnotatedPackagesSearch的实例源码

com.intellij.psi.search.searches.AnnotatedPackagesSearch的实例源码

项目:intellij-ce-playground    文件:Src15RepositoryUseTest.java   
public void testAnnotationIndex() throws Exception {
  getJavaFacade().setAssertOnFileLoadingFilter(new VirtualFileFilter() {
    @Override
    public boolean accept(final VirtualFile file) {
      return !"package-info.java".equals(file.getName());
    }
  },myTestRootdisposable);

  final PsiClass annotationTypeClass = findClass("annotations.AnnotationType");
  assertTrue(annotationTypeClass.isAnnotationType());

  final Collection<PsiMember> all = AnnotatedMembeRSSearch.search(annotationTypeClass,GlobalSearchScope.moduleScope(myModule)).findAll();

  assertEquals(2,all.size());
  Set<String> correctNames = new HashSet<String>(Arrays.asList("AnnotatedClass","correctMethod"));
  for (PsiMember member : all) {
    assertTrue(correctNames.contains(member.getName()));
  }

  final Collection<PsiPackage> packages =
    AnnotatedPackagesSearch.search(annotationTypeClass,GlobalSearchScope.moduleScope(myModule)).findAll();
  assertEquals(1,packages.size());
  assertEquals("annotated",packages.iterator().next().getQualifiedname());

  tearDownLoadingFilter();
}
项目:tools-idea    文件:Src15RepositoryUseTest.java   
public void testAnnotationIndex() throws Exception {
  getJavaFacade().setAssertOnFileLoadingFilter(new VirtualFileFilter() {
    @Override
    public boolean accept(final VirtualFile file) {
      return !"package-info.java".equals(file.getName());
    }
  });

  final PsiClass annotationTypeClass = findClass("annotations.AnnotationType");
  assertTrue(annotationTypeClass.isAnnotationType());

  final Collection<PsiMember> all = AnnotatedMembeRSSearch.search(annotationTypeClass,packages.iterator().next().getQualifiedname());

  tearDownLoadingFilter();
}
项目:consulo-java    文件:Src15RepositoryUseTest.java   
public void testAnnotationIndex() throws Exception {
  getJavaFacade().setAssertOnFileLoadingFilter(new VirtualFileFilter() {
    @Override
    public boolean accept(final VirtualFile file) {
      return !"package-info.java".equals(file.getName());
    }
  },null);

  final PsiClass annotationTypeClass = findClass("annotations.AnnotationType");
  assertTrue(annotationTypeClass.isAnnotationType());

  final Collection<PsiMember> all = AnnotatedMembeRSSearch.search(annotationTypeClass,"correctMethod"));
  for (PsiMember member : all) {
    assertTrue(correctNames.contains(member.getName()));
  }

  final Collection<PsiJavaPackage> packages =
    AnnotatedPackagesSearch.search(annotationTypeClass,packages.iterator().next().getQualifiedname());

  tearDownLoadingFilter();
}
项目:tools-idea    文件:AnnotatedPackagesSearcher.java   
@Override
public boolean execute(@NotNull final AnnotatedPackagesSearch.Parameters p,@NotNull final Processor<PsiPackage> consumer) {
  final PsiClass annClass = p.getAnnotationClass();
  assert annClass.isAnnotationType() : "Annotation type should be passed to annotated packages search";

  final String annotationFQN = annClass.getQualifiedname();
  assert annotationFQN != null;

  final PsiManagerImpl psiManager = (PsiManagerImpl)annClass.getManager();
  final SearchScope useScope = p.getScope();

  final String annotationShortName = annClass.getName();
  assert annotationShortName != null;

  final GlobalSearchScope scope = useScope instanceof GlobalSearchScope ? (GlobalSearchScope)useScope : null;

  final Collection<PsiAnnotation> annotations = JavaAnnotationIndex.getInstance().get(annotationShortName,psiManager.getProject(),scope);
  for (PsiAnnotation annotation : annotations) {
    PsiModifierList modlist = (PsiModifierList)annotation.getParent();
    final PsiElement owner = modlist.getParent();
    if (!(owner instanceof PsiClass)) continue;
    PsiClass candidate = (PsiClass)owner;
    if (!"package-info".equals(candidate.getName())) continue;

    LOG.assertTrue(candidate.isValid());

    final PsiJavaCodeReferenceElement ref = annotation.getNameReferenceElement();
    if (ref == null) continue;

    if (!psiManager.areElementsEquivalent(ref.resolve(),annClass)) continue;
    if (useScope instanceof GlobalSearchScope &&
        !((GlobalSearchScope)useScope).contains(candidate.getContainingFile().getVirtualFile())) {
      continue;
    }
    final String qname = candidate.getQualifiedname();
    if (qname != null && !consumer.process(JavaPsiFacade.getInstance(psiManager.getProject()).findPackage(
      qname.substring(0,qname.lastIndexOf('.'))))) {
      return false;
    }
  }

  PsiSearchHelper helper = PsiSearchHelper.SERVICE.getInstance(psiManager.getProject());
  final GlobalSearchScope infoFilesFilter = new PackageInfoFilesOnly();

  GlobalSearchScope infoFiles =
    useScope instanceof GlobalSearchScope ? ((GlobalSearchScope)useScope).intersectWith(infoFilesFilter) : infoFilesFilter;

  final boolean[] wantmore = new boolean[]{true};
  helper.processAllFilesWithWord(annotationShortName,infoFiles,new Processor<PsiFile>() {
    @Override
    public boolean process(final PsiFile psiFile) {
      PsiPackageStatement stmt = PsiTreeUtil.getChildOfType(psiFile,PsiPackageStatement.class);
      if (stmt == null) return true;

      final PsiModifierList annotations = stmt.getAnnotationList();
      if (annotations == null) return true;
      final PsiAnnotation ann = annotations.findAnnotation(annotationFQN);
      if (ann == null) return true;

      final PsiJavaCodeReferenceElement ref = ann.getNameReferenceElement();
      if (ref == null) return true;

      if (!psiManager.areElementsEquivalent(ref.resolve(),annClass)) return true;

      wantmore[0] = consumer.process(JavaPsiFacade.getInstance(psiManager.getProject()).findPackage(stmt.getPackageName()));
      return wantmore[0];
    }
  },true);

  return wantmore[0];
}
项目:consulo-java    文件:AnnotatedPackagesSearcher.java   
@Override
public boolean execute(@NotNull final AnnotatedPackagesSearch.Parameters p,@NotNull final Processor<PsiJavaPackage> consumer) {
  final PsiClass annClass = p.getAnnotationClass();
  assert annClass.isAnnotationType() : "Annotation type should be passed to annotated packages search";

  final String annotationFQN = annClass.getQualifiedname();
  assert annotationFQN != null;

  final PsiManagerImpl psiManager = (PsiManagerImpl)annClass.getManager();
  final SearchScope useScope = p.getScope();

  final String annotationShortName = annClass.getName();
  assert annotationShortName != null;

  final GlobalSearchScope scope = useScope instanceof GlobalSearchScope ? (GlobalSearchScope)useScope : null;

  final Collection<PsiAnnotation> annotations = JavaAnnotationIndex.getInstance().get(annotationShortName,true);

  return wantmore[0];
}

关于如何从Pacman / Yaourtsearch返回包列表mapparseint返回什么的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Arch Linux 中的 Pacman 命令如何使用、Arch Linux中的Pacman命令如何使用、archlinux yaourt 更新包、com.intellij.psi.search.searches.AnnotatedPackagesSearch的实例源码等相关内容,可以在本站寻找。

本文标签: