Install necessary packages in AlmaLinux without internet - offline

I have an AlmaLinux machine without internet and need to update it offline, is there any way to do that?
Thanks
I need to get a list of all updates and download them, then move it to the target system.

Related

How can you find out Azure-pipeline image content?

I'm new to Azure-Pipeline and struggling to put together a C++ oriented pipeline that uses camke which properly compiles, run tests and build documentation on Ubuntu, macOS, and Windows.
I managed the macOS and Ubuntu cases rather easily but am struggling with the Windows case not knowing what's installed and what's in system PATH for the given image & container I've selected.
Not being super familiar with the Azure-Platform I'm basically relying on commit-push-run-pipeline every single little change to my YAML file thus wasting time and resources.
I can't imagine that the only way is to blindly try out commands by commit, push and run the pipeline.
I managed to find a basic description of the currently (hopefully) available images here following the included software link for Windows link yoou end up on a comprehensive list of what's supposedly installed (I have some doubts on whether this documentation actually matches the content of the image). Calling some of those tools like cmake and choco, present in the above list, failed. Whether or not they're actually installed and in system PATH I have no idea.
Q1: Is there any way to locally test out an Azure-Pipeline YAML?
Q2: Is there any way to figure what is actually installed on a given image/container (without issuing a DIR /s from the root folder??)
Q3: Is it possible to connect to a running container (or is it a VM???) instance and directly tinker with it?
Q4: Alternatively, is it possible to run such an image locally (Docker)? Does it imply execution on a Windows machine or is that a standalone VM image?
EDIT: Found out about this question, although doesn't quite answer mine: Is there a tool to validate an Azure DevOps Pipeline locally?
Q1: Is there any way to locally test out an Azure-Pipeline YAML?
The answer is yes. You could create your private agent to execute the Azure-Pipeline YAML.
Self-hosted agents
Q2: Is there any way to figure what is actually installed on a given
image/container (without issuing a DIR /s from the root folder??)
Just as you know, we could check the document Software for the software installed on the agent. If you want to know the install the path of some software, you could check the debug log from the build task. For example, cmake. We could check the build log from the cmake task:
Q3: Is it possible to connect to a running container (or is it a
VM???) instance and directly tinker with it?
For the hosted agent, I am afraid the answer is not.
Q4: Alternatively, is it possible to run such an image locally
(Docker)? Does it imply execution on a Windows machine or is that a
standalone VM image?
The answer is yes, we could Run a self-hosted agent in Docker. And it imply execution on a Windows machine.

Remove Machines from VMware Horizon View with PowerCLI

