problem with deb2tgz in slackware64-14
Hi all. I just installed deb2tgz, and it seemed to install fine. I am trying to use it to install astrill-setup-linux64.deb by:
Quote:
Quote:
Quote:
Quote:
|
You can try this:
Code:
makepkg /tmp/astrill-setup-linux64.tgz |
I presume you are downloading astrill-setup-linux64.deb? If so, wow, what a crappy package.
A quick inspection of the package contents leads me to believe you could probably do the following (as root) to make a "quick and dirty" but usable package: Code:
# mkdir -p astrill-staging/install |
I'm assuming that astrill-setup-linux64.deb is in the directory where you start executing the above commands.
|
when I double click the tgz which I make with deb2pkg, and executable falls out and it actually runs, so I know its not an issue about 32 vs 64 bit. I will try out ruario's suggestion. Let you know -- thx
|
I finally got astrill installed in root, and it works and everything is fine in root, but when I change to user, astrill is not even there? When I try to install it in user, the exact same way I did in root, it wont work -- neither the desktop or the executable? I would prefer not to have installed it again in the user, but I did that jsu tto see what woul happen. I would really like to just install things as root, and have them all be visible from the user account. Is this possible?
|
Jostber. I just undid my preious install and tried your suggestion. It actually worked. During the install it asked me if I wanted 755 permissions for the directory and I said yes, and it finished installing. But I still cannot run it in user account, it only will run in root.
|
Edit: Don't run 'asproxy --init' as it is retarded. I just ran an strace on it and have seen what it does. I'll be back with a better solution in a few moments
|
Ok, I looked at the post install of the deb package and it runs '/usr/local/Astrill/asproxy --init'. Checking what this does via strace I see that it does three things:
1. It sets up various symlinks to liblsp.so and liblsp64.so in locations where Debian/Ubuntu would expect to find libs (which does not make sense on Slackware). 2. It sets the 'asproxy' setuid root 3. It adds a broken (on Slackware at least) path to /etc/ld.so.preload Rather than do all that remove the Astrill package you have installed and create a new one with this SlackBuild I just knocked up: Code:
#!/bin/sh P.S. I have not used Astrill, since I do not have an account. I just thought I would try and help you out with this one. Just a tip for the future, always read the post install scripts of deb or rpm packages you convert to see what they do. If you can it is always better to make a SlackBuild rather than do automatic conversion. |
I just noticed that the above SlackBuild will create a package with a version number of 2.7.0.0, while the astrill.com states that 2.9 is the latest version. I wouldn't worry about this. I read the version from the 'prodver' file within the package, which it would seem that Astrill are simply not updating (I did an md5sum on the main binary in the .sh package and checked it is the same as that in the .deb package [and it is]).
If the incorrect version number really bothers you, run the SlackBuild as: Code:
VERSION=2.9 ./astrill.SlackBuild |
Just getting back from moving, now I can try this out. Ruario, thx-a-million for that. Now you are really going to think I am a pain -- I cannot figure out what to do with this script. I am reading about slackbuild an it seems I should first make a directory /home/user/build and then go to that directory and that is where I can save the script you gave me as .SlackBuild file? Then put the astrill .tgz file there and run your script? To comment on your p.s., I do have my reasons for sticking with astrill for now, though later I may be able to switch. Once I install linux on any system, installing a vpn is always the immediate next step since in china I can reach few repositories or mirrors without vpn. So I cannot download anything or test slackbuild on anything else until I do have that vpn. Anyway. It seems not too difficult to do this slackbuild thing. Could someone maybe point me to a good source for learning exactly what to do for a slackbuild? Also, how do I need to edit that /etc.ld.so file? And do yo ujust mean I need to add the file liblsp64.so to the directory /usr/lib64?
|
OK. So I unistalled astrill, then put a copy of liblsp64.so in /usr/lib64 and I saved the script that ruario gave me in the directory /home/samarkand/build along with the .tgz. Then I ran the slackbuild script:
Quote:
|
SlackBuilds are scripts for creating packages. They are not packages themselves. Firstly grab the file www.astrill.com/downloads/astrill-setup-linux64.sh. Since it is crucial that you have this package downloaded correctly you might want to double check its md5sum. Run the command 'md5sum astrill-setup-linux64.sh' and it should print back '509e0d5b082b93a69844c43fd357dc4a astrill-setup-linux64.sh'. If you have this file successfully downloaded, put in in the same directory as 'astrill.SlackBuild' on your Slackware machine (this must be done on an Slackware install, not some other Linux install you have). Now open a terminal and switch to the directory that has these two files saves and run ./astrill.SlackBuild as root. When it is done you it should say:
Code:
Slackware package /tmp/astrill-2.7.0.0-x86_64-1ro.tgz created. Code:
upgradepkg --install-new --reinstall /tmp/astrill-2.7.0.0-x86_64-1ro.tgz It should print the following on screen: Code:
Verifying package astrill-2.7.0.0-x86_64-1ro.tgz. Code:
echo "/usr/lib64/liblsp64.so" >> /etc/ld.so.preload Code:
/usr/lib64/liblsp64.so With this all done you should then be able to run Astrill as a regular user. Good Luck! |
Hi ruario. I am almost done. I have done everything except create the file /etc/ld.so.preload and adding that line -- everything went as you said it should. I get the impression I should be careful here. I want to be more clear. Can I just save a blank text document there with that name and then add the line with the echo statement? How to create the file?
|
Oh. OK. It seems I can just run that echo command and it does the creating as well...
|
So I did that exactly like ruario said and it went exactly like they said it should, but the problem persists. Root works -- not user. However, I do get this message when I try running from terminal:
Quote:
|
hegira, you didn't do the last command correctly, I said:
Code:
echo "/usr/lib64/liblsp64.so" >> /etc/ld.so.preload Code:
echo "usr/lib64/liblsp64.so" >> /etc/ld.so.preload Run 'cat /etc/ld.so.preload'. If (and only if) it is only one line long, you can issue the following as root to fix it: Code:
echo "/usr/lib64/liblsp64.so" > /etc/ld.so.preload |
hegira, after you have corrected the above mistake, try rebooting (I want to make sure that any extra Astrill process are shutdown). Then do your first test as a regular user, not as root.
Also try test by running astrill from the terminal, not using the desktop shortcut. If you continue to have problems please give me the output of the following commands: Code:
find /usr/local/Astrill Code:
which astrill Code:
find / -iname Astrill.desktop 2>/dev/null |
By the way, the reason for running the above commands is I am checking for any remnants of extra installs of Astrill that might still be present and messing up your result.
|
$%#&! Of course I have to make a typo on the instructions which you warned me that I only get one chance! I really feel stupid. Any how -- I'm not surprised that you're slackbuild works fine! Luckily the cat statement did give me back only one line -- so I edited it and now its working! I want to learn how to make slackbuilds. Quick question: Is the language you wrote that script in called bash? If yes, can you recommend a good resource for learning bash for beginners like me?
|
I have been observing from the sidelines tonight - congtatulations on getting it working and many thanks to ruario for his extra effort making and testing the Slackbuild script, and his excellent troubleshooting skills!
It is actually called "shell scripting" (i.e., it is not a language called bash), bash is one popular shell, but that is a trivial side-note that you will pick up. The standard guide I think is the Advanced Bash Scripting Guide, also avaliable in pdf. |
Quote:
Quote:
Quote:
Quote:
|
Quote:
I also just found this whilst searching http://en.wikibooks.org/wiki/Bash_Shell_Scripting but again I admit I have not used it myself and only given it a cursory glance. Looks like it has potential though. |
If you are like me and prefer printed reference books, the one I have on my shelf is Classic Shell Scripting. Highly recommended.
You should also look at man page... Code:
man bash |
OK. Yeah. I spoke a little too soon. It the gui comes up and it lets me sign in with email and passwd, and even lets me choose geographical location fo secure network and really acts like it is working. But acually, I don't get any sites that are blocked (I should get those if it is working), e.g. youtube, thepiratebay, ... Also, when I start from the terminal I get:
Quote:
|
I went back to root to try to start it up. In root it let me install the firefox add-on needed to use the vpn. I tried the vpn and it worked fine -- I got all of the blocked sites. Then I went back to user to see if I could install the add-on in firefox there, and now it says I have no internet. Even though it shows my wireless is connected, it does not let me get even the sites here that are not blocked, it just says cannot connect to server no matter where I try to go.
|
Quote:
|
Just an update. For some reason when I install as above, it still does not work in user, and crashes on reboot. I get a message saying kernel panic an dsomething about attempted to kill init or something like that and there many codes consisting of lots of fs and then some numbers. Anyhow, I reinstalled slackware64 14 and then tried to install astrill (the command line version): https://www.astrill.com/downloads/as....sh?mirror=usa and just tried to install from command line, and the same thing happened. On reboot, it says kernel panic, and crashes. So frustrating!
|
Quote:
Quote:
The other errors however are potentially serious and given the fact that you cannot access sites you should be able to access, your VPN clearly is not working. However I don't think this is a packaging issue, not least because I see in your later post that you have tried with a clean install and run the install script directly. Quick summary, from searching around on the internet it would seem that the only people that have this reliably working are those using older Ubuntu releases. This leads me to believe that the app was only built and tested there. I do not fancy your chances of ever getting this working well, under Slackware. That all said, given that Astrill supports using other Openvpn software I would go down that route. The Astrill application would appear to be broken, in multiple ways, certainly its packaging is. Final thought, reinstall Slackware again. By running the install script directly you have corrupted your install with various symlinks and entries in files like /etc/ld.so.preload which may cause you problems later down the line. |
@hegira: This is the page that tells you how to configure OpenVPN for Astrill, via the command line application 'openvpn'. A full Slackware 14.0 install includes this package. The only change I would make to the instructions on the Astrill configuration page is to switch to root in your terminal ("su -") rather than preface the command with sudo (because sudo is not preconfigured on Slackware).
If you want a graphical solution your could try installing NetworkManager-openvpn from SlackBuilds.org (just make sure to read the SlackBuild Usage HOWTO if you have never used SlackBuilds.org before). Once installed, generate and download the Astrill .ovpn files as per their guide (linked above) then do the following: 1. Open Network Manager's Network settings 2. Add a new connection using the + button at the bottom left of the left pane. 3. A Dialog will appear, choose VPN as the type of connection, and click create. 4. Another dialog will appear, choose Import Saved VPN Configuration and click create. 5. In the file chooser that appears, choose your .ovpn file. Note: I have not tested the above. These are just the directions I found whilst searching on Google. If they don't work for you try some further searches of your own. ;) |
Quote:
I must admit I never use either. I manually inspect the package description, dependencies and the install/removal scripts, e.g. RPM: Code:
$ rpm -qip example-1.0-1.x86_64.rpm Code:
$ bsdtar xOf example_1.0_amd64.deb control.tar.gz | tar x Then I unpack the files: RPM: Code:
$ bsdtar xf example-1.0-1.x86_64.rpm Code:
$ bsdtar xOf example_1.0_amd64.deb data.tar.* | tar x |
Quote:
Also sorry to see that this did not work out in the end. After reviewing this thread again today, and thanks again to the excellent research by ruario, I would have to agree with his conclusion that you would be much better served to try to set up OpenVPN as your client. The Astrill code seems to be in need of much more work than simply setting it up to work on Slackware, and debugging or rewriting it is simply beyound the scope of waht you or any of us can realistically do! Good luck! |
All times are GMT -5. The time now is 08:21 AM. |