Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Ohmyzsh
Commits
65393b4b
Commit
65393b4b
authored
Aug 07, 2011
by
Daniel Bolton
Browse files
Extend root ops, switch apt-copy to plain zsh
parent
fac74012
Changes
1
Show whitespace changes
Inline
Side-by-side
plugins/debian/debian.plugin.zsh
View file @
65393b4b
...
...
@@ -4,8 +4,13 @@
#
# Debian-related zsh aliases and functions for zsh
# Set to 'apt-get' or 'aptitude'
apt_pref
=
'aptitude'
# Use aptitude if installed, or apt-get if not.
# You can just set apt_pref='apt-get' to override it.
if
[[
-e
$(
which aptitude
)
]]
;
then
apt_pref
=
'aptitude'
else
apt_pref
=
'apt-get'
fi
# Use sudo by default if it's installed
if
[[
-e
$(
which
sudo
)
]]
;
then
...
...
@@ -13,6 +18,10 @@ if [[ -e $( which sudo ) ]]; then
fi
# Aliases ###################################################################
# These are for more obscure uses of apt-get and aptitude that aren't covered
# below.
alias
ag
=
'apt-get'
alias
at
=
'aptitude'
# Some self-explanatory aliases
alias
acs
=
"apt-cache search"
...
...
@@ -28,19 +37,23 @@ alias afs='apt-file search --regexp'
alias
asrc
=
'apt-get source'
alias
ap
=
'apt-cache policy'
# superuser operations ################
# superuser operations ################
######################################
if
[[
$use_sudo
-eq
1
]]
;
then
alias
ai
=
"sudo
$apt_pref
install"
# commands using sudo #######
alias
aac
=
"sudo
$apt_pref
autoclean"
alias
abd
=
"sudo
$apt_pref
build-dep"
alias
ac
=
"sudo
$apt_pref
clean"
alias
ad
=
"sudo
$apt_pref
update"
alias
adg
=
"sudo
$apt_pref
update && sudo
$apt_pref
upgrade"
alias
adu
=
"sudo
$apt_pref
update && sudo
$apt_pref
dist-upgrade"
alias
afu
=
'sudo apt-file update'
alias
ag
=
"sudo
$apt_pref
upgrade"
alias
a
dg
=
"sudo
$apt_pref
update && sudo
$apt_pref
upgrade
"
alias
a
i
=
"sudo
$apt_pref
install
"
alias
ap
=
"sudo
$apt_pref
purge"
alias
ar
=
"sudo
$apt_pref
remove"
if
[[
$apt_pref
-eq
'apt-get'
]]
;
then
# apt-get only
alias
ads
=
"sudo
$apt_pref
dselect-upgrade"
fi
# Install all .deb files in the current directory.
# Warning: you will need to put the glob in single quotes if you use:
...
...
@@ -48,25 +61,54 @@ if [[ $use_sudo -eq 1 ]]; then
alias
di
=
'sudo dpkg -i ./*.deb'
# Remove ALL kernel images and headers EXCEPT the one in use
alias
kclean
=
'sudo aptitude remove -P ?and(~i~nlinux-(ima|hea) ?not(~n`uname -r`))'
alias
kclean
=
'sudo aptitude remove -P ?and(~i~nlinux-(ima|hea) \
?not(~n`uname -r`))'
# commands using su #########
else
alias
ai
=
'apin'
alias
aac
=
'su -ls "'
"
$apt_pref
"
' autoclean" root'
abd
()
{
cmd
=
"su -lc '
$apt_pref
build-dep
$@
' root"
print
"
$cmd
"
eval
"
$cmd
"
}
alias
ac
=
'su -ls "'
"
$apt_pref
"
' clean" root'
alias
ad
=
'su -lc "'
"
$apt_pref
"
' update" root'
alias
adg
=
'su -lc "'
"
$apt_pref
"
' update && aptitude safe-upgrade" root'
alias
adu
=
'su -lc "'
"
$apt_pref
"
' update && aptitude dist-upgrade" root'
alias
afu
=
'su -lc "apt-file update"'
alias
ag
=
'su -lc "'
"
$apt_pref
"
' safe-upgrade" root'
alias
adg
=
'su -lc "'
"
$apt_pref
"
' update && aptitude safe-upgrade" root'
ai
()
{
cmd
=
"su -lc 'aptitude -P install
$@
' root"
print
"
$cmd
"
eval
"
$cmd
"
}
ap
()
{
cmd
=
"su -lc '
$apt_pref
-P purge
$@
' root"
print
"
$cmd
"
eval
"
$cmd
"
}
ar
()
{
cmd
=
"su -lc '
$apt_pref
-P remove
$@
' root"
print
"
$cmd
"
eval
"
$cmd
"
}
# Install all .deb files in the current directory
# Assumes glob_subst is off
alias
di
=
'su -lc "dpkg -i ./*.deb" root'
# Remove ALL kernel images and headers EXCEPT the one in use
alias
kclean
=
'su -lc '
\'
'aptitude remove -P ?and(~i~nlinux-(ima|hea) ?not(~n`uname -r`))'
\'
' root'
alias
kclean
=
'su -lc '
\'
'aptitude remove -P ?and(~i~nlinux-(ima|hea) \
?not(~n`uname -r`))'
\'
' root'
fi
# end superuser operations ##########
# Misc. #####################################################################
# print all installed packages
alias
allpkgs
=
'aptitude search -F "%p" --disable-columns ~i'
# Create a basic .deb package
alias
mydeb
=
'time dpkg-buildpackage -rfakeroot -us -uc'
...
...
@@ -75,21 +117,17 @@ alias mydeb='time dpkg-buildpackage -rfakeroot -us -uc'
# Functions #################################################################
# install packages without sudo
apin
()
{
cmd
=
"su -lc 'aptitude -P install
$@
' root"
print
"
$cmd
"
eval
"
$cmd
"
}
# create a simple script that can be used to 'duplicate' a system
apt-copy
()
{
print
'#!/bin/sh'
"
\n
"
>
apt-copy.sh
list
=
$(
perl
-m
'AptPkg::Cache'
-e
'$c=AptPkg::Cache->new; for (keys %$c){ push @a, $_ if $c->{$_}->{'
CurrentState
'} eq '
Installed
';} print "$_ " for sort @a;'
)
cmd
=
"
$apt_pref
install -s "
for
p
in
${
(f)
"
$(
aptitude search
-F
"%p"
--disable-columns
\~
i
)
"
}
;
{
cmd
=
"
${
cmd
}
${
p
}
"
}
print
'aptitude install '
"
$list
\n
"
>>
apt-copy.sh
print
$cmd
"
\n
"
>>
apt-copy.sh
chmod
+x apt-copy.sh
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment