Arch which package has file
Wade Wade 1 1 gold badge 2 2 silver badges 10 10 bronze badges. Add a comment. Active Oldest Votes. Improve this answer. VasyaNovikov VasyaNovikov 3, 2 2 gold badges 22 22 silver badges 31 31 bronze badges. Sign up or log in Sign up using Google. Sign up using Facebook. Sign up using Email and Password.
Post as a guest Name. Email Required, but never shown. In cases where all packages and dependencies are wanted, it is recommended to create a temporary blank DB and reference it with --dbpath :. Edit pacman. This is important. Do not just uncomment the one on the bottom. Use the repo-add script included with pacman to generate a database for a personal repository. Use repo-add --help for more details on its usage. A package database is a tar file, optionally compressed.
Valid extensions are. The file does not need to exist, but all parent directories must exist. To add a new package to the database, or to replace the old version of an existing package in the database, run:. The database and the packages do not need to be in the same directory when using repo-add , but keep in mind that when using pacman with that database, they should be together. Storing all the built packages to be included in the repository in one directory also allows to use shell glob expansion to add or update multiple packages at once:.
If you are looking to support multiple architectures then precautions should be taken to prevent errors from occurring. Each architecture should have its own directory tree:. The repo-add executable checks if the package is appropriate. If this is not the case you will be running into error messages similar to this:.
Once the local repository database has been created, add the repository to pacman. An example of a custom repository is in pacman. The repository's name is the database filename with the file extension omitted. In the case of the example above the repository's name would simply be repo. If willing, add the custom repository to the list of unofficial user repositories , so that the community can benefit from it. If you happen to run several Arch boxes on your LAN, you can share packages so that you can greatly decrease your download times.
Keep in mind you should not share between different architectures i. If you are looking for a quick solution, you can simply run a standalone webserver, e. You could also run darkhttpd as a systemd service for convenience. Make sure to keep your mirror updated.
If you are already running a web server for some other purpose, you might wish to reuse that as your local repository server instead of darkhttpd. For example, if you already serve a site with nginx , you can add an nginx server block listening on port Whichever web server you use, remember to open port to local traffic and you probably want to deny anything not local.
For example, if using iptables , add -s Such a configuration is advantageous if this server has installed on it a reasonably comprehensive selection of up-to-date packages which are also used by other boxes. This is useful for maintaining a number of machines at the end of a low bandwidth upstream connection.
Note concerning overlay : The working directory must be an empty directory on the same mounted device as the upper directory. There are Arch-specific tools for automatically discovering other computers on your network offering a package cache. Historically, there was PkgD and multipkg , but they are no longer maintained.
This section shows how to use shfs or SSHFS to share a package cache plus the related library-directories between multiple computers on the same local network. Keep in mind that a network shared cache can be slow depending on the file-system choice, among other factors.
First, install any network-supporting filesystem packages: shfs-utils , sshfs , curlftpfs , samba or nfs-utils. Another approach in a local environment is rsync. Choose a server for caching and enable the Rsync rsync daemon.
On clients synchronize two-way with this share via the rsync protocol. Filenames that contain colons are no problem for the rsync protocol. Draft example for a client, using uname -m within the share name ensures an architecture-dependent sync:. All subsequent requests for that package will be served directly from the local cache, minimizing the amount of internet traffic needed to update a large number of computers.
First update the database:. Since you knew you were looking for an equivalent of apt-file , you could have looked it up in the Pacman Rosetta. Alternatively, you can use pkgfile. Install it with pacman -S pkgfile , then run. This will yield the owning package of the program df at the time of writing, this is coreutils. You can to see more arguments in querying package databases. Sign up to join this community. The best answers are voted up and rise to the top.
Stack Overflow for Teams — Collaborate and share knowledge with a private group. Create a free Team What is Teams? Learn more. In Arch Linux how can I find out which package to install that will contain file X? Ask Question. Asked 10 years, 5 months ago. A test script which uses a clean container or VM and attempts to install the newly-build package, run a pacman --check on it, and optionally run some manually-defined test commands like actually running the software from the package.
Assuming the build and test both complete, a script to update the package in a custom Pacman repository and then push that updated repository to Amazon S3. However, there are three main reasons why I decided against using it: It's relatively complex software. I want this solution to be something low-overhead and with a low barrier to entry, so as many people can benefit from it as possible. For people who haven't used - let alone administered - Jenkins before, it can be a bit intimidating.
While Jenkins has a really good plugin ecosystem, there don't seem to be any for Arch like makepkg or repo-add. I'm not terribly good with Java, so I'm not writing them. Dependency resolution.
While the initial logic is going to be pretty naive, I'd really like to eventually build in working, reasonably complete dependency solving logic. This can include examining the packages installed in the Docker container and the metadata of the packages we're trying to build so we know if dependencies are unmet before we run makepkg and, when we're building a set of interdependent packages, building them in the right order. There doesn't seem to be any sane way to acheive that in Jenkins, except either re-running the jobs over and over again until they succeed or altering the job configuration outside of Jenkins.
There are sme tools for trying to automatically update PKGBUILDs from upstream, as well as aurutils that includes a build script, a recursive depsolving script, and a script to only build packages that have been updated. There's also pkgbuilder that's a Python-based AUR helper. Maybe I can get some information or source code for this stuff? There's a comment on the wiki, "If you need access to the build server, please send me an email at ibiru archlinux. There's also a python3-aur package that provides a client for it.
There's also a similar interface for the official repos here with some docs on it on the wiki.
0コメント