How can I list all installed packages via goinstall? I need this to reinstall all packages installed on one computer to a different computer.
Most answers here are for pre-Go 1.0 which is several years old and the answers are no longer applicable to working Go installations.
The simple answer is go list ... (as with other go sub-commands three literal periods match all packages). That will list every package on the system. See go list -h for other uses of this versatile command.
Dave Cheney also has a related blog article: go list, your Swiss army knife.
There is a list under $GOROOT/goinstall.log
If you want to install all the packages on an different computer just copy the file across and
run,
goinstall -a
and goinstall will read this file and install all packages listed in it.
I'm not sure there's a way to do it through goinstall, but there should be a list under $GOROOT/goinstall.log.
Related
I am curious to know if there are methods where I can add additional packages to the anaconda installer. I am basically looking for a solution for creating an anaconda installer which has some extra python packages added along with it. Thus the participants to whom I give the installer need not be worrying about Internet connectivity or to add additional commands.
This is meant for an introductory hands-on python session. Hence the objective is to make the whole installation process less confusing as possible to the participants of the session.
I am aware of using docker as well as using environments. I am looking for something more simpler, say as seamless as anaconda installation for my participants.
Currently, I am thinking of doing the following.
1) Provide the .tar.gz file of the packages along with the installer
2) After installation and creating environments, install the libraries using pip from the .tar.gz
python -m pip install c:\mymodule\great.tar.gz
Any method which is simpler than the above one is welcome.
From the conda documentation on creating custom channels:
If you do not wish to upload your packages to the Internet, you can
build a custom repository served either through a web server or
locally using a file:// URL.
The instructions on that page tell you how to create a local custom repository from conda packages. They're aimed at people who are building their own packages but as far as I can see you can also use the existing packages that you can download from the repositories at https://repo.continuum.io/pkgs/.
You can then use the file:// URL of that repository in the -c specification of conda create and/or conda install commands to set up the environment for your users to work in.
at work we have a central, read-only, Linux Anaconda installation, and several projects need library packages for their individual project members.
Is there a way to conda install packages in a writable area set aside for each project?
Our Linux servers are also not directly web connected, but we can transfer data from a Windows machine that is. Is there a way for the windows conda to download data for our Linux install in such a way that I can transfer the downloaded files to Linux and then finish the install on Linux , with the conda linux not needing a direct web connection?
Thanks in advance :-)
The best answer to this question is a bit oblique: the Anaconda Distribution is designed for a single user on a single system with unrestricted access to the Internet. Any other use is considered "off label" and YMMV, though there are no license restrictions in place preventing you from trying to use it as you see fit. Anaconda Enterprise is the commercial product that is specifically designed for multi-user, server-deployed Anaconda with firewall restrictions. Security, governance, indemnification, support, collaboration, etc. etc. Check out https://www.continuum.io/ for more details.
But there are "work around" ways to achieve what you want, albeit complicated ones. For it to be reliable, reproducible, and maintainable you're going to end up reimplementing a lot of what is in Anaconda Enterprsie. Here are some tips:
Check out the "conda in multi-user environments" documentation
Check out the "Centralized Anaconda installation" documentation
Regular user alice for project foo can do conda create -p /nfs/project/foo/envs/custompython --offline anaconda; conda activate /nfs/project/foo/envs/custompython; conda install pkg1 pkg2 pkg3
You're going to run into ownership/permission issues. If you have sensible umask values then when alice's colleague bob tries to update pkg2 in the foo project he'll discover that he can't unlink the files alice wrote there. There is stuff you can do (as the IT admin) with chown, or alice can do with chmod, but its all a bit of a bother and there are lots of ways you can paralyze a conda environment because it is expecting "writability" to be binary for a particular environment. There is a long history in the conda GH issue tracker of people (myself included) shooting themselves in the foot by starting a conda env setup with one account and then making mods with another account that bork out half way through, leaving everything inconsistent.
Be careful about .condarc files. My advice: avoid them everywhere but in the base Anaconda installation (say, inside /opt/anaconda/.condarc). All sorts of weird stuff can happen when multiple overlaying .condarc files come together (the docs reference above discusses this).
People can create their own environments in an "offline" mode so long as the packages specified in those new environments (and their dependencies) are a subset of the packages available in the base environment (or subsequently added to the package cache), taking into account versions as well, of course.
You can download packages using your online Windows machine by grabbing them from repo.continuum.io and from anaconda.org. Make sure you download them for the right platform. But the challenge: you need to download a set of packages that will satisfy the dependencies of the package you want to install. There isn't a super easy way to get that information when you're offline.
Once you drop new packages into the Linux system's package cache be sure to re-run conda index.
Beware installing packages directly from their tarballs: this will not pick up any dependencies and does what is called a "force" install. So doing conda install /path/to/conda/pkg-ver.tar.bz2 is actually most similar to doing conda install --force --no-deps pkg=ver (though not identical, to be sure). --force means the install will happen NO MATTER WHAT, even if it will break your environment (violate existing package dependencies), and --no-deps means you won't get any of the dependencies of pkg installed.
I need to know the direct download url for KB 2670838 for my installer. I could ask for the question of "where is it?" but rather I would like to know "how are people finding it?"
There are questions such as this or this where people know exactly where the download links are rather than support.microsoft.com redirect urls.
May I ask for your wisdom?
For updates that would be installed with the Windows Update mechanism, you can write code to check for a specific update and install it, as here:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa387101(v=vs.85).aspx
Runtimes like the C++ runtimes are often distributed with install packages and installed as prerequisites. IMO it's a waste of time (and unreliable) to try to find out if a specific version is installed - just run the redistributable exe for the one you need and it will do the right checks and install if necessary.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I'm struggling to understand how Bash works (I'm using Mac OS X Lion).
I use the terminal for things like Git Version Control and SSH'ing onto our servers and doing basic interactions like that. But I don't really understand Bash scripts and the whole unix set-up past that.
So when I need to install software and it asks me to set environment variables (and PATH variables like $PATH e.g. export PATH=/usr/local/bin) or add paths to a file like /usr/local/bin/:usr/bin/:$PATH - I just have no idea of what I'm doing or more importantly "why" - it is just really confusing to me.
For example, why is there a /usr/local/bin/ and a /usr/bin/ (one local and one not?) and why does some software get installed in one and not the other?
And what about files like .bashrc, .profile and .bash_profile - I understand that .bashrc is executed when a shell starts up and it checks the paths inside that file for application settings and stuff like that, but why do I not have either .profile and .bash_profile on my work computer, but on my home laptop I have .bash_profile and in some places I've seen articles where people ask the user to set-up a .profile if it doesn't exist? Why not just one file for the shell to go to to look for stuff.
I've got NodeJs installed on my laptop at home and that has a path set-up under .bash_profile. I've recently tried installing rvm so I can try out some Ruby programming (I needed rvm so I could upgrade to the latest version of Ruby) but that has settings inside .bashrc such as PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting.
Sorry if I'm just repeating myself, but it seems like there just aren't any good articles about this sort of stuff. Articles are either non-existent OR they are over-kill so you never really understand the bits you're interested in (i.e. I don't want to know everything about UNIX just enough to understand these common items that seem to crop up a lot).
Again, this is a bit of a strange question because there isn't a specific thing I want to know, just the common stuff that crops us when you need to install software via the Terminal and you're asked to do things like setting paths and variables and choosing locations of where to install stuff (which bin folder to use) and stuff like that, so a general overview of all this would be amazing!
Any help I can get understanding how the above items work and why would be great!
Thanks.
Your questions is rather 'general'. So the best I can think of is point you to definitive resources on the topic [which may or may not satisfy you].
1: The TLDP book Bash Guide for Beginners, especially Chapter 3 on The Bash environment which talks about PATH and the bash configuration files you mentioned.
2: The Filesystem Hierarchy Standard which basically sets out requirements for how a UNIX(like) Operating System's filesystem should be laid out. The section on /usr goes into considerable detail.
And in case those links go down in the future, here is the gist of what they say about your specific questions:
1: PATH is basically an environment variable, which contains a ':' separated list of directories. When you type a command in Bash, Bash will go through the directories (in the order they are listed) listed in PATH to search for an executable file corresponding to the command. You can see the current contents of PATH by executing:
echo $PATH
in your terminal.
2: /usr contains files/packages installed by your distribution. In my case [I use 'Archlinux'], this means packages which get installed when I install Archlinux, or which I can choose to install via the official package manager for Archlinux. In your case, I guess this means stuff that came along with Mac OS X, officially packaged by Apple.
/usr/local is where things get installed when I locally install packages [bypassing the package management system]. e.g. if I want the latest copy of GCC, I download the sources, build it for myself, and then when I execute 'make install' it goes into /usr/local. But the 'official' copy of GCC that comes with Archlinux goes into /usr. And when that official copy gets updated, my own copy in /usr/local is untouched.
So on a freshly installed system [e.g. a spanking new MacBook], /usr/local should be empty. Because the local administrator (you) has installed nothing yet.
Where are the Windows binaries for the command-line version of SVN? Everywhere I search, it has to be some company's fancy client software with an installer.
I'm working on a machine where I don't have administrator account. Just give me the plain command-line binaries, where the hell are they?
The former direct links don't work, but the subversion project now provides several offsite links to Windows binaries:
http://subversion.apache.org/packages.html#windows
I use Slik SVN. It doesn't require a bunch of registration information like the CollabNet one does.
Get the version from Slik SVN, which doesn't require registration, and you should be able to install it anywhere you want (and have permissions).
If you can't run the installer, you could always try extracting the files from it using UniExtract, or possibly Total Commander with the MSI plugin.
You could always use cygwin and install the subversion package during install which would make it accessible in command prompt (with some $PATH changes) but I understand if this doesn't fit your criteria of 'just binaries'.
Edit: I understand why people are downvoting but it was just a last resort suggestion to getting the binaries for subversion. To answer the question 'why install all of cygwin if you just need subversion': I find that originally being a linux app that I'd be more comfortable using subversion in a *nix environment such as cygwin and could consequently leverage GNU utils such as find, grep, bash etc to perform file based operations, which subversion primarily deals with.
I suggested it because of this and I thought it would be the easiest and quickest way to get subversion as the OP had expressed dismay about finding legitimate binaries: a few clicks and you're done. It was a suggestion that was asked for and in my original comment I had the caveat of installing cygwin right there.
I have hust found this: http://alagazam.net/ . This is really the same project as http://sourceforge.net/projects/win32svn/ , which was suggested in another answer.
This is the closest solution to the original, pre-Apache binary. I've been using it without problems for the last two-three years.
http://subversion.tigris.org/
The client-side binaries ship with the source, as well as several other packaged installers.
The Command Line Client from CollabNet, while it does have an installer for windows, all it asks you is where you want to put the files, and then finish. Its just the command line client, like it says, nothing else. Subversion doesn't distribute their own binaries.
The Subversion project does not
officially endorse or maintain any
binary packages of the Subversion
software. However, volunteers have
created binary packages for different
distributions and platforms, and as a
convenience, we maintain a list of
links to them here. If there are any
problems with or questions about the
different binary packages please send
email to the Subversion users mailing
list.
I've successfully downloaded the binaries in a zip file and used them on windows w/o administrator access from here:
http://sourceforge.net/projects/win32svn/
As already suggested, take a look at the official Apache Subversion Binary Packages page.
If you are looking for zipped binaries of the latest Subversion command-line tools, you can get them at http://www.visualsvn.com/downloads/ (!) without any registration.
Portable binaries can also be found at:
http://www.smartsvn.com/download#svn