We often add and remove machines from a manual Desktop Pool on our Horizon server. Registering the machine is done with an install script. When we're done with a machine we want to un-register it from the server. The only way we have found to do this is to log into the web portal and manually delete each one. This is cumbersome and time-consuming when we have large numbers of machines to un-register.
The machines that will need to be un-registered will have similar names. Is there a way to automate this with PowerCLI?
Of course you can,
$VM = Get-VM -Name nameOfVM
Remove-VM $VM
Full example you can find here
Not sure if you had this question answered already, but there are a couple of ways that you can do this, depending on the version of PowerCLI that you have installed. The easiest way right now is to get the latest version of PowerCLI and make sure that you install the View module along with it. From here, peruse through the View API (https://code.vmware.com/web/dp/explorer-apis?id=58)
VMware also has a helper PSM1 script in their Example gallery, which is available via github: https://github.com/vmware/PowerCLI-Example-Scripts/tree/master/Modules/VMware.Hv.Helper

How to configure VS 2017 offline installer/layout so that it doesn't need an internet connection at all?

I was able to create an offline installer with a command line like:
vs_enterprise__873301792.1489161815.exe --layout %CD%\vs2017offline --lang en-US
I got about 20 GB out of this (1901 files).
but, as it is already known, the Visual Studio installer needs an internet connection at least to initialize, even with such an offline layout.
(But it doesn't need to download the packages already existing in the layout/image, so it saves really download volume.)
In the MS web documentation for VS more parameters are mentioned:
https://learn.microsoft.com/en-us/visualstudio/install/use-command-line-parameters-to-install-visual-studio
AFAIK, nobody figured out how to use them to guarantee really an offline install without internet connection (it seems quite likely to me that channel and/or catalog have to be redirected for hindering VS installer to go online).
Has anyone?
Here are the parameters, which I mean:
--channelId Optional: The ID of the channel for the instance that will be installed. This is required for the install command, ignored for other commands if --installPath is specified.
--channelUri Optional: The URI of the channel manifest. This can be used for the install command; it is ignored for other commands.
--installChannelUri Optional: The URI of the channel manifest to use for the installation. The URI specified by --channelUri (which must be specified when --installChannelUri is specified) will be used to detect updates. If updates are not desired, --channelUri must be specified without an argument. This can be used for the install command; it is ignored for other commands.
--installCatalogUri Optional: The URI of the catalog manifest to use for the installation. If specified, the channel manager will attempt to download the catalog manifest from this URI before using the URI in the install channel manifest. This parameter is used to support offline install, where the layout cache will be created with the product catalog already downloaded. This can be used for the install command; it is ignored for other commands.
In the layout directory, there exist files like catalog.json, channelmanifest.json, response.json, vs_installer_version.json among others. Any idea?
You don't need to do anything special for the offline installer to work without any Internet connection. Even though channelURI in <offline folder>\Response.json points online, it will not try to update the component list or something each time, you need to explicitly request an update for that.
The only thing you need to make sure is to select a language that you have downloaded files for on the "Language packs" tab when selecting components -- otherwise, it will try to download the missing bits.
The installer will still try to access the Net
to post telemetry to https://dc.services.visualstudio.com/v2/track and https://vortex.data.microsoft.com/collect/v1 from Microsoft.VisualStudio.Telemetry.Net35.dll that's a part of the installer
to retrieve CRLs for relevant signing certificates from https://crl.microsoft.com
but both are optional, the installer won't fail it it can't do either -- I've just successfully installed stuff with a disabled network connection.
For an offline installer to work you need to 'fake' out the installer to make it think there is an Internet connection, but with bad connectivity.
To do this you need to add various addresses to your local 'hosts' file.
See Visual Studio 2017 Enterprise Offline Installation Fails for a list of names to add to your hosts file.
I tried installing certificates, different layout parameters for cache folder but none of them worked. I solved the issue by running vs_setup.exe in the cache folder, instead of running vs_community.exe with parameters.

porting pmwiki-pages to a different server

We have a Website with many pages based on pmwiki.
Now we have to move everything to a different server.
As the system administrators have already made our pages unavailable (without telling us!), we can only access our stuff via sftp.
What is the easiest way to port our pmwiki pages?
Thank You
PmWiki stores all the pages in the wiki.d directory, and you can simply copy the files. If you have any customisations (recipes) you may want to copy them (cookbook, pub and local directories), but you may need to edit the local config to match the new server. Finally, if you have uploads then you'll want to copy them too. You may also choose to copy the PmWiki installation too (unless you want to upgrade).
The PmWiki Backup and Restore page covers the concepts, you can consider it a backup from one server and restore to another.

2 VisualSVNServer instances pointing to same SVN repo?

Would it be possible/safe to run two instances of VisualSVNServer pointing to the same repo?
I've searched around and not had any luck finding anything related specifically to this question. The only reason I ask is because we have a need to enable Windows Authentication/Integration over http, and svn authentication over https. It does not seem to be an option to run both within a single instance of VisualSVNServer.
If not, do you know of alternative solution that would allow for this?
Edit: Received the following answer from VisualSVN Support
Thanks to Subversion design, repositories are ready to be accessed by several server instances simultaneously. We haven't experimented a lot with such configuration, but I think it's possible.
Am I understand properly, that you are going to store your repositories on a network storage and run two VisualSVN Server instances on different machines?
Please take care about the server.pid. file. In the current release, this file is stored in the repositories folder. So there will be a collision between two instances of VisualSVN Server. We are going to fix this problem in the upcoming release.
You can easily relocate the server.pid to another destination by adding the following command to the "C:\Program Files\VisualSVN Server\conf\httpd-custom.conf" file:
[[
PidFile "C:/Tmp/server.pid"
]]"
You can point two VisualSVN Server instances to the same repository if it stored on SMB share without any problems. It's typical configuration for active/active or active/passive cluster setups.
I wouldn't do this because as far as I know, VisualSVN brings its own web server (Apache) and SVN binaries. I would expect locking issues when running two of each on the same repo, if it's possible at all. VisualSVN probably won't install twice at all.
This sounds like a case for separate installation of SVN and Apache and custom configuration. I can't say whether what you want is possible but I would expect it is. It's probably to be fiddly, though - VisualSVN takes away a lot of configuration hassle that you have when doing the setup manually. Questions about that would be appropriate to ask on Serverfault.com.
Apart from VisualSVN, there also are other, also commercial wrappers. Maybe one of them is more flexible in this respect.
Update: Also, check this out: Supporting Multiple Repository Access Methods from the SVN book